Базовая настройка DEF-файла
Def-файл (definition) - это текстовый документ, в котором прописаны все необходимые настройки и свойства модели.
Основные свойства
Подключить описания основных свойств юнита в его .def файл можно с помощью инструкций include и списка свойств в блоке {props [...]}
.
Общие описания свойств юнитов находятся в папке main\scene\properties
, файлы с расширениями .ext и .inc:
Шаблон подключения основных свойств юнита:
[type_name].ext
Файлы, содержащие базовые описания основных видов техники:
airborne.ext
cannon.ext
car.ext
armoredcar.ext
moto.ext
tank.ext
marine.ext
railway.ext
trailer.ext
Каждый из указанных файлов включает в себя описание vehicle.ext
shadow/[type_shadow].inc
Описание отбрасываемой тени. Вызов инструкции происходит с указанием значения аргумента scale для задания размеров тени
selection/[type_selection].inc
Описание спрайта выделения юнита (селектора):
airborne.inc
cannon.inc
vehicle.inc
vehicle_elongate.inc
Вызов инструкции происходит с указанием значения аргумента scale для задания размеров селектора.
Привязка 3д-модели
3д модель техники включается в файл .def с помощью блока extension. В качестве значения параметра используется имя .mdl файла, взятое в кавычки. Название .mdl файла для каждого юнита уникально.
Файл model_name.mdl получается в результате экспорта модели в ресурсы игры.
Описание волюмов
Экипаж
Включение экипажа
Подключение описания экипажа происходит с помощью вызова нужной инструкции define, либо с помощью блока {extension}, в котором в качестве значения необходимо указать имя соответствующего SDL файла, содержащего описание экипажа.
Анимации посадки экипажа в технику
Блок параметра boarder отвечает за анимации посадки (и высадки) членов экипажа на технике, а также за их позу. Для каждого члена экипажа (командир, стрелок, пассажир, заряжающий и т.п.) и типа техники указывается свое значение анимации и позы.
Чтобы подставить нужную анимацию конкретному члену экипажа необходимо название анимации вставить в значение begin (посадка) и end (высадка)
Размещение экипажа по местам
Видимые пассажиры
Описание размещения экипажа осуществляется через вызов соответствующих инструкции define. При вызове инструкции передаются нужные значения аргументов.
Невидимые пассажиры
Если пассажиров в машине не видно (например, они скрыты под тентом), то вызывается инструкция "passenger_N_human_invisible", где значение N соответствует количеству пассажиров.
Особенности описания экипажа танка
Для членов экипажа танков инструкция "crew_human" вызывается с указанием значения аргумента place, которое соответствует роли члена экипажа:
commander
charger
driver
gunner
Значения аргумента place для дополнительных стрелков:
gunner2 - видимый стрелок; например, пулеметчик в башне;
gunner3/gunner4 и так далее - невидимые стрелки в танке.
Если для невидимого стрелка задать значение gunner2 - это испортит анимацию люков при посадке экипажа.
Включения
Инвентарь
Включение описания инвентаря осуществляется с помощью блока параметра {extender "inventory"}
Номер борта
Камуфляж
Не обязательный параметр.
Включение описания камуфляжа происходит при помощи параметра extension
. В качестве значения параметра используется имя файла, содержащего описание камуфляжа camouflage.ext
Файл camouflage.ext должен находиться в папке с файлом модели.
Зрение
Подключение зрения юнита осуществляется с помощью блока sensor, который содержит блоки с параметрами визора {visor [data]}, типа зрения {vision [data]} и кости, к которой крепится визор {bone [data]}. Значениями параметров являются имена визора, типа зрения и кости, заключенными в кавычки.
Шаблон описания зрения юнита:
Описание визоров юнита техники может быть вынесено для удобства в отдельный файл и подключено в .def с помощью параметра extension.
Значением параметра является имя файла, содержащего описание визоров юнита, заключенного в кавычки.
Файл sensor.ext должен находиться в папке с файлом модели.
Вооружение
Блок {Weaponry} содержит описание элементов вооружения юнита
Установка пулеметов
Пулеметы не являются частью мэша модели, поэтому в файле 3d max их нет.
Описание пулеметов задается в .def файле юнита техники с помощью вложенного блока {place "mgunN"}
блока {Weaponry}
.
Каждому пулемету соответствует свой блок {place "mgunN"}
, где N - номер пулемета.
Если пулемет не один, то прописывается соответствующее количество, с соблюдением названий костей прилинковки, экипажа и прочих параметров:
Лимиты угла наклона и поворота пулеметов
Описание ТТХ юнита
В .def юнита техники необходимо вписать ТТХ параметры и их значения:
вес,
описание шасси,
максимальная скорость,
разгон,
скорость поворота,
объем топливного бака и др.
Значения параметров настраивают в соответствии с концепцией игрового дизайна. В оригинальных играх серии Men of War геймдизайнеры настраивают эти параметры в соответствии с реальными характеристиками техники.
Шасси
Гусеницы
Скорость вращения гусениц задается значением аргумента len. Чем выше значение - тем гусеницы крутятся медленнее.
Настройка шасси и подвесок
Настройка щитов
Last updated