Elite Games - Свобода среди звезд!

X3: Terran Conflict - Создание турелей

СОЗДАНИЕ ТУРЕЛЕЙ ДЛЯ X3

Автор: Криптон

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

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

Вращающиеся турели

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

Предполагается, что модели элементов турели уже созданы и одновременно открыты в 3ds Max`е.
После этого необходимо выполнить ряд действий:
1.Предэкспортная подготовка элементов:
Все будущие точки испускания выстрелов должны смотреть строго вдоль оси Y в положительном направлении. Точки нуля координат всех вращающихся элементов должны совпадать с нулём координат сцены.
2.Экспорт частей турели в bod-формат:
Все используемые в игре bod-файлы должны находится в подпапках папки objects. Желательно экспортировать все части одной турели в отдельную подпапку, предназначенную только для этой турели. Также желательно формировать имена файлов частей турели следующим образом: следует придумать уникальный префикс, обозначающий имя турели в целом (к примеру, NewTurret), а имена отдельных частей турели формировать из этого префикса и следующих постфиксов: _socket для основания, _body для корпуса, _weapon для орудия (если орудий два, то желательно использовать _leftweapon для левого и _rightweapon для правого) (то есть, применительно к нашему примеру, получается соответственно 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), если одной части присвоено несколько флагов, то они разделяются знаком Вертикальной черты.
Пример:

9.Добавление турели к модели корабля:
1)Сначала надо в сцене корабля прописать макет турели
2)Затем в types\TShips внести соответствующие изменения.
При помощи программы X3 Editor это делается так: на вкладке Guns для каждого орудия при помощи кнопки “Add Gun” создаётся своя строка. В окне Gun Edit

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

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

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

имя_макета;GUNF_FIXED;0;0;<p>Строка в Components не требуется. Такие турели в игре не отображаются, но стреляют.

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

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

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

 

Арманкессилон
К началу раздела | Наверх страницы Сообщить об ошибке
X3: Terran Conflict - Создание турелей
Все документы раздела: FAQ по X³: Terran Conflict | Интервью с Берндтом Леханом | Прохождения | Полезные статьи | Карта X³: Terran Conflict | Корабли, Оружие, Щиты, Оборудование | Рейтинги | Классы и модификации кораблей | Стартовые позиции | Секреты X³: Terran Conflict | Модификация игры | Файлы | Различные полезности и интересности | Моды и скрипты |


Дизайн Elite Games V5 beta.18
EGM Elite Games Manager v5.17 02.05.2010