Экспорт и базовая игровая настройка модели

Материал из BestWay wiki
Перейти к: навигация, поиск

Подготовка модели к экспорту


Перед экспортом убедитесь, что сцена рендерится без ошибок! Как показывает практика, часто ошибки возникают из-за того, что остаются неназначенными UV-Map для полигонов, материал которых того требует, или отсутствуют некоторые текстуры. Тестовый рендер сразу выдаст сообщение о таких ошибках.

Основные правила подготовки модели к экспорту:

  1. В одной сцене может находиться одновременно несколько моделей. Каждая модель идентифицируется по корневым костям в сцене. Источники освещения не рассматриваются как модели.
  2. Hidden geometry (кости и отдельные полигоны) исключается из экспорта. Можно скрывать группы. Вместе со скрытой костью скрываются и все прилинкованные к ней, поэтому нельзя скрывать базовую кость, если целью не является исключение модели из экспорта.
  3. Возможно исключение костей из освещения через Exclusion List в источниках света. Если полигональная кость не освещена ни одним источником, подразумевается ее динамическое освещение в игре.
  4. В базовой кости необходимо задать параметр Type, определяющий тип сущности в игре (Type=game_entity для пассивных объектов (пассивное взаимодействие с игровым миром, например, здание), =actor для активных объектов и т.п.); а так же один из параметров Model=path – путь к каталогу модели в ресурсах игры
  5. Если анимируется базовая кость, то ее пивот должен находиться в начале координат. Если на базовой кости нет анимации, то допускается произвольное ее смещение в сцене.
  6. В модели не должно быть кости с именем «root», поскольку это зарезервированное имя для базовой кости скелета, автоматически создаваемой при загрузке модели в игре.

Важно! Следует очень аккуратно настраивать параметры экспортера, особенно именно пути для экспорта: «путь к ресурсам игры» и «исходный каталог с общими текстурами» - абсолютные пути, а «каталог с общими текстурами в игре» - относительный (всегда должен быть texture/common/). Обязательно!!! Сцена с моделью, готовой к экспорту, должна быть в таком состоянии (настройки выделений, материалов, все текстуры в наличии, нет лишних объектов и т.п.), чтобы можно было в случае необходимости просто открыть этот файл и сразу экспортировать. Сцену по окончании работы над ней нужно ВСЕГДА приводить в состояние готовности к немедленному экспорту. При необходимости, нужно разделить сцену на несколько сцен, чтобы ничего не приходилось перенастраивать. Никаких исключений из данного правила не допускается!



Файлы, создаваемые в процессе экспорта


Модель экспортируется плагином MdlExp7.dle в формат, который загружается игровым движком. В результате экспорта могут создаваться такие файлы:

.def – описание игровой сущности (definitions), текстовый

.mdl – описание модели (model), текстовый

.ply – информация о геометрии модели (polygons), бинарный

.mtl – описание материалов модели (material), текстовый

.vol – информация об объемах (volumes), бинарный

.anm – информация об анимации модели (animation), бинарный

.ext – дополнительные расширения (extensions), текстовый

.dds, .bmp, .tga – файлы текстур, бинарные

Если материалы модели в 3dsmax ссылались на текстуры в указанных выше форматах, то эти файлы будут скопированы в каталог экспорта без изменений. Если же исходный формат отличается от перечисленных, экспортер создаст файлы в формате bmp (24bit или 32bit, если присутствует альфа-канал).

Файл описания (.def) создается только при первом экспорте модели и в дальнейшем не перезаписывается во избежание потери настроек. Все остальные файлы, создаваемые плагином, перезаписываются без предупреждения. Файлы текстур перезаписываются только в том случае, если при экспорте исходная текстура имеет более позднее время модификации. Это следует учитывать при изменениях модели с последующим экспортом.

Важно! Часто при поправках модели требуется учесть изменения только текстур, материалов или же только самой геометрии модели. В таком случае после переэкспорта следует выкладывать с помощью Sync в общую сетевую базу ресурсов только те файлы, которые нуждаются в замене. Всем остальным файлам нужно забрать «старую версию». Однако если меняется структура модели, добавляются или удаляются объемы или меняются их параметры, удаляются/добавляются части иерархии модели и т.п. радикальные изменения, необходимо создать резервную копию файла описания (.def), а сам файл описания забрать на редактирование (Check Out) и удалить его на своем локальном диске, чтобы при последующем экспорте этот файл был создан заново. После этой операции в новый файл описания из резервной копии переносятся ранее прописанные вручную параметры.



Дополнительные параметры в файле описания


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

  1. {placer .......} – к данной модели могут линковаться юниты (имеются места для снайперов в окнах и т.п.)
  2. {extender "structure".......} – использование каркасной модели, см. Структурные объекты
  3. (include "/properties/.......") – подключение файла с заданным набором свойств игровой сущности, каталог с этими файлами: \resource\properties\
  4. {props .......} – описание набора дополнительных свойств модели (тип физического материала объекта, наличие окон и т.п.)
  5. {obstacleid .......} – класс препятствий, создаваемых данной моделью
  6. {boarder .......}– объект может принимать в себя «пассажиров» (либо экипаж техники, либо снайперы в окнах домов и т.п.)
  7. {mass .......} – масса объекта в кг
  8. ("declare_fire_volumes") – включение имеющихся в модели объемов горения и дыма (см. Другие элементы, подпункт 8)
  9. {NoCastShadows}, {NoReceiveShadows} – флаги для выключения отбрасываемых и принимаемых теней соответственно (действуют на всю модель!)
  10. {extender "land_patch" .......} – в данной модели присутствует патч ландшафта (см. Патчи ландшафта и воды). Данный блок экспортируется пустым и в него необходимо вписать тип территории, представляемой данным патчем. Внутри блока может присутствовать строка {TerrainType .......}. По умолчанию тип ground, полный перечень типов территории в \resource\set\interaction_terrain\terrains.set. Кроме типа территории может быть указана строка {nonormals 1}, предписывающая движку игры не выполнять построение непроходимых участков по краю патча. Это может быть необходимым в случае если предполагается, например, что юнит должен вплотную подходить к краю полотна моста. Но в этом случае нужно создать объемы-препятствия по контуру такой модели, иначе юниты будут перемещаться по объекту неестественно (будут «прыгать» по вертикальной стенке).Также данный блок может использоваться как средство для «выравнивания» модели по ландшафту и вырезания полигонов из него (случай с окопами и воронками). Если в модели есть полигональная зона с именем «cut», то по ней из ландшафта будут вырезаны полигоны. Внутри блока {Extender "land_patch" .......} может быть прописано:
    • {AlignEnabled 1} – разрешено ли выравнивание mesh по земле; кости, в свойствах которых прописан «Align», будут выставлены по уровню земли (если одновременно включены свойства align и land, то сначала сработает align, затем land); обрабатываются все вертексы полигональной сетки (по умолчанию 1)
    • {AlignStacked 0} – какой слой земли использовать для выравнивания – первоначальный(0) или уже «перекопанный»(1); 0 – для окопов, 1 – для воронок (по умолчанию 1)
    • {AlignVolumes 1} – объемы смещаются так, чтобы расстояние от центра объема до земли не изменилось (по умолчанию 0)
    • {RandomRotate 0} – случайный разворот при выставлении на землю в редакторе; 0 – для окопов, 1 – для воронок (по умолчанию 0)
  11. {extender "enumerator"} – включение автоматически генерируемых номеров в модели
  12. Color[=0xRRGGBB] – параметр, указываемый в свойства кости, задает окрашивание кости в нужный цвет

Также в .def модели могут быть указаны другие параметры (зависящие от конкретного типа объекта) либо дополняться/изменяться свойства имеющихся объемов и т.п. объектов.