Создание игровых персонажей с помощью Blender и Unity
Персонажи в видеоиграх часто запоминаются также сильно, как сопровождающий игровой процесс музыка и графика. В этом уроке вы узнаете, как подготовить модель гуманоида с помощью Blender и как потом перенести ее в Unity.
Визуальное представление персонажей в 3D играх осуществляется с использованием различных моделей, текстур и анимации.
В старых играх персонажи должны были иметь одинаковый скелет для оформления анимации. Таким образом все параметры, такие как рост и пропорции должны были быть для всех одинаковыми. Например, в старых играх FIFA все игроки были одного размера, потому что создание отдельного скелета и набора анимации для каждого по отдельности было бы невыносимо долгим и муторным процессом.
К счастью для современных разработчиков игр, в настоящее время большинство движков используют систему, которая дает возможность повторно использовать анимацию при условии совместимости скелетной иерархии. Таким образом стало возможным использование одинаковой анимацию для персонажей разных форм и размеров. В Unity эта система называется Mecanim. Она позволяет легко настраивать анимацию, смешивать и перенаправлять ее между объектами в игре.
Возможность повторного использования анимации позволит вам приобретать готовую анимацию из различных магазинов, специализирующихся на подобном товаре, таких как, например, mixamo.com. Это экономит вам массу времени!
В этом уроке вы узнаете, как подготовить модель гуманоида с использованием Blender и как перенести ее в Unity. Кроме того, вы узнаете, как:
- Создавать скелет для персонажа и изменять его в зависимости от целей;
- Модифицировать персонажа с помощью дополнительных аксессуаров и предметов;
- Производить экспорт в FBX;
- Импортировать модели из Blender;
- Создавать и настраивать гуманоидный аватар;
- Прикреплять объекты к персонажу;
- Оживлять гуманоида in Unity.
Введение
Прежде чем начать, убедитесь, что у вас соблюдены следующие требования:
- У вас установлена последняя стабильная версия Unity
- У вас установлена последняя стабильная 64-битная версия Blender
- У вас есть минимальные знания в работе редактора Unity. Вы можете посмотреть несколько уроков для начинающих на нашем сайте.
- У вас есть минимальные знания в работе редактора Blender. Вы можете посмотреть несколько уроков для начинающих на нашем сайте.
Скачайте исходные материалы, которые понадобятся вам для работы с этим уроком и откройте папку начального проекта. Вам необходимо перейти в папку Assets ⇒ RW ⇒ Models и открыть CuteCharacter.blend в Blender.
Файл содержит следующие данные:
- Низкополигональную гуманоидную модель персонажа;
- Материал CuteCharacter;
- Ссылку на текстуру CuteBase, находящуюся в той же папке, что и модель.
После открытия файла вы должны увидеть модель персонажа слева:
Обратите внимание, что он отражен на оси X, это значительно облегчит вам весь процесс.
На правой стороне должно быть загружено простое текстурное изображение:
Редактирование персонажа
Вам необходимо создать скелет, который является своего рода каркасом модели. Скелет должен иметь несколько связанных костей, к которым вы можете подключить вершины, поэтому они перемещаются вместе, когда вы меняете положение кости.
Наведите курсор на 3D-вид персонажа, чтобы выделить его и добавьте новый скелет, удерживая Shift и нажав A, чтобы открыть меню Add. Выберите Armature ⇒ Single Bone.
Скелет и его самая первая кость, также известная как «root bone», уже созданы. Пока ваш скелет по-прежнему выбран, найдите флажок «X-Ray» в разделе «Display» на вкладке «Properties» и уберите его.
Посмотрите, теперь стало видно стержень персонажа. Это облегчит создание скелета.
Прежде чем погрузиться в создание структуры, важно понимать, как ее настраивать, чтобы она была совместима с гуманоидным аватаром Unity. Для этого необходимо создать несколько ключевых костей.
Таким образом у персонажа должно быть минимум 15 костей, из них:
- Бедра (корневая кость)
- Нижняя часть позвоночника
- Верхняя часть позвоночника
- Шея
- Голова
- Два плеча
- Два верхних сустава руки
- Два нижних сустава руки
- Два верхних сустава ноги
- Два нижних сустава ноги
Скелет, который вы создадите, включает в себя все вышеперечисленные кости и некоторые дополнительные, чтобы обеспечить лучшую устойчивость при анимации.
Убедитесь, что стержень все еще выбран, и нажмите Tab, чтобы войти в режим редактирования. Выберите корневую кость, щелкнув по ней правой кнопкой мыши.
Примечание: в Blender вы выбираете объекты, щелкая правой кнопкой мыши. Щелчок левой кнопкой мыши меняет положение курсора — маленький желтый кружок с красным и белым кольцом вокруг него. Это приводит к тому, что все новые объекты создаются на новой позиции, что для этого урока совершенно не нужно. Чтобы сбросить положение курсора, вы можете нажать Shift + S, а затем выбрать команду «Cursor to Center».
Откройте вкладку «Bone» справа на панели «Properties», чтобы можно было быстро внести изменения и переименовать корневую кость в «Hips», введя ее в поле имени и нажав клавишу «Enter».
Создание структуры костей
Выберите нижнюю сферу бедренной кости и последовательно нажмите G, Z, 0.5 и Enter, чтобы переместить ее туда, где должен находиться пупок человечка.
Теперь выберите верхнюю сферу и нажмите G, Z, 0.1 и Enter, чтобы немного поднять ее.
Примечание: если вам плохо видно, что вы делаете, вы можете увеличивать и уменьшать масштаб с помощью колеса мышки.
Чтобы получить сразу несколько костей позвоночника, вам нужно разделить кость бедра на три части. Для этого выберите бедренную кость, нажмите W, чтобы открыть меню «Specials», и выберите пункт «Subdivide». По умолчанию, эта опция разделяет кость на две части, поэтому вам необходимо изменить значение Number of Cuts в нижней части панели инструментов слева на 2.
Примечание: если вы не видите ползунок «Number of Cuts», поместите курсор мыши под текст в левом нижнем углу, который читается как «Subdivide Multi», и прокрутите его вверх, чтобы сделать видимым.
После разделения позвоночника новые кости получили названия Hips.001 и Hips.002. Это не самый удобный способ для их обозначения, поэтому лучше их переименовать, используя правую панель Bone. Назовите верхнюю кость Chest, а среднюю — LowerSpine.
Ноги
Далее нужно сформировать кости ног. Дублируйте кость бедра, выбрав ее, затем нажмите Shift + D и щелкните правой кнопкой мыши, чтобы подтвердить действие.
Если вы посмотрите на панель Bone справа, вы увидите кость с названием Hips.001. Переименуйте ее в UpperLeg.L (L означает слева), чтобы было проще понимать, с какой стороны находится кость.
Поверните кость UpperLeg.L по оси Y, нажав последовательно R, Y, 180 и Enter.
Теперь переместите ее в горизонтальное положение, нажав G, X, .23 и Enter, после чего нажмите G, Z, -.2 и Enter, чтобы установить ее вертикально.
Примечание: используемый в примере вид отлично показывает, где находится каждая кость. Вы можете переключиться на его, нажав Z.
Выберите нижнюю сферу (которая несет соединительную функцию) и переместите ее вниз, нажав G, Z, -.3 и Enter.
Нога должна быть разделена таким образом, чтобы она могла сгибаться. Выберите кость Upper Leg.L, нажмите W и выберите Subdivide, чтобы разделить ногу на две части. Таким образом у вас получится две кости ноги. Назовите нижнюю часть LowerLeg.L.
Еще одна важная часть структуры ног — это ступни. Переключитесь на вид сбоку, нажав 3 на цифровой клавиатуре, и нажмите точку (.) На цифровой клавиатуре, чтобы сфокусироваться на нижней части ноги.
Примечание: у вас нет цифровой клавиатуры? Вы можете переключать вид, нажав кнопку «View» в нижней части экрана и выбрав нужное направление.
Немного уменьшите масштаб, чтобы было видно часть голени.
Теперь выберите нижнюю точку и вытяните ее, чтобы сформировать кость стопы, нажав E, Y, -.18 и Enter.
Переименуйте созданную кость в Foot.L, используя панель Bone.
Сейчас самое время сохранить файл. Нажмите CTRL + S и щелкните левой кнопкой мыши на всплывающем имени файла. Не забывайте делать это периодически, Blender как правило работает очень стабильно, но иногда могут происходить сбои.
Вернитесь к виду спереди, нажав 1 на цифровой клавиатуре. Прежде чем перейти к голове, вам нужно соединить ноги с бедром.
Для этого вам нужно выбрать UpperLeg.L и найти раскрывающийся список «Parent» внутри раздела «Relations» на панели «Bone». Нажмите на нее и выберите Hips.
Торс
Выберите точку в верхней части грудной клетки и последовательно нажмите E, Z, .055 и Enter. Таким образом вы создадите шею, назовите ее «Neck» на панели «Bone».
Чтобы добавить кость головы, проверьте выбрана ли верхняя точка стержня и последовательно нажмите E, Z, .95 и Enter.
Назовите эту кость — Head.
Далее нужно создать плечевые кости. Выберите верхнюю точку грудной клетки и нажмите E, X, .08 и Enter, чтобы добавить новую кость. Переместите ее немного вниз, выбрав самый правый разъем и нажмите G, Z, -.09 и Enter.
Назовите эту кость ShoulderConnector.L – она будет соединять грудною клетку с плечом. Просто для справки, все это никоим образом не является анатомически правильным, но в этом нет необходимости.
Снова выберите самый правый разъем и последовательно нажмите E, X, .85 и Enter. Это создает одну большую кость, которую вам будет нужно разделить, чтобы сформировать оставшиеся кости для левой стороны туловища.
Используя вновь созданную кость, нажмите W и выберите Subdivide. Вам нужно изменить количество надрезов в левом нижнем углу = 3, чтобы в итоге у вас получилось четыре отрезка.
Назовите эти кости слева направо следующим образом:
- Shoulder.L
- UpperArm.L
- LowerArm.L
- Hand.L
Посмотрите, визуально кажется, что сейчас эти кости расположены идеально, однако из-за расположения разъема между частями руки (локтя) рука не сможет правильно сгибаться. Нажмите Z, чтобы перейти к просмотру каркаса, и убедитесь в этом сами:
Красная линия указывает, где сейчас находится локтевой сгиб, а белая линия указывает точку изгиба руки на сетке. Чтобы это исправить, выберите LowerArm.L и переместите его вправо, набрав G, X, .09 и Enter.
Следующим шагом будет отражение костей для правой стороны с помощью нескольких нажатий клавиш.
Отзеркаливание
Начиная с версии Blender 2.79, в программу была добавлена новая функция, позволяющая быстро отзеркаливать кости стержня всего за несколько простых шагов. Раньше разработчикам приходилось вручную создавать дубликаты, а также самостоятельно корректировать имена и назначать роль всех костей. Это действительно очень трудоемкий и долгий процесс.
Для начала отмените выбор всех костей, нажав кнопку А, пока не исчезнут оранжевые контуры выделения. Теперь вам нужно выбрать только кости слева (обратите внимание — слева от персонажа, то есть справа от вас). Сделайте это удерживая клавишу Shift и щелкая правой кнопкой мыши по каждому объекту.
Закончив выделение, нажмите W и выберите пункт Symmetrize.
Это все, что вам нужно сделать, чтобы получить идеальную зеркальную копию выбранных костей:
Все созданные кости также будут иметь .R в конце своего имени вместо .L, чтобы было легче понимать их положение. Обязательно сохраните файл перед тем как продолжить.
Процесс Weight Painting
Weight Painting — это процесс связывания костей с трехмерной сеткой. Каждая кость прикрепляется к группе вершин с определенным параметром веса. Вес решает, насколько «тяжело» вершины будут тянуться и толкаться костью.
Выполнение этого вручную займет много времени, так как вам придется прорисовывать вес каждой отдельной кости. К счастью, Blender может автоматизировать этот процесс, определив вес, основываясь на информации о том, насколько близко кости находятся к вершинам.
Нажмите Tab, чтобы переключиться в режим Objec. Сначала выберите модель, затем удерживайте Shift и щелкните правой кнопкой мыши каркас, чтобы выбрать его.
Теперь нажмите сочетание клавиш CTRL + P, чтобы открыть меню «Parent», и выберите пункт «With Automatic Weights», чтобы связать персонажа с каркасом и выполнить автоматическое определение параметров веса.
Обратите внимание, кости теперь связаны с сеткой и это заметно визуально.
Перед тестированием убедитесь, что Pivot Point установлена в режим Median Point, проверив данные, которые находятся на панели внизу:
Измените режим Cursor на Median Point.
Теперь перейдите в режим Pose, выберите нужную вам кость и вращайте ее, нажимая R и используя мышь. Вам нужно проделать такие манипуляции с каждой костью в центре и с левой стороны модели, чтобы проверить, все ли правильно установлено.
Обязательно прокрутите персонажа и внимательно осмотрите его с каждой стороны.
После проверки всех костей, вы скорее всего заметили, что глаза не двигаются вместе с головой и это выглядит немного странно:
Чтобы прикрепить глаза к голове, вам понадобится также использовать дополнительные настройки. Оставьте каркас в режиме Pose и удерживая Shift, щелкните правой кнопкой мыши по голове модели. После этого перейдите в режим Weight Paint:
В этом режиме вы можете сделать выбор, удерживая клавишу CTRL и щелкнув правой кнопкой мыши по нужной кости. Выберите кость головы и поверните ее назад, последовательно нажав R, X, -90 и Enter:
Чтобы прикрепить глаза к голове, вам нужно выбрать кисть «Add» в разделе «Brush», который находится на панели инструментов слева.
Нажмите Z, чтобы войти в режим wireframe, и поверните изображение таким образом, чтобы хотя бы ни один глаз больше не находился перед головой.
Обратите внимание, вес можно определить визуально по цвету на сетке — значения варьируются от 0 (темно-синий) до 1 (ярко-красный). Чтобы проверить результат, смените вид, нажав на цифровой клавиатуре цифру 1 и Alt (или Option) + R, чтобы отменить режим вращения кости головы.
Глаза теперь правильно соединены с головой и не смещаются при движении.
Примечание: Вы можете активировать режим вращения, нажав R еще раз после начала вращения.
Добавление аксессуаров
Аксессуары в этом уроке — это объекты, которые прикреплены к персонажу, но не являются частью его тела. В этом разделе вы узнаете два способа прикрепления объектов: к самой модели и в качестве отдельных многократно используемых объектов, которые соединяются с костью.
Первый предмет — обычная шляпа, а второй — оружие для персонажа.
Прежде чем продолжить, нажмите Z, чтобы выйти из режима wireframe, и нажмите A, а затем Alt (или Option) + R, чтобы отменить режим вращения для всех костей.
Редактирование персонажа
Первый способ добавить больше деталей к вашему персонажу это немного проработать его, но он имеет несколько недостатков. Поскольку вы будете работать над самой моделью, которая является зеркальной, вся добавленная геометрия будет скопирована с левой стороны на правую и наоборот. Это делает невозможным добавление какого-либо предмета только для одной стороны. Нужно понимать, что геометрия является частью конкретной модели, ее также нельзя использовать для других персонажей.
Вы все еще должны находиться в режиме Weight Paint и это очень хорошо, так как после добавления шляпы вам нужно будет скорректировать ее вес. Нажмите Tab, чтобы войти в режим редактирования и переключите режим на Vertex, нажав CTRL + Tab и выбрав Vertex в меню.
Теперь выберите любую вершину в верхней части головы, щелкнув по ней правой кнопкой мыши, если она находится над красной линией (которая представляет собой УФ-шов, используемый для текстурирования). Нажмите CTRL + L, чтобы выбрать все связанные с ней вершины и разделитель UV, в нижней левой панели.
Выберите петлю с гранями внизу, удерживая Shift и Alt (или Option), а затем щелкните правой кнопкой мыши на любом из нижних горизонтальных ребер.
Теперь продублируйте выделенные объекты, нажав Shift + D и Enter. Переместите их вверх, последовательно нажав G, Z и 0,01.
Теперь увеличьте масштаб нажав S, 1.05 и Enter.
Таким образом вы немного отодвинете шляпу от головы.
Шляпа пока что похожа на бесформенный кусок чего-то непонятного. Чтобы придать ей нужную форму выполните следующие действия:
- Выберите только нижний ряд точек «шляпы», нажав A, затем удерживая Alt (или Option) щелкните правой кнопкой мыши по одному из ее нижних краев.
- Последовательно введите S, Z и 0.
- Нажмите E для начала выдавливания и Enter для подтверждения.
- Далее вам нужно нажать S, чтобы начать масштабирование и переместить курсор к модели таким образом, чтобы края оказались как бы внутри головы. Поверните модель, чтобы посмотреть на результат с разных сторон и подтвердите действие клавишей Enter.
Таким образом ваша шляпа приобрела некоторую глубину и объем. Чтобы изменить ее цвет вам нужно создать новую развертку UV. Для этого выберите шляпу и установите для параметра delimiter значение Normal.
Далее нажмите кнопку 1 на цифровой клавиатуре, чтобы переключиться на вид спереди, затем нажмите U, чтобы открыть меню «Unwrap» и выберите пункт «Project From View».
Если вы посмотрите на правую часть окна Blender, где видна текстура, вы заметите, что были добавлено несколько вершин, похожих на часть шляпы:
Вы можете выбрать их все, переместив курсор на текстуру и нажав A. Действия в Blender происходят в зависимости от того, где находится курсор.
Теперь нажмите G и подтвердите действие, нажав Enter. Вам необходимо уменьшить выделенную область до тех пор, пока она не уместится в синей области, делается это при помощи кнопки S и Enter для подтверждения.
Теперь, если вы снова посмотрите на персонажа, то вы заметите, что его шляпа стала синей.
Вы можете редактировать текстуру изображения, используя любой цвет, который вам нравится.
Поместите курсор сзади и немного левее модели и нажмите Tab, чтобы вернуться в режим Weight Paint. Поверните кость головы, чтобы проверить, подключена ли к ней шляпа.
Вершины шляпы находятся настолько близко к кости головы, что они включаются автоматически. Следующим шагом является создание и прикрепление нового отдельного объекта.
Прикрепление объектов
Сейчас вы создадите простенький посох, который будет действовать как оружие для персонажа. Обычно для этого используют меч, топор или волшебную палочку, но создание сложного оружия не входит в план этого урока.
Перейдите в режим Object и нажмите Shift + A, чтобы открыть меню «Add». Выберите Mesh ⇒ Cylinder, чтобы добавить новый объект в виде цилиндра.
Размер цилиндра по умолчанию слишком большой для ваших целей, поэтому вам нужно настроить его параметры. В левом нижнем углу измените значение Radius = 0,04 и Depth = 1,2.
Таким образом цилиндр станет тоньше и короче.
Вам также нужно сделать фигуру более гладкой при помощи кнопки «Smooth» в разделе «Shading» на панели Tool Shelf.
Сейчас у цилиндра еще нет назначенного материала. Чтобы его назначить, откройте вкладку «Material» на панели «Properties» справа и выберите «CuteMaterial» в раскрывающемся списке рядом с кнопкой «New».
Чтобы цилиндр стал коричневым посохом, вам нужно сначала сделать его UV развертку. Нажмите Tab, чтобы войти в режим редактирования, потом нажмите U, чтобы открыть меню «Unwrap» и выберите «Project From View».
Теперь наведите курсор на текстуру справа, нажмите G, чтобы начать перемещение UV, и наведите курсор на коричневое пятно на текстуре. Подтвердите действие с помощью кнопки Enter и уменьшите его, нажав S и переместив мышь, чтобы UV область оказалась внутри.
Теперь посох стал коричневого цвета. Сейчас его положение совсем неправильное, но это вы исправите немного позже.
Откройте вкладку «Constraints» на панели «Properties» и добавьте новое ограничение, щелкнув раскрывающийся список «Add Object Constraint» и выбрав пункт «Child Of».
Ограничения используются для того, чтобы обозначить расположение и масштаб объекта. В данном случае он будет использоваться для привязки цилиндра к кости руки персонажа. Таким образом, если вы создадите анимацию, объект всегда будет прикреплен к руке. Таким образом предварительный просмотр анимации становится намного проще и позволяет предотвратить пересечение объекта с телом.
Чтобы настроить ограничения нужно нажать на раскрывающийся список «Target» и выберите «Armature». Теперь нажмите раскрывающийся список Vertex Group и выберите пункт Hand.R.
Обратите внимание, сейчас положение посоха не совсем правильные. Поверните его по оси Z на 90 градусов, нажав последовательно R, X, 90 и Enter и немного сдвиньте его вперед, нажав G, Y, -0,4 и Enter.
Вернитесь в режим Object, нажав Tab, выберите стержень и переключитесь в режим Pose, используя раскрывающийся список внизу. Поверните объект таким образом, чтобы вы могли хороши видеть посох и выберите UpperArm.R – вам нужно немного повернуть его, нажав R и перемещая мышь. Посох будет продолжать следовать за рукой, как будто бы персонаж держит его.
Теперь у вас есть персонаж с аксессуарами. Сохраните файл и похвалите себя за хорошо проделанную работу. Теперь вам нужно экспортировать человечка в Unity.
Экспорт в другие форматы
Примечание: если вам не нужна информация о том, как производится экспорт моделей в другие форматы, то вы можете пропустить этот раздел, сохранив файл и закрыв программу.
Unity отлично воспринимает файлы с расширением .blend из Blender. Однако, если вы хотите поделиться своими моделями с разными людьми, то лучше использовать такой формат, как .FBX или .OBJ, который не требует какого-либо другого программного обеспечения.
Экспорт в FBX с помощью Blender очень прост. Для начала выберите File ⇒ Export ⇒ FBX (.fbx) в верхнем меню.
Перед вами появится окно экспорта. В отличие от большинства приложений, Blender не открывает дополнительное окно, а заменяет все содержимое окна сразу.
Вы можете выбрать место для сохранения файла, отметив папку слева или введя местоположение прямо в адресную строку. Настройки экспорта находятся в левом нижнем углу окна:
Настройки экспорта по умолчанию будут работать с Unity, но у вас также есть возможность внести свои настройки, например:
Отменить выбор камеры, лампы и прочих опций. Вы можете сделать это, удерживая клавишу Shift и щелкая опции, которые вы хотите отключить.
Выбрав только эти опции, вы не сможете экспортировать лишние объекты. Ради эксперимента установите флажок «Transform». Таким образом любые неоднородные значения будут сброшены, например, если поворот был установлен на (X: 23, Y: 125, Z: 7), он будет установлен на (X: 0, Y: 0, Z: 0).
Перейдите на вкладку Geometries, нажав кнопку Geometries, и снимите флажок Use Modifiers Render Setting. Это позволяет вам поддерживать высокие показатели для рендеров внутри Blender, но поддерживать их низкими для использования внутри Unity.
Теперь откройте вкладку Armatures, установите флажок «Only Deform Bones» и снимите флажок с «Add Leaf Bones». Это помешает Blender добавить дополнительные кости к стержню объекта при экспорте. Объекты Leaf bones нужны исключительно для работы с Maya.
После того, как вы все настроили, вы можете сохранить этот шаблон во внутренних настройках Blender. Для этого нажмите кнопку + рядом с раскрывающимся списком Operator Presets, введите имя в текстовом поле и нажмите кнопку ОК. В этом уроке вы можете использовать имя Unity FBX.
Если вы сейчас откроете раскрывающийся список «Operator Presets», то вы сможете выбрать только что созданный вами шаблон:
Таким образом вы сможете быстро применить настройки.
Последний шаг – непосредственно сам экспорт. В этом руководстве для анимации используется файл с расширением .blend в Unity, поэтому вы можете сохранять файл FBX в любом месте, выбрав папку слева и нажав кнопку «Export FBX» в правом верхнем углу.
Сохраните файл и закройте Blender. Настало время перейти в Unity и начать использовать созданную вами модель.
Предварительная настройка гуманоида
Откройте стартовый проект в Unity и перейдите к Project view.
Вот для чего нужен каждый пункт:
- Animation Controllers: Используется для установки контроллера анимации персонажа.
- Animations: содержит простую анимацию.
- Models: Здесь вы редактировали и сохраняли персонажа. Он также включает в себя модель Dojo и некоторые текстуры.
- Music: мелодия для создания атмосферы в Dojo.
- Scenes: сцена Dojo.
Вы также можете открыть сцену Dojo из папки Scenes.
Отображение аватара
Для начала выберите модель CuteCharacter в папке Models и откройте вкладку Rig в Inspector. Откройте раскрывающийся список «Animation Type» и выберите «Humanoid».
Нажмите Apply, чтобы сохранить эти настройки.
Далее вам нужно использовать кнопку Configure, чтобы начать связывать кости с системой Mecanim в Unity.
Поверните персонажа к вам лицом, чтобы продолжить работу с ним. Обратите внимание на зеленые кости — их Unity использует внутри.
Unity использует эти кости, действуя как кукловод. Вместо непосредственного использования файлов анимации для обновления костей в каждом кадре, программа считывает значения и применяет их к каждому гуманоиду на основе их определения Avatar. При этом учитывается гибкость персонажа. Возьмите персонажа, над которым вы работали — его пропорции не реалистичны, но это не имеет значения. Некоторые кости могут быть короче, чем у большинства людей, но главное, что они расположены там, где это нужно.
Теперь сосредоточьтесь на окне Inspector – там отображается человеческая фигура с зелеными и серыми кругами. Для работы системы Avatar необходимы все эти круги, если какие-либо из них отсутствуют, то это место будет отмечено красным.
Пунктиром отмечены дополнительные кости для более сложной настройки движений. Любые части тела, которые выделены серым цветом, отсутствуют, но не обязательны. У этого персонажа, к примеру, нет пальцев.
Ниже приведен полный обзор костей, и здесь вам нужно связать части тела с ними. Если какой-либо из кругов красный, вам нужно назначить в ту область кость. Сейчас созданный вами скелет полностью соответствует спецификациям Unity, поэтому никаких дополнительных настроек не потребуется.
Нажмите кнопку «Apply» в правом нижнем углу и нажмите кнопку «Muscles & Settings» в верхней части инспектора. Таким образом вы сможете просматривать и настраивать виртуальные мышцы вашего персонажа.
Перед вами будет три раздела:
- Muscle Group Preview
- Per-Muscle Settings
- Additional Settings
В первом есть несколько ползунков, которые вы можете перемещать слева направо, чтобы проверить как отображаются мышцы. Попробуйте их использовать, чтобы посмотреть, что они делают. Обратите внимание, что настройки для пальцев не будут иметь никакого эффекта, так как у персонажа их нет. Нажимайте кнопку «Reset All» после каждой пробы, чтобы сбросить все настройки.
Раздел Per-Muscle Settings содержит подразделы, которые можно развернуть, щелкнув стрелку рядом с ними. Каждый из них позволяет вам указать минимальный и максимальный углы для поворота и движения конечностей.
Разверните раздел Left Arm и попробуйте изменить положение ползунка на «Arm Down-Up». Посмотрите какие происходят изменения:
Примечание: если персонаж слишком темный и вам сложно подробно разглядеть силуэт, можно отключить освещение сцены в меню Scene view, щелкнув маленький значок солнца вверху.
Посмотрите, сейчас рука проходит сквозь тело персонажа, так не должно быть. Чтобы это исправить, установите ползунок предварительного просмотра на самое низкое значение и измените минимальный угол наклона руки вниз = -20.
Сделайте то же самое для Right Arm ⇒ Arm Down-Up:
Существует больше мышц, но для этого урока текущих настроек вполне достаточно. Нажмите кнопку «Apply» в правом нижнем углу, чтобы сохранить изменения, и нажмите кнопку «Done».
Использование персонажа
Чтобы добавить персонажа, перетащите модель CuteCharacter из папки «Models» в меню Hierarchy.
Установите CuteCharacter на (X: 0, Y: 180, Z: 0), а также создайте новый контроллер анимации, щелкнув правой кнопкой мыши папку RW ⇒ Animation Controllers и выбрав Create ⇒ Animation Controller.
Назовите его CharacterController и дважды щелкните, чтобы открыть окно Animator. Теперь перетащите анимацию из папки RW ⇒ Animations в сетку Animator, чтобы отметить ее как анимация по умолчанию.
Затем выберите CuteCharacter в иерархии и нажмите кнопку селектора рядом с полем «Controller» и выберите CharacterController:
Теперь разверните CuteCharacter в Hierarchy и перетащите Cylinder в Hand_R. Если этого не сделать, оружие будет просто парить в воздухе рядом с персонажем.
На этом все! Нажмите кнопку воспроизведения, чтобы увидеть, как смотрится ваш персонаж в движении.
Теперь нажмите кнопку воспроизведения еще раз, чтобы его остановить, и нажмите CTRL + S, чтобы сохранить внесенные изменения.
Что делать дальше?
Поздравляем с окончанием этого урока. Вы можете скачать материалы и готовый проект по ссылке. Используя полученные знания, вы можете сами создавать различные аксессуары.
Чтобы узнать больше о Blender, рекомендуем вам также посмотреть этот урок.
Чтобы узнать больше о Mecanim и системе Avatar, прочитайте этот пост о Unity.