Birlik ilə bir atlama animasiyasını necə birləşdirmək olar

Bu gün Birliyə inteqrasiya etmək istədiyim Blender-də ilk atlama animasiyamı bitirdim. Düşündüm ki, sadəcə "Atlama düyməsini basdığım zaman, atlama cizgi hərəkətə gətirir və bu da budur!" Kimi bir şey etməliyəm. Yaxın da deyil!

Mən bunu etdim və nəticə ... gözlədiyim qədər deyildi.

Əminəm ki, əvvəllər təsvir etdiyim proses bəzi konkret hallarda işləyəcək, amma təəssüf ki, mənim deyil.

Daha uzun bir metoddan keçməli oldum.

Sıçrayışa sürətli bir baxış

Daimi bir atlama üç fərqli mərhələdə bölünə bilər:

  • Keçidin impulsu: xarakterimiz impuls və atlama alarkən.
  • Düşmə mərhələsi: xarakterimiz havada sabit qalmağa çalışdıqda.
  • Eniş mərhələsi: hələ də havada olan xarakterimiz yerə çatmağa hazırlaşanda.

Bir oyunda necə işləyir?

Oyunçu boşluq düyməsini basdıqda (açıqca atlama düyməsidir ), atlama cizgisini tetikler.

Oyunçu havada olduqdan sonra başqa bir animasiya başlayır: yerə çatana qədər uzanan düşmə mərhələsi.

Sonra eniş animasiyası başlayır, lakin bir incəlik ilə: əgər bu animasiya xarakter yalnız yerə çatanda başlayırsa, artıq gecdir! Bu mərhələdə yerə çarpacağımızı bilirik (sadəcə görə biləcəyimiz üçün). Beləliklə, məsafəni asanlıqla qiymətləndirə və havada olarkən zərbəyə hazırlaşa bilərik.

Gəlin atladığımız zaman necə davranacağımızı düşünək! Yerə hit vuracağımızı görəndə özümüzü "zərbəyə" hazırlaşırıq. Biz yer görmə qabiliyyətinə sahib olduğumuz üçün edə bilərik və hazır olduğumuz zaman tez qiymətləndirə bilərik.

Bizim vəziyyətimizdə çatışmayan şey, xarakterimizin yerdən uzaqlığını qiymətləndirmək üçün bir şeydir! Xarakterdən yerə qədər olan bu məsafəni qiymətləndirmək üçün sizə bir üsul açıqlayacağam, amma bunun başqa bir çox yolunun olduğunu unutmayın. Digər oyun motorunda istifadə edilə bilər.

Hiylə, sürət istiqaməti ilə xarakterimizdən bir şüa çəkməkdir. Daha sonra çatmadan əvvəl lazımi vaxtda eniş animasiyasını işə sala biləcəyik! 🥳

Hazırsınız?

Birliklə həyata keçirmək

Birlikdə Raycast adlı bir vasitə var ki, bizə istədiyimizi verəcəkdir.

İki addımda davam edirik:

  • Yerə toxunmadan əvvəl məsafəni təyin etmək üçün sürət istiqamətimizdə bir Raycast göndəririk.
  • Birlikdə y olan şaquli oxdakı sürətimiz mənfi olarsa (yıxıldığımız deməkdir) və yer çox yaxındırsa, eniş animasiyasını işə salırıq.

Mükəmməldir, amma indi oyuna atladığımız zaman, skript vaxtında animasiyalarımızı tetikleyecek. Sonsuzluğa və kənarlara! ️