Создание модели, ограничения
Создание 3d-модели персонажа и текстуры к ней не является темой данного урока.
Информации по принципам создания персонажей в Интернете достаточно, мы лишь ознакомим вас с ограничениями нашего движка.
Ограничения
* Персонаж должен находится в центре системы координат (см. пример из SDK)
* Модель персонажа создаётся в метрической системе измерений, размеры полностью соответствуют естественным размерам человека (1.6 – 2 метра)
Ограничения 3d-модели персонажа
* В движке игры нет строгого ограничения на количество треугольников, но для получения стабильного и высокого FPS применяются модели порядка 3000-5000 треугольников, при необходимости можно использовать и большее количество если это обосновано необходимо.
* 3d-модели персонажа должна не содержать ошибок в геометрии, потяжек текстуры и тонких длинных треугольников.
* Движок поддерживает отзеркаливание текстуры.
Отзеркаливание текстуры
* Модель должна быть с UV координатами, XRay Shader’ом и группами сглаживания.
* Обнулить все трансформации модели и удалить history, перед привязкой её к скелету
* Модель должна содержать один или более XRay Shader с параметрами показанными ниже, допустимо использование прозрачности, блеска и самосвечения. Описание возможных шейдеров смотрите в разделе Создание сцены в Maya
Базовый XRay shader на 3d-модели персонажа
Создание и настройка скелета, скининг, ограничения
* Создание скелета персонажа игры производится в пакете Maya стандартными средствами 3D пакета.
* Сцена может содержать несколько различных скелетов или моделей, экспорт в подобных случаях производится выделением необходимой модели и экспортом выбранного.
* Для использования анимаций из библиотеки игры, необходимо использовать скелет из SDK без изменений
Скелет персонажа используемый в игре
* Joint’ы не должны содержать scale, rotate, transform. Перед финальным созданием скелета модели, проведите очистку всех перечисленных трансформаций.
* 3d-модели должна быть присоединена к скелету с использованием Smooth Bind
Smooth Bind
* На одну вершину не должно воздействовать более чем 4 joint’а. Общий вес суммарного влияния joint’ов на vertex при экспорте нормализуются до 1, при скининге будте внимательны при назначении весов.
* В движке игры нет строгого ограничения на количество используемых костей скелета в одной модели, но для получения стабильного и высокого FPS желательно использовать возможно меньшее количество костей, например стандартная модель персонажа игры использует 44 кости.
Стандартный скелет персонажа
Анимация
* Плагин экспорта поддерживает все доступные средства 3D пакета необходимые аниматору для создания качественной анимации: локаторы, инверсная кинематика, ограничители, применение физики во время анимирования, всё это и многое другое допустимо для создания анимаций и прекрасно понимается движком игры.
* Нет ограничений на способ хранения анимации модели, это может быть и внешний файл, и хранение всех анимаций в одной модели, всё зависит от предпочтений аниматора.
Экспорт модели
* При экспорте модели заранее проверьте саму модель и созданный скелет на наличие или отсутствие ошибок.
* Для экспорта модели выделяем объект, в нашем случае сталкер, затем идём в меню File -> Export Selection…
Экспорт персонажа
Важно давать модели имя, аналогичное тому что и будет использоваться в игре, это в дальнейшем упростит работу с данной моделью у самого аниматора, нет необходимости вспоминать имя модели в редакторе, но и тех кто производит настройку конфигурационных файлов и установку модели в игру.
Имя экспортируемого объекта
Экспорт анимации
* Перед экспортом анимации необходимо внести изменения в настройки Maya, иначе анимация не будет экспортироваться.
Путь к настройкам Maya
Настраиваемые параметры
Плагин экспорта использует текущие значения таймлайна 3D-пакета, при желании можно использовать возможности скриптового движка 3D пакета, и практически полностью автоматизировать процесс экспорта.
Текущий таймлайн Maya
Для экспорта анимации выделяем анимированный объект, в нашем случае сталкер, затем идём в меню File -> Export Selection…
Экспорт анимации
Для удобства введите читабельное имя анимации, это в дальнейшем облегчит работу с моделью в редакторе.
Имя анимации
Имя анимации
Импорт модели персонажа в ActorEditor
* Запускаем ActorEditor.
Идём в меню File -> Import…
Важно: импортируемый объект должен находится в папке import!
Выбор импортируемого объекта
Теперь нужно сохранить импортированный объект, желательно в папку objects.
Сохранение импортированного объекта
(Это окно появится сразу-же после импорта объекта, т.е. сразу-же после нажатия на кнопку Открыть в окне импорта)
* Модель импортирована.