PreloadPreloadPreloadPreloadPreloadPreloadPreloadPreloadPreloadPreloadPreload
Медиатека
Вход
Логин:
Пароль:
 
Регистрация

Тест1

©admin

Тест1-1

0+

Часть 4

Аннотация к части 4

Создание турелей для Х3

Турели в Х3 представляют собой субсцены, встраиваемые в сцену корабля. Описание таких субсцен находится в файле types\Dummies, турели описываются в его разделе SDTYPE_GUN. В любой турели должно быть по крайней мере одно орудие – модель, снабжённая одним или несколькими точками испускания выстрелов. Эти точки описываются в файле types\Components, в разделе SCTYPE_LASER.

Турели в игре делятся на вращающиеся и неподвижные.

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

Неподвижная турель лишена автоматической анимации, и её части не следуют за камерой. Зато такая турель может быть снабжена пользовательской анимацией, демонстрируемой во время выстрелов.

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

Предполагается, что модели элементов турели уже созданы и одновременно открыты в 3ds Max`е.

После этого необходимо выполнить ряд действий:

1.

Предэкспортная подготовка элементов:

Все будущие точки испускания выстрелов должны смотреть строго вдол оси Y в положительном направлении. Точки нуля координат всех вращающихся элементов должны совпадать с нулём координат сцены.

2.

Экспорт частей турели в bod-формат:

Все используемые в игре bod-файлы должны находится в подпапках папки objects\. Желательно экспортировать все части одной турели в отдельную подпапку, предназначенную только для этой турели. Также желательно формировать имена файлов частей турели следующим образом: следует придумать уникальный префикс, обозначающий имя турели в целом (к примеру, NewTurret), а имена отдельных частей турели формировть из этого префикса и следующих постфиксов: _socket для основания, _body для корпуса, _weapon для орудия (если орудий два, то желательно использовать _left_weapon для левого и _right_weapon для правого) (то есть, применительно к нашему примеру, получается соответственно NewTurret_socket, NewTurret_body, NewTurret_weapon)

3.

Наименование элементов в 3ds Max`е:

Всем элементам турели в Максе следует дат имена, соответствующие названиям экспортированных файлов, причём путь отсчитывается от папки objects\, то есть файлу objects\aaa\bbb\NewTurret\NewTurret_socket соответствует имя aaa\bbb\NewTurret\NewTurret_socket

4.

Экспорт сцены турели:

Следует выбрать все элементы турели и экспортировать их как сцену. Сцену желательно расположить в той же подпапке, что и запчасти турели, и назвать <именной_префикс_турели>_scene (например, NewTurret_scene).

5.

Экспорт точек испускания выстрелов:

Для каждой такой точки следует создать небольшой кубик с именем Laser. После создания и размещения в соответствующих местах эти кубики при помощи инструмента “Select and link” следует привязать к соответствующим орудиям. Далее следует выбирать орудия по одному и при помощи кнопки “Export” на вкладке “Components” плагина DBOX экспортировать координаты точек испускания выстрелов в файл types\Components.

При необходимости, эту операцию можно проделать и вручную. Формат данных в файле Components таков: после имени раздела (SCTYPE_LASER в данном случае) стоит число, обозначающее количество блоков. Далее идут сами блоки, каждый с новой строки. В начале первой строки каждого блока идёт имя файла модели, затем количеств точек испускания выстрелов; затем идут строки с координатами этих точек.После успешного экспорта, кубики с именами “Laser” следует удалить.

6.

Подготовка макета турели.

Макет турели является служебным элементом, в игре, если при создании и размещении турели не сделано ошибок, он не отображается. Макет турели изготавливается методом аатача всех частей турели к какой-нибудь одной части, имеющей координаты (0,0,0). Макет следует экспортировать с постфиксом _dummy.

На этом заканчивается работа в Максе.

7.

Правка сцены турели.

Нужно открыть блокнотом bod-файл сцены турели. Сцена состоит из блоков строк. Каждый блок начинается с параметра P (part – часть). Необходимо, чтобы блоки были расположены в таком порядке:

0) основание турели (_socket)

1)таинственный, но необходимый блок, его следует добавить:

P 1; B 100001; N 100001;

{ 0x2002; 0; 0; 0; 0.000000; 0.000000; 0.000000; 0.000000; -1; 1; }

2)корпус (_body)

3,4)орудия (_weapon)

Обращаю внимание, что при перемещении блока следует соответственно изменять его параметр P.

8.

Редактирование types\Dummies

Турели описываются в разделе SDTYPE_GUN. После имени раздела стоит число, оно обозначает общее количество описаных турелей.

Каждая турель описывается на отдельной строке. Отключите в блокноте перенос по словам, если он включён.

Строка описания турели начинается с имени макета. Далее должно стоять либо GUNF_ROTATE (вращающаяся турель), либо GUNF_FIXED (неподвижная турель). Далее идёт число, обозначающее “количество статусов”. Для вращающейся турели имеет смысл только одно значение этого параметра, а именно “1”. Далее идёт имя статуса, для вращающейся турели это должно быть GUNSTATUS_INITIAL. Далее идёт имя сцены турели. Далее идёт число, обозначающее количество подвижных частей турели (2 или 3 – в зависимости от количества орудий). Далее перечислены имена этих вращающихся частей, после каждой части стоят флаги автоматической анимации (допустимые значения: GUNPARTF_ROTATEALPHA, GUNPARTF_ROTATEBETA, GUNPARTF_ROTATEGAMMA), если одной части присвоено несколько флагов, то они разделяются знаком “|”.

Пример

ships\props\bigturret_dummy;GUNF_ROTATE;1;GUNSTATUS_INITIAL;ships\props\bigturret_scene;3;ships\props\bigturret_body;GUNPARTF_ROTATEALPHA;ships\props\bigturret_leftweapon;GUNPARTF_ROTATEALPHA|GUNPARTF_ROTATEBETA;ships\props\bigturret_rightweapon;GUNPARTF_ROTATEALPHA|GUNPARTF_ROTATEBETA;

9.

Добавление турели к модели корабля:

1)Сначала надо в сцене корабля прописать макет турели

2)Затем в types\TShips внести соответствующие изменения.

При помощи программы X3 Editor это делается так: на вкладке Guns для каждого орудия при помощи кнопки “Add Gun” создаётся своя строка. В окне Gun Edit

(иллюстрация)

в поле 1 следует указать еоличество лазеров в орудии, в поле 2 имя макета турели, в поле 3 значение параметра Р для этого макета в сцене корабля, в поле 4 имя орудия, в поле 5 значение параметра Р для этого орудия в сцене турели.

Особенности неподвижных турелей

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

Неподвижные турели делятся на три подкласса: турели невидимые, турели полностью неподвижные и турели, снабжённые пользовательской анимацией.

Турели невидимые состоят лишь из макета и строки в Dummies такого вида:

имя_макета;GUNF_FIXED;0;0;

Строка в Components не требуется. Такие турели в игре не отображаются, но стреляют.

Турели неподвижные с пользовательской анимацией устроены следующим образом.

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

В Dummies такая турель прописывается так:

имя_турели;GUNF_FIXED;2;GUNSTATUS_INITIAL;имя_сцены_нестреляющей турели;GUNSTATUS_FIRING;имя_сцены_стреляющей турели;0;

Для создания видимой полностью неподвижной турели, по-видимому, не следует создавать субсцен; достаточно лишь записи в разделе SCTYPE_LASER файла Components.

Медиатека (технодемка) v0.3.1