Итак, для работы нам понадобятся следующие инструменты: Autodesk 3D Studio Maxверсий 6,7 или 8 (на других вроде плагин экспорта не работает, но я не уверен) 3DS Max STALKER Plug-In для экспорта в формат object (.obj) S.T.A.L.K.E.R. SDK
При создании собственных текстур потребуется: Adobe Photoshop DDS-плагин от nVidia
Приступим к креативу. Пример будем рассматривать на примитивной модели кубика.
1) Запускаем 3DS Max и создаем наш кубик.
2) Далее накладываем на него текстуру. Запускаем редактор материалов (кнопка «М» по дефолту), выбираем тип материала, нажав на кнопку Standart (1), и в раскрывшемся списке выбираем S.T.A.L.K.E.R. Mtl (2), далее, в свитке Blinn Basic Parameters, щелкаем на маленькую кнопку напротив Diffuse (3), в раскрывшемся списке выбираем Bitmap (4), и выбираем требуемую текстуру из папки gamedata нашего SDK. Для примера я выбрал ...gamedata\textures\wpn\wpn_pkm_lenta.dds.
Далее назначаем нашу текстуру для кубика и настраиваем ее внешний вид либо в самом Редакторе Материалов, либо, если объект сложный, - модификатором Unwrap UVW (кто работает в 3DS Max - знает).
3) После текстуривания нашего объекта отмасштабируем его до нормальных размеров игры (для облегчения этого процесса я импортирую в сцену какую-нибудь модель из игры, например, АК-74), и приступаем к созданию костей.
Идем в Create -> Systems -> Bones и создаем пару костей внутри нашей коробки приблизительно такого вида (см. рисунок). Первую косточку обзываем, например, kost, вторую можно не трогать и вообще ее можно потом удалить.
4) Теперь выделяем нашу коробку и в закладке Modify добавляем ей модификатор Physique (1). В свертке модификатора жмем кнопку Attach to Node (2), кликаем по нашей косточке с именем kost и в развернувшемся списке выбираем Riquid (3) и жмем Initialize (4) (см. рисунок).
5) Далее, в свитке Physique level of Detail меняем параметр Skin Update на Rigid, в дереве модификатора Physique выбираем вершины нашего объекта (Vertex), выделяем все вершины нашего кубика при нажатой кнопке Select, выбираем тип вершин Rigid (4), жмем кнопку Assign to Link (5) и кликаем по нашей косточке.
6) Теперь все готово к экспорту в формат object (.obj), который понимает Actor Editor из SDK. Идем на закладку Utilites и жмем кнопку S.T.A.L.K.E.R. Export (1) (кнопка эта у вас там будет находиться при правильной настройке плагина). Выделяем наш кубик и жмем кнопку Export Skin. Сохраняем, наблюдая лог в окошке на отсутствие ошибок.
7) Запускаем Actor Editor из комплекта SDK и загружаем нашу сохраненную модель и видим приблизительно следующую картину:
8) В панели Object Items видим характеристики нашего объекта (нас интересуют только Surfaces и Bones). В Surfaces задаются материалы и шейдеры для нашего объекта. Раскрываем список Surfaces, выбираем 01-Default (это я забыл материал в Максе обозвать) и устанавливаем параметры: Shader: models/model Compile: def_shaders/def_vertex Game Mtl: objects/small_box
9) Видимо использовать можно и другие, но я еще не разобрался до конца.
Далее настраиваем нашу косточку. Раскрываем список Bones, выбираем нашу kost. Далее жмем напротив Generate Shape кнопку All, настраиваем вес параметром Mass, можно настроить материал параметром Game Material (я оставил default_object) затем выбираем тип баунд_бокса нажатием кнопки Type. Я выбрал Box. Его кстати можно потом вращать, двигать и масштабировать.
10) После настройки параметров экспортируем нашу коробочку в .ogf-файл из меню File -> Export, и подменяем полученной моделью, например, болт. Далее ходим и швыряемся магазинами от ПКМ в головы зазевавшимся неписям :)