Учебные материалы для школы программирования. Часть 15

Предыдущие уроки можно найти здесь:

Регдоллы - “физика тряпичных кукол”, основная задача которых - реалистичное падение тел со скелетом. Регдоллы применяются везде - от шутеров (падающие враги) до гонок. Допустим, в “Goat Simulator” регдоллы являются важнои? частью геи?мплея.

Goat Simulator
Goat Simulator

В данном занятии рассмотрены следующие аспекты:

  • работа со стандартным генератором регдоллов;

  • понимание скелета гуманоидных моделеи?;

  • исправление неверно выставленных коллаи?деров на Rigidbidy посредством дополнительных объектов в иерархии.

Порядок выполнения

Создадим новыи? проект и импортируем в него приложенныи? ассет. Ассет содержит стандартную юнити-модель робота Каи?ла, модель лестницы и демо-сцену (но вы можете выбрать любую другую "человекоподобную" модель, и самостоятельно разработать дизайн окружения).

Создадим новую сцену, установим на нее? плеи?н или квад в качестве пола. На пол поставим лестницу, на лестницу - модель робота Каи?ла.

Самое время рассказать о скелете: во время занятия на доске был нарисован один из типов стандартного скелета, с небольшими пояснениями для регдолла - какая кость куда крепится и как используется (лайфхак для педагогов: интегрируйте это занятие в цикл уроков о человеке и его строении).

Перед созданием регдолл-системы необходимо выставить модель в Т-позу. Поворачиваем 2 этих объекта в локальнои? системе координат до нужного угла.

должно быть так:

Далее, нажимаем в окне объектов Create > Ragdoll и конфигурируем его следующим образом:

Жме?м Create и упираемся в одну проблему. Как можно заметить, модель имеет неверные коллаи?деры.

Исправим их размер вручную, кроме того коллайдера, которыи? находится на правои? (от нас) руке. С ним поступим иначе. Это капсула на руке, и еи? нельзя напрямую выставить угол наклона, но можно скопировать этот компонент на пустои? объект, разместить его в пивоте руки и повернуть локально. Капсулу на самои? руке удалим.

После всех этих манипуляции?, модель должна падать корректно, а именно, мягко и естественно.

Готово!