Статический и анимированный меш, анимация персонажа в Unity. #12

Unity    2018-02-25 22:33:47     тег: Курс по Unity

меш

Прежде чем говорить о мешах, скачайте пакет с персонажем, которого мы впоследствии анимируем. Скачать данный пакет вы можете на сайте vetalkov.com. Если у вас нет возможности использовать данный пакет, вы можете заменить его любым другим подходящим.

После того как вы его скачали, импортируйте его щелкнув правой кнопкой мыши по папке Assets  в разделе Project и выбрав из контекстного меню пункт Import Package - Custom Package. Выберите файл пакета, откройте его и нажмите кнопку Import.

После окончания импорта, вы увидите новые папки и ассеты, которые нужны для правильного функционирования персонажа. Но прежде чем его анимировать поговорим немного о меше. Мешем можно назвать каркас объекта, который придаёт ему форму.

Он может быть анимированный, например у 3D персонажа который двигается, или статический, такой как у камней, посуды, зданий, базовых объектов. Базовые объекты такие как куб, цилиндр, сфера и другие, имеют статический меш с небольшим количеством полигонов.

Эти объекты задействую минимум компьютерной мощности и поэтому идеально подходят для тестирования игр. Давайте посмотрим как выглядит меш у объекта куб. Для этого выберем объект куб и обратим внимание на вкладку Inspector, а именно нас интересует компонент Mesh Filter  и его свойство Mesh.

Меш - это по сути форма объекта, чтобы это наглядно продемонстрировать раскройте свойство Mesh и посмотрите доступные меши.

Выбрав любой другой меш вы увидите как меняется форма объекта куб. Закроем это окно и щелкнем два раза левой кнопкой мыши по этому свойству, для отображения самого меша. Как вы видите он состоит из треугольников, их еще называют полигоны и их количество на данном кубе достаточно мало, что скажется на высокой производительности компьютера при использовании таких низкополигональных объектов в своей игре.

Теперь посмотрим на меш нашего персонажа. Откройте папку Meshes на вкладке Project и перетяните ассет персонажа на вкладку Hierarchy. Используя привязку, о которой я рассказывал в 10 уроке, я выровняю персонажа по верхней поверхности пола.

Теперь кликнем два раза свойство Mesh нашего персонажа и вы увидите на вкладке Project меш который использует данная модель персонажа. Если выбрать данный меш, на вкладке Inspector можно детально его рассмотреть, и как видно количество полигонов в данном меше довольно много. Но на данный момент важно, чтобы вы поняли, что из себя представляет меш.

персонаж dwarf

Анимация персонажа

Теперь самая вкусная часть этого урока - анимирование персонажа. Покажу я ее поверхностно, так как это не является целью данного урока.  Более подробно о анимации я расскажу в последующих уроках, а как импортировать вы уже сейчас можете посмотреть в 7 уроке. Для начала зададим какой тип анимации будет использоваться персонажем.

Для этого выберите на вкладке Project, ассет персонажа а на вкладке Inspector выберите раздел Rig и для свойства Animation Type укажите значение Generic, а для свойства Avatar Definition значение Create From This Model. После чего нажмите кнопку Apply.

Теперь откройте папку Animation на вкладке Project, выберете анимационные клипы удерживая клавишу Ctrl или Shift и также в разделе Rig укажите вышеуказанные значения. После чего еще раз нажмите кнопку Apply. На вкладке Hierarchy выберите персонажа, и в его компоненте Animator, а именно в свойстве Controller укажите контроллер DwarfHero.

Сделайте двойной клик по этому свойству, в результате чего откроется вкладка Animator. Теперь создадим новое состояние, для этого щелкните правой кнопкой мыши в окне Animator и выберите Create State - Empty, в свойстве Motion задайте анимацию которая будет проигрываться, например покоя. Как вы видите сейчас у персонажа проигрывается анимация покоя.

Чтобы использовать другую анимацию, создайте еще одно состояние и назначьте ему другую анимацию например бег. Чтобы связать одну анимацию с другой используйте команду Make Transition. Таким образом можно анимировать персонажа в Unity у которого анимация была заранее подготовлена в соответствующих программах для создания анимации.