image

Руководство по созданию живых существ в Morrowind при помощи Blender и Nifskope


Это руководство предназначено для обучения вас основным шагам, необходимым для создания функционирующего живого существа для игры Morrowind. Предполагается, что вы уже имеете представление о моделировании мешей, УФ-текстуре, работе с арматурой, рисовании веса и создании анимаций по ключевым кадрам с помощью Blender. Более того, предполагается, что вы успешно установили приложение Blender-Nifskripts и программу Nifskope, которые можно скачать на страничке niftools.sourceforge.net/wiki.

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

1 — Подготовка
2 — Настройки сцены
3 — Арматура
4 — Анимация
5 — Ходьба и бег
6 — Группы анимаций
7 — Shadow Meshes
8 — Экспортируемые и выходные файлы
9 — Ограничивающая рамка
10- Подготовка существа к игре с помощью Construction Set

1 — Подготовка

Если вы еще не читали руководства в разделе niftools.sourceforge.net/wiki/Blender, обязательно прочитайте. Чтобы убедиться, что ваш Nif-экспортер работает корректно и что вы усвоили основные требования, создайте статическую модель без анимации и экспортируйте ее. Затем добавьте получившийся Nif-файл в Construction Set и посмотрите, всё ли работает так, как нужно.
Руководство по созданию модели стула ( niftools.sourceforge.net/wiki/Blender/Chair ) также содержит полезную информацию о настройках материалов для моделей в Morrowind.

2 – Настройки сцены

Анимации в Morrowind проигрываются на скорости 15 кадров в секунду, поэтому рекомендуется с помощью кнопок в сцене указать именно это значение частоты кадров (FPS). Однако, возможно использование и других настроек частоты, которые могут в результате дать на выходе несколько иное изображение, чем показывает Blender в 3D-просмотре.

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



3 – Арматура

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

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

Если вы используете ту же настройку, снимите выделение с пункта «Огибающие» (Envelopes) под параметрами деформации арматуры.



4 – Анимация


В общем-то, вам нужно создать последовательность различных действий, которые ваше существо будет выполнять. Позаботьтесь о стандартной позе для существа – она образует начало и конец каждого действия.

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

Когда я устанавливал позиционные точки для конечностей своего паука, в выходном nif-файле они были немного сдвинуты вверх по оси Z. Наверное, есть какое-то решение этой проблемы при установке точек, но я его не нашел.

Отмечу на всякий случай: нижняя граница игрового мира находится в точке 0 по оси Z. Здесь должен располагаться механизм движения существа.

Просмотр какого-либо готового существа, предлагаемого в Morrowind, может оказаться весьма полезным (откройте nif-файлы в Nifskope или импортируйте один из них в Blender). 3D-файлы в Morrowind находятся на дополнительном диске, который обычно идет в комплекте с игровым CD. Также можно распаковать BSA-файл Morrowind одним из распаковщиков, доступных в Интернете.

5 – Ходьба и бег


К анимациям ходьбы, бега и плавания применяются особые правила.
A – Модель должна двигаться вперед (по оси Y) в объектном режиме, чтобы игра смогла распознать смену позиции существа. Самый лучший способ сделать это при использовании, например, родительской арматуры, — переместить саму арматуру. В случае с существом, состоящим из множества объектов, движение должен совершать один общий родительский элемент. Если вы захотите сделать также анимацию обратного или бокового хода или бега, вам нужно будет переместить существо соответственно назад или вбок.
B – Вы можете изменять скорость в процессе анимации ходьбы или бега. Вы также можете заставить существо двигаться зигзагами, как скрибы в Morrowind, или включить в анимацию прыжки вверх и вниз, позволяющие существу преодолевать препятствия на своем пути.


Скриб – существо, перемещающееся зигзагами.

C – Анимации бега назад будут использоваться (только) существами, которые применяют баллистическое оружие или заклинания. Как правило, это делает из них более серьезных врагов для игровых персонажей с холодным оружием. Для функционирования существа не нужно ни анимаций движения назад, ни анимаций движения вбок – только вперед. Движение в сторону имеет смысл только в случаях, когда существо напрямую контролируется игроком (заклинания, превращающие игрока в существо). Существа, не управляемые игроками, его не используют.
D – На конечную скорость ваших анимаций ходьбы и бега будут влиять характеристики существа и пропорциональное соотношение скоростей анимации ходьбы и анимации бега.
Игра воспроизводит анимацию бега в соответствии с тем, какое расстояние существо, не управляемое игроком, пройдет за определенный промежуток времени. Это может означать замедление или ускорение ходьбы в игре относительно того, что вы видите при 3D-просмотре в Blender. Любая скорость анимации бега будет изменена в соответствии со скоростью ходьбы, поэтому может оказаться так, что два существа с одинаковыми характеристиками могут бежать с абсолютно разной скоростью.
E – Анимации бега и ходьбы состоят из четырех частей:
-Начало движения
-Цикл движения
-Конец движения
-сброс



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

6 – Группы анимации


На сайте www.preik.net/morrowind/animationgroups.html вы найдете полезный обзор большинства групп анимации, используемых существами в Morrowind. Некоторые из них необходимы для создания корректно функционирующего существа, некоторые могут использоваться по желанию. Далее я перечислю и поясню самые необходимые группы.
Группы анимаций для вашего существа определяются в текстовом документе с названием «Аним» (Anim), который можно редактировать в текстовом редакторе, имеющемся в Blender. Если вы экспортируете анимированную модель с помощью Nifexporter, этот текстовый документ будет сгенерирован автоматически (если он еще не был создан). Импортированные модели также имеют текстовый документ, на примере которого можно посмотреть, как его можно составить

[Номер кадра]/[Группа анимации]: [Действие]

Вместе с группами анимации можно описать Звуковые заметки, которые позволят существу воспроизводить определенные звуки по достижению указанного кадра.
Существует два типа звуковых заметок:
-Первый тип – заметки, относящиеся к звуку, который выбирается из звукового набора, назначаемого существам в Morrowind Construction Set. Этот звук может быть впоследствии изменен с помощью управления параметрами существа.

Синтаксис выглядит так:
[Номер кадра]/Soundgen: [Звук] [необязательный фактор громкости]
Доступные звуки включают:
стон – шум, обычно воспроизводимый за пределами поля битвы.
рык – шум, часто воспроизводимый при атаке существа.
крик – шум, часто воспроизводимый, когда существо ранено или умирает.
левая – шум шага, производимый, по задумке, левой ногой.
правая – шум шага, производимый правой ногой.
земля – шум, производимый существом при столкновении с землей.
-Второй тип – это заметки, ссылающиеся на определенный звук в игре по его ID.


[Номер кадра]/Звук: [ID звука] [необязательный фактор громкости]

Самые важные группы анимации:


Группа анимации: Неактивная
Действия: Старт, Стоп
-анимация, проигрываемая между атакующими движениями в битве. (обязательна)
Группа анимации: Неактивная2-Неактивная9
Действия: Старт, Старт цикла, Стоп цикла, Стоп
-анимации, проигрываемые за пределами поля битвы, если существо не движется куда-либо. Например, оно может оглядываться и принюхиваться. Старт цикла и Стоп цикла необязательны. (Неактивная2 обязательна)
Группа анимации: Идти вперед, Бежать вперед Действия: Старт, Старт цикла, Стоп цикла, Стоп
-Начало движения между Старт и Старт цикла, цикл движения между Старт цикла и Стоп цикла, конец движения между Стоп цикла и Стоп. То же самое применимо и к другим анимациям движения (обязательна)
Группа анимации: Атака1-Aтака3
Действия: Старт, Удар, Стоп
-воспроизводится, когда существо атакует без оружия (Aтака1 обязательна)
Группа анимации: Удар1-Удар5
Действия: Старт, Стоп
-воспроизводится, когда существу наносят удар в битве. (Удар1 обязательна)
Группа анимации: Смерть1-Смерть5
Действия: Старт, Стоп
-воспроизводится, когда существо погибает. (Смерть1 обязательна)
Группа анимации: Нокаут
Действия: Старт, Старт цикла, Стоп цикла, Стоп
-воспроизводится, когда существо нокаутируют во время рукопашной атаки. Длительность нокаута может варьироваться, поэтому в данной анимации нужен цикл.
Группа анимации: Смертельный нокаут
Действия: Старт, Стоп
— воспроизводится, когда существо погибает в результате нокаута. Эта анимация должна начинаться с той же позы, что и Старт цикла в Нокауте. Исходная позиция обычно представляет собой лежащее на земле в предсмертных судорогах существо после смертоносного удара.
Группа анимации: Нокдаун
Действия: Старт, Стоп
— воспроизводится, когда существо сбивают с ног тяжелым ударом. Чаще всего это делается с помощью двуручных молотов или топоров. Существо падает, затем через некоторое время встает снова.
Группа анимации: Смертельный нокдаун
Действия: Старт, Стоп
— воспроизводится, когда существо погибает в результате нокдауна. Очень похожа на Смертельный нокаут.

Образец Anim-документа


7 — Shadow Meshes


Morrowind использует теневые меши для создания тени, отбрасываемой существом.
Теневые меши – это дополнительные меши, которые имеют ту же форму и размер, что и меши, создающие тело существа. Их тоже нужно анимировать, но в них не нужно использовать текстуру. Тени у готовых существ в Morrowind, правда, всегда имеют простой материал и назначенный на них цвет (обычно серый или коричневый). Я не знаю, нужен ли этот материал, поскольку я еще не пробовал создать существо без него.
Итак, теневые меши существа должны быть более-менее точной копией мешей тела, отражающие их действия на протяжении всей анимации. Обычно такие меши содержат низкое число полигонов для повышения производительности компьютера.
Теневой меш, который должен быть правильно распознан движком Morrowind, должен иметь следующие свойства:
-Имя объекта в Вlender, содержащего меш, должно начинаться с “Tri Shadow ...”.
-Тип рисования (drawtype) объекта в объектном окне должен быть установлен на «Проволочный» (Wire).
-Все Shadow меши используют один материал (или не используют вообще).
-Меши тела и Shadow меши должны храниться в отдельных объектах.


Shadow Meshes не нужны для функционирования существа в Morrowind. Однако они повышают качество модели и позволяют ей лучше интегрироваться с готовым набором существ игры Morrowind.
Заметка: Для моделей существ не требуются объекты столкновения. Эту задачу выполняет ограничивающая рамка.

8 – Экспортируемые и выходные файлы


В правом верхнем углу диалога экспорта выберите “export nif + xnif + kf”. Если все сделано верно, после экспорта вы получите три файла:
name.nif
xname.nif
xname.kf


Все три файла необходимы в Morrowind и должны быть размещены в одной и той же папке в директории мешей.
Первый файл содержит всю модель, включая анимацию. Файл xname.nif-file содержит только модель без анимации, а файл xname.kf-file содержит только анимацию.
Построение существа в игре происходит из xname-файлов, а первый файл служит для них указателем (и полезным справочным ресурсом).
Заметка: Неважно, какую шкалу экспорта вы выберите для своего существа — все пропорции, включая расстояния, покрываемые им в анимациях движения, останутся правильными.

9 – Ограничивающая рамка


На завершающем этапе создания своего существа вы можете создать вокруг него ограничивающую рамку.
Ограничивающая рамка выполняет различные функции, позволяя вашему существу корректно функционировать в игре. Она действует как тело столкновения для существа, а ее центр (помимо многих других функций) представляет собой место, откуда существо пускает свои молнии заклинаний. Установить ограничивающую рамку в Blender можно только в том случае, если вы используете самую последнюю версию Blender-Nifskripts. Для нее вам понадобится программа Nifskope.
Однако в Blender можно сделать полезные приготовления – добавить пустой объект, который впоследствии послужит основой ограничивающей рамки в Nifskope. Этот пустой объект нужно назвать «Ограничивающая рамка» (Bounding Box) и расположить где-то под существом (обычно это координаты 0/0/0). Пустой объект не должен быть ни дочерним, ни родительским элементом другого объекта, и не должен участвовать в анимации. Если вы случайно зададите ключевые кадры для этого объекта, при встрече существа у вас сразу возникнут ошибки в игре.


Следующий шаг после успешного экспорта модели – открытие файлов name.nif и xname.nif в программе Nifskope.

Огибающая рамка в Nifskope:

В Nifskope пустой объект огибающей рамки будет отображаться как NiNode с тем же именем. После выбора данного блока вы можете посмотреть на его детальную информацию (обычно она включается внизу окна) и найти в ней поле «Имеет ограничивающую рамку» (Has Bounding Box). Задайте этому полю значение “yes”.
После этого вы можете задать конфигурацию самой ограничивающей рамки в подкаталоге этого поля. После установки значения радиуса ограничивающая рамка появится в виде красного прямоугольника в 3D-просмотре Nifskope. Теперь можете пробовать разные значения радиуса, поворота и переноса ограничивающей рамки до тех пор, пока не достигнете желаемой формы и расположения. Не забудьте сделать то же самое в обоих файлах name.nif и xname.nif.

10 – Подготовка существа к игре с помощью Construction Set


Последний шаг по сравнению со всем остальным – мелочь. Если вы еще не владеете приложением Construction Set, я бы рекомендовал вам почитать руководство к нему для понимания хотя бы основных моментов.
Я упомяну только некоторые моменты, которые могут пригодиться перед началом работы.
-В качестве файла анимации для существа (поле “Animation File”) выберите в диалоговом окне файла name.nif. Файлы xname.nif и xname.kf должны находиться в этой же папке.
-Вы можете создать новые настройки звука для своего существа в диалоговом окне «Генератор звука» (Sound Gen), расположенном под меню “Gameplay”. Если у вас есть собственные звуковые файлы (формата WAV) для существа, их нужно сначала зарегистрировать в диалоговом окне «Звук» (Sound).
-Не используйте в качестве типа движения значение “biped”(al), если ваша модель основана не на том же скелете, что и модели людей в игре (как, например, Dremora, Golden Saint и тд).


Несколько последних замечаний:
Это руководство писалось в основном с целью дать обзор тех вещей, которые я сам пытался понять, когда нужно было заставить созданные в Blender существа работать в Morrowind. Поэтому может случиться так, что какая-то приведенная информация покажется вам элементарной по сравнению с другими источниками, дающими полноценный и развернутый взгляд на проблему.
Может оказаться и так, что здесь описано не все, что вы хотели бы знать, поскольку я подходил к этому вопросу с определенными знаниями и предпосылками, которые могут отличаться от ваших.
Поэтому, если у вас есть вопросы или дополнения к изложенной здесь информации, свяжитесь со мной с помощью личного сообщения, отправленного через форум Bethsoft. Я постараюсь ответить как можно скорее.
Также вы можете редактировать этот документ для общего пользования, внося в него изменения и улучшения, с сохранением моего имени в качестве автора оригинального контента.
Наконец, я надеюсь, что этот документ станет полезным справочным пособием для тех, кто пока только планирует создавать существа для Morrowind в Blender или уже пытался это сделать, но застрял на полпути.

Традиционные слова благодарности:
-Людям, создающим nifskripts для Blender. Благодаря им я смог создать десятки моделей для игры Morrowind.
-Tamriel Rebuilt – за то, что я научился созданию существ, и не только статичных их моделей.
-Bethesda за их Construction Set.

Автор: Muspila
Перевод: Kane

3 комментария

avatar
Шайтанамана! Непонятный ничего!
avatar
Блендер хорошая программка, пытался как-то овладеть, но сил только на пару кривых мечей хватило. Мало пособий на русском.
avatar
будем переводить. У меня еще есть перевод одной статьи по моделированию в блендере.

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.