Настройка .def файла модели дома
Last updated
Last updated
Т.к. каждый из заэкспорченных кусков структуры имеет свой путь, то и настраивать их нужно каждый по отдельности. Но во главе есть общий файл, в котором указываются основные настройки модели.
В нем должно быть прописано:
в начале actor
подключен файл selection/vehicle.inc - отвечает за спрайт выделения. Параметр scale отвечает за размер спрайта
подключен файл properties/house.inc
placer
extender "structure", в котором описываются связи для линковки частей.
extender "assault" отвечает за линковку юнитами своих мест в доме. Здесь указываются только куски, к которым этот экстендер должен применяться. Конкретные настройки прописываются уже в конкретном def файле.
extender "house_fortification" описывается возведение укреплений. По аналогии с extender "structure", первое название - поинт куска, дальше кусок, в котором это применяется, потом название сущности, которое спавнится, в конце название кости по которой линкуется.
Для вращающихся кусков строений (например, лопасти мельницы) в общем дефе модели нужно указать:
Здесь содержится информация про каждый отдельный элемент модели. В зданиях они, обычно, имеют общий набор настроек (пропсов, инклудников и т.п.), но в других моделях можно настраивать с разными настройками под конкретные цели.
Набор пропсов для строений обычно следующий:
{props "cornered" "concrete" "windowed" "parts" "construction" "wall" "burning" "wood_floor_destroyed_stamp"}
Если кусок должен быть лэндовым, указывается extender "land_patch"
Можно задать тип брони, например ("armor_stone_house") для каменных сооружений.
Дальше описываются волюмы кусков и окон.
Важно! Х-модели окон должны по умолчанию иметь visibility 0, чтоб не рендериться одновременно с целыми моделями (визуально будет незаметно, т.к. они будут находиться внутри них). В таком случае, разбитое окно подставится непосредственно в момент разрушения, что немного улучшит производительность. Прописывается для всех окон в доме.
visible 0 или 1 означает: будет ли волюм проецировать, своего рода, стену, за которой юнита нельзя будет заметить. Если стоит значение 1, то за таким волюмом юнит может укрываться от враждебных визоров. Для волюмов верхних ярусов и и которые расположены над арками или дверными/оконными проемами всегда указывается значение 0, т.к. движок проецирует по волюму до самого ленда, он не может различить где первый этаж, а где второй. Проверить visibility в движке можно по хоткею alt+H
obstacle 0 или 1 означает: будет ли волюм проецировать обстакл. Обстаклы лучше задавать вручную через rectangle, но если нужно, можно и по волюму.
В extender "structure_bone" расписывается зависимость костей fix при разрушении. В примере ниже указано, что кусок “Х” держится с помощью фиксов 025 и 032/033.
Т.е. чтоб этому куску обрушиться должно выполняться два условия: отлетает fix025 и один из fix032 или fix033. Эта зависимость прописывается индивидуально к каждому куску в зависимости от геометрии и типа конструкции, поэтому может быть как более замудренная зависимость, так и на 1-2 фикса.
Плейсеры юнитов, которые занимают здание:
Сначала указывается номер плейса, далее поза и в конце кость линковки.
hide_squat - сидит в доме у стены, без "дыр" и окон для стрельбы, не стреляет
snipe_cover - стоит, целится, стреляет
squat_lie - сидит, целится, стреляет (как правильно в остовах х-моделей, у разрушенных кусков в основном они садятся и смотрят в дыры)
Важно! Для вращающихся кусков строений (например, лопасти мельницы) в дефе такого куска нужно прописать {groupmesh 0}.