3ds Max. Создание ломающегося предмета (дневник исследования) — S.T.A.L.K.E.R. Inside Wiki

3ds Max. Создание ломающегося предмета (дневник исследования)

Материал из S.T.A.L.K.E.R. Inside Wiki

Перейти к: навигация, поиск
Автор: Neo][

Введение

Далее после экспорта в ogf с занесением в custom data модели почти копии файла 
gamedata\config\models\objects\box_wood_01.ltx и спавна в редакторе как 
destroyable_objects, натыкаюсь на кучу ошибок в редакторе, толи что-то неправильно делаю, толи...

В общем пока приостанавливаю дневник, допишу когда разберусь.

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


Поехали

Первым делом решил посмотреть, что из себя представляет модель деревянного ящика, нашёл две модели:

  • gamedata\meshes\objects\dynamics\box\box_wood_01.ogf
  • gamedata\meshes\physics\box\box_wood_01.ogf

Просмотрев модели в этих директориях, остановился на gamedata\meshes\physics\box\box_wood_01.ogf. Хотя в обоих случаях присутствует папка \prt\, из названия ясно, что это части объектов(part), т.е. их также необходимо отдельно моделить, жаль, что xray + ode не считают это в динамике. Хотя для стекла-то нет частей, через опыты понятно, что стекло ломается по полигонам. Ну да ладно разговор не об этом.

Есть целая модель, есть части, значит... Значит надо как-то указать эти части, правильно конфиг объекта. Иду искать. Нахожу:

  • gamedata\config\models\objects\box_wood_01.ltx

Меня заинтересовала секция:

[destroyed]
physics\box\prt\box_wood_01_prt1
physics\box\prt\box_wood_01_prt2
physics\box\prt\box_wood_01_prt3
physics\box\prt\box_wood_01_prt4
physics\box\prt\box_wood_01_prt5
physics\box\prt\box_wood_01_prt6
physics\box\prt\box_wood_01_prt7
 
[autoremove_parts]
time = 15

Значит со структурой ломающихся объектов разобрались.

Создаём, да прибудет SDK в помощь

Теперь перенести бы это на процесс создания, первым делом попробуем подобрать необходимые шейдеры. Пошёл смотреть Описание шейдеров XRayMtl. Добавлю, что:

  • Engine - отображение текстуры в движке игры.
  • Compiler - используется при компиляции уровня.
  • Material - игровой материал (wallmark, sound и др.).

Выбрал:

  • Engine - models/model(Основной шейдер для динамических объектов)
  • Compiler - def_vertex(Основной vertex shader, раз физический объект, вершинный шейдер значит по любому нужен)
  • Material - objects/large_furnitura(Материал деревянных изделий)

Попробую повторить тот же самый ящик, запускаю макс, быстренько моделю подобие ящика и частей на которые он будет распадаться. Для всего ящика ставлю настройки шейдеров, которые написаны выше, для частей же просто как для деревянный досок(Пресеты XRay материалов).

Тестовый ящик

Экспортирую ящик и каждую из частей отдельно. Далее после экспорта в ogf с занесением в custom data модели почти копии файла gamedata\config\models\objects\box_wood_01.ltx и спавна в редакторе как destroyable_objects, натыкаюсь на кучу ошибок в редакторе, толи что-то неправильно, толи...

В общем пока приостанавливаю дневник, допишу когда разберусь.

Другие места
LANGUAGE