2016-03-22 29 views
-1

Bir 2D platform geliştiricisi yapıyorum ve oyun karakterimi GameObject karakterini sahnede başka bir yere taşıdığımda, oyuncum sıkışıp kalıyor ve oyun harika görünüyor. , oyuncuların orjinal konumundan ve onu taşıdığım pozisyondan atlayarak.Unity2D - Oyuncu göreli animasyon konumlandırma

Oyuncu karakterim, her biri ayrı bir GameObject öğesinden oluşur. Sorunun animasyonumda kesinlikle olduğunu biliyorum, çünkü animatör bileşenini devre dışı bırakırsam sorun gider, sadece animasyonlarım artık yok. Problemin oyuncu karakterinin Boşta Animasyonunda ve konum özelliğinde olabileceğine inanıyorum. Başlangıç ​​konumunun sabit kodlanmış olduğu bir senaryo yok.

Çocuğun Gameobject'leri ana oyuncu GameObject öğesine göre nasıl hareket edebilirim? Oyuncunun sahneyi oyundan ayrılmadan orijinal konumundan çıkartamıyorum. İşte

bazı ekran görüntüleri
vardır [Oyuncu ve Hiyerarşi içinde parçalar var] http://i67.tinypic.com/bdlc1j.png
[Boşta Animasyon] http://i64.tinypic.com/2gtp99x.png
dışarı http://i66.tinypic.com/261jb6c.png
[Oyuncu taşındı edilir, oyun hataları [oyuncunun ilk ortaya Yer, burada başlayan çalışır] ] http://i67.tinypic.com/292a2c3.png

+0

Bu garip. Bir şekilde animasyon, "Beetle: Position" u canlandırmaya çalışıyor. Animasyondan "Göğüs: position", "Torso: position" ve "Shell: position" sözcüklerini silmeyi deneyin ve ne olduğunu görün. –

+0

Animasyon ile yeterince oynadıktan sonra, problemin animatörümün bir yerinde ve oyuncu gameObjects parametrelerinde olabileceğini düşünüyorum. 'VSpeed' şamandıra parametresini 'rigidbody2D.velocity.y' sürekli olarak düşürdüğümü fark ettim ve bu yüzden oyuncu karakterimi havada atlama atlama animasyonunda saklıyor, ancak 'topraklanmış' olmadığından hareket edemiyorum. – CodeLook12

cevap

1

Animator bileşeninde "Kök Hareketi Uygula" işaretini devre dışı bırakmayı deneyin. Sorun, animasyonun konum değerlerini değiştirmesi gerçeği ile ilgili olmalıdır.

+0

Yup. Bu işaretlenmemiş. Oyuncum karakterim, güzel ve pürüzsüz bir şekilde hareket edebilir, vücut bölümleri bir arada kalır ve ana ebeveyn gameObject ile birlikte her şey animasyonda hareket etmez, sadece çocuklar. Sadece ana gameObject öğesini sahnede başka bir konuma taşıdığımda hata verir. – CodeLook12

0

Tahminim, editörde dolaşıp bunu kaydederek farklı parçaları canlandırmış olmanızdır. Bu, animasyonun animasyonu yaptığınız orijinal pozisyonu takip ettiğini gösterir. Bu parçaları animasyondan silmeyi deneyin.

+0

Evet Farklı parçaları etrafa taşıdım, ama bu önemli değil çünkü hepsi bir çocuk gameObjects bir ebeveyn gameObject içinde hareket etmiyor çünkü bu üst karakterin kendisi ile birlikte hareket etmiyor. – CodeLook12

0

Oynatıcı karakterini sahnede başka bir konuma taşıdığımda ortaya çıkan spazzy-titreme problemini çözemedim, ancak etrafta bir yol buldum. Sorun, Animator bileşeni ve gameObject'in Rigidbody2d'sinde kesinlikle yalan söyledi.

Oynatıcıyı başka bir konuma taşımak yerine, yerine ilk kez sahneyi oynatırken başlatan ve etrafta serbestçe hareket edebilen 'Spawn Point' yaptım. Oldukça fazla: