Çok eski bir web tarayıcısı kullanıyorsunuz. Bu veya diğer siteleri görüntülemekte sorunlar yaşayabilirsiniz.. Tarayıcınızı güncellemeli veya alternatif bir tarayıcı kullanmalısınız.
Merhaba karakterimin 2 tane animasyonu var 1 e ve 2 ye farklı play animation montage atadım. Şimdi istediğim şu. Birisi çalışırken diğerinin çalışmamasını istiyorum.
Sorun çok detaysız ve afedersin ama biraz emrivaki. "Böyle olmasını istiyorum, hadi yapın" gibi. Sorunu, daha detaylı bir şekilde oyununun da mekaniklerini açıklayarak anlatırsan eminim daha hızlı yanıt alabilirsin. Ben animasyonlarla hiç ilgilenmediğim için bu soruna cevap veremeyeceğim.
Zaten aynı anda sadece bir tane montage çalışabilir. İkisini aynı anda çalıştırmak için vucudun başka başka yerlerinde özel bir şeyler yapman gerekiyor. Ama senin sorduğun sanırım farklı bir şey.
Character den skeletal mesh e oradan dan anim instance a ulaş. AnimInstance ta IsMontagePlaying diye bir fonksiyon var. Buna istediğin diğer montagı atarsan diğer montage ın çalışıp çalışmadığını öğrenirsin ve bir branch la diğer montagı hiç başlatmayabilirsin. Ayrıca bir de IsAnyMontagePlaying diye de bir şey var. Oda herhangi bir montage oynatılıp oynatılmadığını verir. Bu fonksiyonları kullanarak istediğine ulaşabilirsin.
Gerçi tüm bunları bool kontroller kullanarak ta yapabilirsin.
omer.hatayorda kişi yada şahısa yönelik bisvöylem yok sadece olmasını istedğim şeyi belirttim. Teşekkür ederim yinede
erginegiderKarakter koşarken koşma animasyonu bozulmasın diye animBP içine slot ekledim layered blend per bone varya ondan Spine üstü için çalışıyor anim montage o sebep oluyorsa bilmiyorum. Mesela 1 e bastığımda ilk anim oynarken 2 ye bastığımda ilk anim bitmeden 2. anim oynuyor. Bunu test olarak denedim sadece bunun olmamasını sağlamak istiyorum.
Blend per bone uyguluyorsan meseleye yabancı değilsin demekki. İlk post ta yazdığım gibi 1 ve 2 ye basıldığında direk olarak montage çalışmayacak. Çünkü "play montage" komutları tüm animasyonu override eder. Yani eğer sonra bir node yoksa önceki herşey cancel yapar. Dolayısı ile burada direk anim montage başlatmak yerine bir check uygulayacaksın. Yani bir branch yapacaksın ve IsAnyMontagePlaying ile branch yaparak eğer hiç bir montage o an oynamıyorsa diğerini başlatacaksın. Eğer sadece belirli bir montajı engellemek istiyorsan yine yukarıda yazdığım diğer komutu yani IsMontagePlaying i kullanacaksın. Ona göre 1 ve 2 tuşlarının çalışıp çalışmaması kontrol edilecek.