Çözüldü Unity'de koşma animasyonundan sonra karakter zıplayınca koşmaya devam etmiyor

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

KendineCoderr

Picopat
Katılım
7 Haziran 2022
Mesajlar
36
Çözümler
1
Daha fazla  
Cinsiyet
Kadın
Unity'de animasyonları sorunsuz bir şekilde ekledim ve çalışıyorlar, idle koymadım çünkü karakterim oyun başlar başlamaz koşmak zorunda bu yüzden de direkt olarak koşma animasyonunu attım ve zıplama animasyonu ile birleştirdim. Koşma animasyonundan sonra karakter zıpladıktan sonra koşma animasyonuna geri dönmüyor; zıplama animasyonunda donmuş gibi ilerliyor. Bu sorunu nasıl çözebilirim?
 
Çözüm
Deneyeceğim
Çözdüm arkadaşlar. Platforma tag verdim ve Yerde olup olmadığına dair sorgulama kodu yazdım. Yerdeyse animasyondan çıkıyor zıpladığında animasyon çalışıyor
İsteyen olursa kodları paylaşabilirim
Animator bölümünden koşmadan zıplamaya bağlantı çek, daha sonra zıplamadan koşmaya bağlantı çek.
 
3D oyun mu yapıyorsunuz yoksa 2D mi?
 
Yere değdiğini tam olarak kontrol edebiliyor muyuz? Yani zemine değince bir problem oluyor mu onu öğrenmeniz gerek. Bir bool değeri oluşturun. Zıplayınca true, yere değince false olsun. Bakalım yere değince false oluyorsa ona göre bir çözüm sunacağım.
 
Karakter kontrolcüsünün fotoğraflarını atar mısınız? Kod üzerinde animasyonu değiştiriyorsanız müdahale ettiğiniz Scripti de atın.
Bu ekranın fotoğrafını atarsanız. Oklara tıklayıp tek tek sağda ne yazdığını da belirtin.
Bunları belirtmeden nerede yanlış yaptığınızı söylemek zor. Kahin değiliz biz sonuçta.

 
Son düzenleme:
Artı -1 Eksi
Animator penceresi animasyon geçişlerini ve hangi animasyonda beklendiğini mavi ışıklar ile gösteriyor. Önce burada zıplamada takılı kaldığını teyit etmenizi tavsiye ederim. Arından koşmaya geri dönmesini sağlayan Zıplama -> Koşma arası geçişin gerçekleşmesini sağlayan koşulların gerçekten sağlandığını garanti altına almanız gerekiyor. Script üzerinde, yere temas ettiğini algılayıp animasyon geçişini sağladığınız kısma (Örneğin animator.SetBool("Jumping", false) gibi) bir print ekleyerek o koşulun gerçekten gerçekleştiğinden emin olabilirsiniz.
 

Animatörde koşu ve zıplama var sadece başka bir şey koymadım. Kodlarda da zıplama kodunun altına parmak pozisyonu 50.0F' pikselde olduğu zaman zıpla dediğim için yukarı kaydırdığımda zıplama kodunu çalıştırıyor ve animasyonu da oynatıyor. Bir else ifadesi kullanıp yani else {
Anim. SetBool("jump", false);

}
Yapsam bile bir işe yaramıyor
 

Dosya Ekleri

  • animator.png
    83,5 KB · Görüntüleme: 105
  • kod.png
    65 KB · Görüntüleme: 87
  • sağok.png
    162 KB · Görüntüleme: 65
  • solok.png
    162,2 KB · Görüntüleme: 93
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…