Unity-мен секіретін анимацияны қалай біріктіруге болады

Бүгін мен Бірлікте біріктіргім келетін Blender-де алғашқы анимациялық фильмімді аяқтадым. Мен «жай секіру түймесін басқанда, секіретін анимацияны іске қосқанда және солай!» Сияқты бір нәрсе жасау керек деп ойладым. Тіпті жақын емес! ️

Мен мұны жасадым, нәтиже мен күткендей болмады.

Мен бұрын сипаттаған процесс кейбір нақты жағдайларда болатынына сенімдімін, бірақ өкінішке орай, менікіндей емес.

Маған ұзағырақ әдіс ұсынуға тура келді.

Жылдамдыққа жылдам қарау

Тұрақты секіруді үш түрлі кезеңге бөлуге болады:

  • Секіру импульсі: кейіпкеріміз импульс пен секіруді қабылдағанда.
  • Құлау кезеңі: кейіпкеріміз ауада тұрақтылықты сақтауға тырысқанда.
  • Қону кезеңі: біздің кейіпкеріміз әлі де ауада, жерге жетуге дайындалып жатқан кезде.

Ойында ол қалай жұмыс істейді?

Ойыншы бос орын басқан кезде (the батырмасы анық), ол секіретін анимацияны бастайды.

Ойыншы ауада болғаннан кейін, тағы бір анимация басталады: ол жерге жеткенше тоқтап қалатын фаза.

Содан кейін қону анимациясы басталады, бірақ нәзіктіктен басталады: егер бұл анимация кейіпкер тек жерге жеткенде басталса, онда кеш! Бұл кезеңде біз жерге ұрылатынымызды білеміз (жай біз оны көре алатындықтан). Осылайша біз қашықтықты оңай бағалай аламыз және ауада болған кезде соққыларға дайын бола аламыз.

Біз секіргенде қалай әрекет ететінімізді ойланайық! Біз жерге hit ұратынымызды көргенде, біз өзімізді «соққыға» дайындаймыз. Біз жерді көре алатындықтан және дайын болуымыз керек болған кезде тез бағалай аламыз.

Біздің жағдайда жетіспейтін нәрсе - бұл біздің кейіпкеріміздің жерден қашықтығын бағалауға болатын нәрсе! Мен кейіпкерден жерге дейінгі қашықтықты бағалаудың бір әдісін ашамын, бірақ мұның басқа да көптеген жолдары бар екенін ескеріңіз. Оны басқа ойын қозғалтқышында қолдануға болады.

Қулық - біздің мінезімізден оның жылдамдығы бағытында сәуле шығару. Содан кейін біз анимациялық анимацияны оған жетер алдында дәл уақытта бастай аламыз! 🥳

Дайынсыз ба?

Бірлікпен іске асыру

Unity-де Raycast атты құрал бар, ол бізге қалағанымызды береді.

Біз екі кезеңмен жүреміз:

  • Жерге тигізбей тұрып қашықтықты анықтау үшін Raycast-ты жылдамдық бағытымен жібереміз.
  • Егер тік ось бойынша жылдамдығымыз Бірлікте y болса, теріс (демек, біз құлап жатырмыз) және жер тым жақын болса, онда біз қону анимациясын бастаймыз.

Бұл өте жақсы, бірақ қазір біз ойынға секірген кезде сценарий анимацияны өз уақытында бастайды. Шексіз шексіздік! ️