Продвинутые советы по созданию персонажей в Unity

SAKURA RABBIT / UNITY TECHNOLOGIESInsider
May 29, 2023|14 Мин
Продвинутые советы по созданию персонажей в Unity
Эта веб-страница была переведена с помощью машинного перевода для вашего удобства. Мы не можем гарантировать точность или надежность переведенного контента. Если у вас есть вопросы о точности переведенного контента, обращайтесь к официальной английской версии веб-страницы.
В этом гостевом посте Сакура Рэббит(@Sakura_Rabbiter) делится тем, как она подходит к созданию произведений искусства, и дает советы по созданию реалистичных персонажей в Unity.

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

Что еще? Поразмыслив, я решил подготовить статью о создании реалистичных персонажей в редакторе Unity.

Вы, наверное, думаете: "Что привело Сакуру Рэббит к этой теме?". Увы, все дело в том, что мне пришлось пройти нелегкий путь обучения этому мастерству с нуля. Я пишу это для того, чтобы вы могли учиться на моих ошибках и сократить количество ошибок в своей работе.

Итак, приступим!

Alt text: GIF, показывающий 3D-вращение VFX-персонажа в Unity (источник: Кролик Сакура)
GIF, показывающий 3D-вращение модели персонажа в Unity (источник: Кролик Сакура)
Процесс из 15 шагов

Вообще говоря, процесс реализации модели персонажа включает в себя следующие этапы:

1. Чертеж в трех ракурсах →

2. Модель прототипа →

3. Высокоточная модель →

4. Малополигональная топология →

5. УФ-расщепление →

6. Карта нормалей для выпечки →

7. Сопоставление →

8. Такелаж кожи →

9. Скелетная и вершинная анимация →

10,. Шейдер в движке →

11. Рендеринг в движке →

12. Физика в реальном времени в движке →

13. Анимационное приложение и аниматор →

14. Контроллер символов/реализация ИИ →

15. Спецэффекты, озвучка, звуковые эффекты и т.д.

Всего здесь 15 ступеней. Этот процесс может показаться сложным, но с точки зрения дизайна персонажа все эти факторы и детали влияют на то, как ваш персонаж будет отображаться в игровом движке. Таким образом, эти многочисленные этапы необходимы для того, чтобы конечный продукт достиг желаемого эффекта. Весь процесс занимает много времени, и все этапы должны выполняться в определенной последовательности - каждый шаг имеет решающее значение. Если вы не сделаете это должным образом или попытаетесь срезать углы, это напрямую скажется на конечном продукте.

GIF, который начинается с приближения к вязаной шапке VFX-персонажа в редакторе Unity и увеличивается, чтобы показать все лицо и волосы (источник: Кролик Сакура)
GIF, который начинается с приближения к вязаной шапке VFX-персонажа в редакторе Unity и увеличивается, чтобы показать все лицо и волосы (источник: Кролик Сакура)

Для начала давайте рассмотрим предварительную подготовку к созданию произведений искусства. 15 упомянутых ранее шагов можно свести к четырем основным этапам:

Оригинальный рисунок → моделирование → анимация → рендеринг

Разве это не проще? Теперь перейдем непосредственно к делу. Благодаря своему практическому опыту я узнал несколько вещей - надеюсь, они пригодятся вам в вашем собственном проекте!

Изображение, обрамляющее VFX-персонаж от плеч вверх в редакторе Unity (источник: Кролик Сакура)
Изображение, обрамляющее VFX-персонаж от плеч вверх в редакторе Unity (источник: Кролик Сакура)

Прежде всего, перед началом работы вам следует установить контрольные точки. Я пропущу обычные вопросы, такие как количество вершин, размер карты, количество костей и т.д. Вместо этого я собираюсь сосредоточиться на следующем:

  • Я бы хотел, чтобы у этого персонажа был человеческий скелет, поскольку это повлияет на последующую реализацию ИИ. Человеческий скелет выгоден тем, что позволяет использовать устройство захвата движений или библиотеку интервальной анимации для быстрого создания набора высококачественных анимаций, которые можно использовать в контроллере или ИИ.
  • Кроме того, вам нужно заранее спланировать материальные эффекты, которые вы хотите получить для своего персонажа. Для получения желаемых эффектов необходимы предварительные шаги, такие как УФ-обработка, распределение краев и картирование. Если вы будете думать о них только после завершения работы над моделью и анимацией, то, скорее всего, вам придется переделывать свой дизайн. Лучше всего продумать последствия заранее, чтобы потом не делать лишней работы.
  • Для некоторых физических эффектов персонажа требуется физическая обработка определенных компонентов, которая должна быть выполнена самостоятельно. Это еще один критерий, который необходимо учитывать заранее.

Когда все эти контрольные точки установлены, наступает следующий этап - реализация. Вот как начать.

Оригинальный рисунок

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

  • Модель: Вам нужно сделать рисунок пригодным для моделирования. Например, будет ли сложно реализовать структуру того, что вы рисуете, в процессе моделирования? Будет ли сложно распределить ребра для определенных структур при создании низкополигональной топологии?
  • Анимация: Аналогичным образом нужно сделать рисунок пригодным для анимации. Например, будет ли сложно выполнить риггинг для определенных частей анимации? Какая структура не соответствует человеческому скелету?
  • Шейдер: Далее необходимо учесть реализацию шейдеров. Спросите себя: Будет ли сложно реализовать шейдер эффекта материала, который я нарисую? Как насчет выступления? Как насчет классификации материалов? Есть ли в нем спецэффекты? Можно ли реализовать его с помощью одного или нескольких проходов?
  • Физика: Какая структура требует симуляционных вычислений? Как выполняется движение?

Помня обо всем этом при рисовании, вы сможете оптимизировать свою работу на последующих этапах.

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

Изображение, показывающее несколько ракурсов VFX-персонажа (источник: Кролик Сакура)
Изображение, показывающее несколько ракурсов VFX-персонажа (источник: Кролик Сакура)
Моделирование

Для моделирования действуют те же правила - то есть учитывайте следующие шаги. Моделирование должно быть выполнено правильно, и такие факторы, как УФ-отображение, распределение краев и классификация материалов, также должны быть запланированы заранее. Моделирование - самая важная часть процесса, так как перед рендерингом необходимо пройти через процесс анимации. Если есть проблемы с рендерингом, то необходимо переделать процессы моделирования и анимации.

  • Картирование: Вам нужно сделать модель подходящей и для картографии. Какие структуры могут совместно использовать ультрафиолет? Можно ли максимально эффективно использовать пиксели карты? Какие компоненты требуют Alpha?
  • Анимация: Вам нужно учесть, как создаются выражения лица в форме наложения и как модель должна быть разделена для UV. Также необходимо определить структуры тела, требующие анимации, и определить, как должны быть распределены края, чтобы сделать риггинг модели более естественным.
  • Шейдер: Теперь пришло время подумать о том, как расположить UV, чтобы он мог обеспечить специальные эффекты для реализации шейдеров, а также определить, какие материалы нужно разделить при классификации материалов для моделирования.
  • Физика: Точно так же необходимо правильно распределить края, чтобы смоделированные эффекты выглядели более естественно.

При создании модели лучший способ избежать переделок - учесть последующие этапы и заранее составить планы.

Совет: При рисовании высокополигональных моделей в ZBrush или других программах нет необходимости включать мелкие детализированные текстуры. Из-за ограничения разрешения эффект детализации будет очень слабым после превращения в карту путем прямого запекания. Эти детали должны быть разделены с помощью Mask ID в шейдере и добавлены через Detail Map. Не забудьте включить их в основную карту!

Изображение, показывающее художественные детали каменной конструкции (источник: Кролик Сакура)
Изображение, показывающее художественные детали каменной конструкции (источник: Кролик Сакура)

Добавление деталей в шейдер напрямую - это то, что нужно.

GIF, показывающий крупный план лица VFX-персонажа с капающей водой (источник: Кролик Сакура)
GIF, показывающий крупный план лица VFX-персонажа с капающей водой (источник: Кролик Сакура)
Анимация

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

Положение костей играет ключевую роль в риггинге модели, поскольку от него зависит, будут ли движения в суставах естественными. Позвольте мне повторить это еще раз: это чрезвычайно важно! Вы попадете впросак, если вес кожи был в норме, но положение костей было неправильным.

Совет: В качестве примера возьмем тазобедренную кость, которая расположена в середине задней части тела. Если вы хотите, чтобы движения выглядели естественно, расположение костей должно быть точным. В противном случае анимация будет деформирована при использовании устройства захвата движения или при применении ее к другим анимациям.

Изображение поперечного сечения VFX-анимации персонажа, демонстрирующее движения тазобедренных костей и способы управления ими в Unity (источник: Кролик Сакура)
Изображение поперечного сечения VFX-анимации персонажа, демонстрирующее движения тазобедренных костей и способы управления ими в Unity (источник: Кролик Сакура)

На этом этапе вы очень близки к завершающему этапу работы. Тем не менее, вы не можете позволить себе относиться к этому легкомысленно. В процессе создания следует учитывать несколько моментов:

  • Модель: Проверьте модель еще раз, чтобы убедиться, что ориентация нормалей выровнена правильно, мягкие и жесткие края в порядке, классификация компонентов модели и материалов выполнена правильно, компоненты, требующие наложения формы, объединены, а материалы и именование обработаны.
  • Анимация: Определите, соответствует ли текущая структура костей требованиям гуманоидов в двигателе.
  • Шейдер: Еще раз проверьте, разделены ли структуры, требующие эффекта.
  • Физика: Определите части симуляции, в которых используются кости, и те, в которых используются вершины.

Итак, вы завершили все подготовительные работы перед использованием двигателя. Далее нам нужно импортировать весь набор карт моделей в Unity и объединить всю нашу предварительную работу.

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

GIF танцующего VFX-персонажа в окне редактора Unity (источник: Кролик Сакура)
GIF танцующего VFX-персонажа в окне редактора Unity (источник: Кролик Сакура)
Рендеринг

Благодаря контрольным точкам, которые вы установили ранее, процесс внедрения должен стать легкой прогулкой по парку.

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

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

Совет: Если вы используете Advanced Skeleton для создания риггинга, то при импорте в Unity выравнивание узлов лопатки и плеча персонажа, скорее всего, будет неправильным. Чтобы решить эту проблему, настройте его вручную на интерфейсе гуманоида.

GIF-изображение VFX-персонажа, танцующего в анимированной сцене на открытом воздухе в окне редактора Unity (источник: Кролик Сакура)
GIF-изображение VFX-персонажа, танцующего в анимированной сцене на открытом воздухе в окне редактора Unity (источник: Кролик Сакура)

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

GIF персонажа VFX, танцующего в живой, полной сцене на городских улицах (источник: Кролик Сакура)

Пожалуйста, поделитесь моим постом, если он был вам полезен!

/ / /
(^_^) Кролик Сакура 樱花兔

Арт персонажа Сакуры Рэббит был представлен на обложке нашей электронной книги "Окончательное руководство по созданию продвинутых визуальных эффектов в Unity", доступ к которой вы можете получить бесплатно здесь. Больше информации о Сакуре Рэббит можно найти в Twitter, Instagram, YouTube и на ее странице FanBox, где эта статья была первоначально опубликована. Ознакомьтесь с другими блогами разработчиков Made with Unity здесь.