Как сделать 3D анимацию без опыта и знаний в моделировании
В предыдущей статье мы привели пошаговую инструкцию, как создать 3D-персонажа через нейронную сеть Inworld AI. Сейчас пойдем дальше и анимируем нашего героя. Кстати, ознакомиться с первой частью можно по ссылке:
Как создать персонажа онлайн 3D в полный рост через нейросеть
Что потребуется для проекта? Готовая модель и несколько сервисов для добавления и настройки анимации.
Платформы для анимирования героев
Представьте, что создаете персонажа, тратите на это время. При этом перс даже не является главным героем. Он появляется в начале игры и сразу уходит в первой локации. Игрок благополучно забывает про него и продолжает свою миссию.
Чтобы не тратить время на второстепенных существ, можно поручить работу по созданию персонажа нейронной сети, а анимацию автоматически сделать через онлайн-сервис. При этом вы экономите время и можете потратить его на проработку главного героя.
Представляем список сервисов, которые умеют в режиме онлайн загружать модель, анимировать и сохранять её.
ImageToStl. Как упоминалось, Inworld AI создаёт героя по описанию, но для сохранения использует glb. Программы для анимирования поддерживают только fbx и obj. Поэтому делаем преобразование модели в нужный формат. Для этого подойдет ImageToStl, он конвертирует во все известные форматы. Доступно преобразование, к примеру, 3ds в fbx.
Отличительная особенность ImageToStl – при загрузке модели текстуры подтягивались автоматически. С другими сервисами ничего подобного не происходит, и графика постоянно отваливалась. Функция очень полезна для работы с glb, так как текстуры вшиты в файл.
Mixamo. Онлайн-сервис для анимации. Загружаете персонажа и выбираете из списка – движение.
Есть дополнительные настройки, например, как расположить руки при ходьбе.
Похожий вариант – это программа для создания анимации AccuRig на ПК. Она требует мощного железа.
Пользователи постоянно спорят, что лучше – софт или онлайн-платформа. После тестирования оказалось, что у Mixamo более простой интерфейс и он не требователен к ресурсам. За несколько кликов можно получить анимированную модель.
Viewer 3D. Просмотрщик моделей, который позволяет смотреть на персонажа под разным углом. В левой панели находится раздел Mashes. Раскрыв дерево, можно увидеть, какие «Мэши» использовались.
Неподалёку вкладка Materials, она содержит список цветов.
Online 3D Viewer не требует регистрации и поддерживает многие форматы.
Есть недостаток – не проигрывается анимация. Загружаемый персонаж будет без движения. В интерфейсе так и не удалось найти кнопку воспроизведения.
Если хотите увидеть, как виртуальный человек выполняет действия, то можно воспользоваться сервисом ImageToStl, про который писали выше. Кроме конвертирования, он поддерживает возможность увидеть модель под разными ракурсами в движении.
Советы по созданию анимации
Прежде чем приступить к 3D-анимации, следует прояснить кое-какие моменты, чтобы потом не было вопросов, почему анимация проигрывается плохо.
- Подходят только гуманоиды – персонажи, у которых две руки, две ноги и голова. Не получится анимировать машину или, например, кота. Если перс слишком сложный или имеет дополнительные вещи, например, рюкзак или бейсбольную биту – то избавляемся, иначе будут дефекты при анимировании.
- Поза «T» или «А», какую выбрать? Позы «А» и «Т» используются при создании человека в графическом редакторе. Первый вариант – персонаж стоит, широко расставив руки и ноги, второй – ноги вместе, а руки распростерты, напоминает букву «Т». Пример на картинке.
Какую же выбрать?
Обе позы подойдут для анимации, но в случае с А-позой можно столкнуться с проблемой, когда конечности находятся слишком низко и при создании анимации они могут быть вывернуты. Пример ниже. С позой «Т» это удастся избежать.
- Соблюдаем пропорции – если объект делается в Blender, то стараемся оформить пропорционально все части тела, без искажений. Иначе в работе Mixamo будут проблемы.
- Убираем лишнее – свет, камера и прочие объекты. Оставляем только 3D модель. Это позволит проследить, чтобы у программы для анимации не появились сложности с восприятием модели.
- Все части тела должны быть соединены вместе. Если, например, голова руки и ноги отдельно, то авториг обработает с ошибками.
- Модель размещаем в центре координат. Этот пункт относится к тем, кто делает модельку вручную. Если поместить перса далеко от центра, то программа анимации будет работать неправильно.
- Сетка персонажа должна быть идеальной. С правильными нормалями, без дырок и прочих проблем.
Делаем анимацию персонажа
Сервис Mixamo поддерживает всего два формата – obj и fbx. Наш файл – это glb.
Перед тем как сделать анимацию, следует изменить формат файла. Открываем ImageToStl и выбираем настройки. В сервисе есть и другие расширения, которые доступны для конвертирования. Ознакомиться со списком можно на скриншоте.
После установки формата переходим в панель управления. Интерфейс простой, и в несколько кликов мы получаем результат. Выполняем следующие действия:
- Добавляем файл через кнопку или переносом в окно браузера.
- Нажимаем «Конвертируйте в FBX».
После того как программа завершит работу, скачиваем файл.
Основной плюс онлайн редактора 3Д моделей – это сохранение текстур. Они добавлены в файл. После наложения анимации модель готова для интеграции в игру.
Mixamo – программа для создания анимации
Регистрируемся и получаем доступ к аккаунту. Нажимаем Upload Character. Появится всплывающее окно, выбираем Select Character File или переносим fbx-файл в область, отмеченную пунктиром.
Когда файл загружен, запустится Auto-Rigger. Используя стрелки, поворачиваем персонажа, чтобы посмотреть под разным углом и определить, есть ли дефекты. Щёлкаем Next и переходим к следующему шагу.
Настраиваем Auto-Rigger. Здесь расставляем точки.
Перетаскиваем кружки на персонажа. Это нужно, чтобы программа для анимации смогла определить, какая часть тела будет активной при движении.
Справа подсказка, как правильно это сделать. Здесь поддерживается симметрия. Если переместить точку на одну руку, то вторая автоматически займёт ту же позицию на другой руке. Так же при расстановке будет всплывать подсказка в виде камеры с прицелом, чтобы показать, какую область захватывает объект.
Дополнительные настройки:
- Use Symmetry – если убрать флажок, то вертикальная полоска в центре исчезнет. Повторное нажатие возвращает обратно.
- Skeleton LOD – позволяет настроить количество костей у персонажа. Чем их меньше, тем выше будет производительность игры.
Параметр подойдет для онлайн-игр. Допустим, цель – разработать мобильную игру с трёхмерной графикой на html5. Большое количество костей у каждого перса трудно обработать. Проект станет слишком объёмным и может тормозить на слабом компьютере.
Поэтому уменьшаем количество костей до минимума, чтобы увеличить производительность.
Другое дело игра на ПК, где нужно все детали сделать более прорисованными. Поэтому выставляем опции на максимум, чтобы получить более детализированного перса.
У Skeleton LOD четыре параметра. В скобках указано количество костей.
- Standard Skeleton (65)
- Chain Fingers (41)
- Chain Fingers (49)
- No Fingers (25)
При выборе каждого пункта будет появляться подсказка с картинкой.
Для продолжения нажимаем Next, запустится обработка. По завершению персонаж появится на сцене.
Как сделать 3Д анимацию? Переходим во вкладку Animation. Для быстрого поиска воспользуемся строкой. Пропишем Walking (Ходьба) и выберем из списка.
Запустится анимация. Чтобы персонаж шёл на месте, устанавливаем в настройках галочку «In Place».
Проблемы, которые могут появиться при работе с «Mixamo»:
- Конечности неправильно сгибаются или пересекаются. Чтобы исправить, переставьте маркеры и запустите повторно. Что делать, когда руки пересекаются с туловищем? Следует воспользоваться ползунком «Character Arm-Space», который отдалит руки от торса.
- Трудно найти уникальную анимацию. В Mixamo в основном собраны стандартные движения. Если нужно выполнить какой-нибудь уникальный трюк в игре, то придётся делать его самому в графическом редакторе. Но для игр определённого жанра здесь достаточно походок. Вот пример «Survival Horror», на тему зомби-апокалипсиса.
Когда персонаж готов, нажимаем кнопку Download. Во всплывающем окне нужно сделать настройки. Указываем следующие параметры:
- Format FBX
- With Skin
- Frames Per Second – устанавливаем 60. Нажимаем Download.
Дальше модель загружаем в графический редактор и просматриваем. Например, через View FBX online в ImageToStl.
Дополнительные программы для моделирования и 3д анимации
Одного онлайн-сервиса бывает недостаточно, иногда требуется вносить изменения в модель. Перечислим две бесплатные программы для 3D-моделирования на русском языке.
Blender
Бесплатная программа для создания анимации и моделей. По функциям не уступает 3ds max. Умеет работать со многими известными форматами. Даже если нет поддержки какого-то файла, то в интернете можно поискать подходящий plugin.
Под многие 3d-форматы уже написаны плагины. Допустим, нужно импортировать объект из популярной игры. Скачиваем и устанавливаем plugin, выбираем File->Import и нужный формат.
Блендер поддерживает русский язык. Чтобы переключить, зайдите в Edit -> Preferences -> Interface -> Translation -> Language -> выбрать язык во вкладке.
Также в программу заложен инструмент Grease Pencil – это эскизный карандаш для рисования двухмерной анимации.
Blender использовалась для графики в популярных фильмах. Например, «Человек-паук 2» (2004) и «Золотой Компас» (2007).
Sculpting от StephanEginier
Онлайн платформа на русском языке. Переключение языка происходит через меню Language на панели управления. Сервис разработан для скульптинга, т.е. из одной 3d-формы можно получить игровые объекты. Есть поддержка – создание 3д моделей людей онлайн. Доступен импорт файлов в форматах obj, sgl, ply и stl. Регистрация не требуется.
Прежде чем загружать модель в StephanEginier, нужно сначала её преобразовать в расширение obj. Вот результат.
С помощью мышки можно изменить форму и придать объекту другой вид. В этом и заключается суть скульптинга.
Анимация в игровой индустрии
Blender – программа для 3D-моделирования. Дизайнеры делают 3D-модели и анимируют их. Дальше готового персонажа внедряют в игровой движок.
Самые популярные движки на сегодня – это Unity и Unreal Engine.
Что делать, если нужно создать модель для браузерной игры? Всё зависит от типа разработки. HTML5 вполне поддерживает трехмерную анимацию. Для этого нужно подключить библиотеку. Примеры, как это сделать, есть в песочнице. Чтобы получить к ней доступ, нужно задать запрос через поисковик «3d animation fbx codepen».
Codepen – это песочница, где разработчики выкладывают коды. Как работает исходник, можно посмотреть прямо в онлайне. Сервис поддерживает запуск кодов в браузере.
При переходе по ссылке копируем код и вставляем в свой файл, заменяя путь к 3d-модели. Вот что получилось с нашей моделью.
Трехмерную графику рекомендуется использовать только в играх на ПК. В онлайн приложениях, где требуется подключение к интернету, следует делать анимацию упрощённой, так как большое количество сложных моделей будет затормаживать игровой процесс.
Для двухмерных проектов тоже есть игровые движки: phaser, pixi, easeljs. Они используют спрайтовую анимацию.
Перевести 3d в спрайт можно через Блендер. Например, проект 2d платформа, где главный герой – это солдат. Размещаем бойца и поворачиваем сцену на вид сбоку. Горячая клавиша в Blenderе Num 1. Теперь нужно переместить саму камеру в то же положение Ctrl+Alt+Num 0. Устанавливаем значение Blender Render и нажимаем Animation.
Начнётся рендеринг и сохранение каждого кадра в папку. Также запускаем и анимацию стрельбы. Для этого нужно перейти в раздел персонажа и переключить опцию, пример на картинке.
3d-модель солдата взята из игры и соответственно анимация уже добавлена. Если делаете с нуля, придётся поработать и над движениями. С 2d-платформерами разобрались.
Следующий популярный жанр – это RPG игры с изометрическим видом на мир.
Как сделать анимацию в изометрической RPG?
Чтобы получить движения воина по изометрии, нужно установить камеру видом сверху с наклоном. Размещаем воина. Заходим в Camera и делаем настройки. Устанавливаем углы поворота x=45, y=0, z=45. Нажимаем Orthographic.
Делаем Render и получаем вид как в Sacred. Дальше разворачиваем бойца под другим углом и запускаем Render повторно. И так несколько раз, пока не получим все движения. Также анимируем и атаку.
Создание изометрических RPG считается одним из сложнейших в искусстве, так как героя нужно показать под разным углом и сделать сотни спрайтов. Если проект крупный, то персонажей могут быть десятки, у каждого свои уникальные движения. Начинающим разработчикам игр рекомендуются делать платформеры. Они пользуются не меньшей популярностью чем RPG, также популярны карточные игры или поиск предметов.
Готовые спрайты нужно объединить в единый файл – спрайтлист. Для этого есть специальная программа TexturePackerGUI и её бесплатная онлайн версия tp-online. Есть ещё вариант воспользоваться Leshylabs, который упаковывает файлы в spritelist.
Есть много вариантов, где можно использовать свои работы. Например, разработать компьютерную игру или же сделать преобразование в спрайты, а потом добавить в мобильное приложение. Всё зависит от цели проекта.
Программы и онлайн платформы способны упростить разработку. Нейросеть смоделирует героя, а программа Mixamo его оживит. Дальше остаётся только добавить перса в игру и прописать ему диалоги. Используя эти программы, можно существенно ускорить себе работу.
Читайте также: Как создать свою игру без программирования: пошаговая инструкция