автор статьи - marazmus
Базовый класс – zVob.
Букв. – «virtual object», виртуальный обьект.
Основные параметры каждого экземпляра класса zVob:
1) Координаты в пространстве относительно центра координат – параметр trafoOSToWSPos (x,y,z)
Координаты устанавливаются автоматически при первой вставке экземпляра класса в игровой мир. Изменять их можно как напрямую, вводя численные значения в соответствующие поля параметра, так и с помощью инструмента «Move selected vob» (кнопка M на клавиатуре) – перемещая обьект вручную.
2) Ориентация относительно центра координат – параметр trafoOSToWSRot (текстовая строка, содержимое – hex-координаты)
Относительно центра координат – имеется в виду центр координат 3DS-файла игрового мира, «на котором» построен zen-файл.
3) Обьем (т.н. bounding box) – параметр bbox3DWS (x1,y1,z1, x2,y2,z2)
Обьем нужен обьекту для обработки его взаимодействия с другими обьектами; к примеру, с динамическими обьектами (персонаж (класс C_NPC), предмет (класс C_Item) и т.п.) – обработка взаимодействия начинается, когда обьемы обьектов пересекаются; простой пример – когда ГГ входит в зону действия триггера смены мира, движок загружает другой игровой уровень на основе параметров этого триггера; это происходит, когда обьем ГГ как обьекта пересекается с обьемом триггера.
Параметр Обьем (т.н. bounding box) менять только кнопкой “Edit the Bbox”
4) Имя конкретного экземпляра обьекта – параметр vobName
Имя может оставаться пустым; но крайне желательно задавать для значимых обьектов, чтобы облегчить ориентирование; для некоторых классов имя обязательно (триггер, вейпойнт, фрипойнт и т.п.).
5) Визуальное представление экземпляра обьекта – параметр visual (имя файла 3DS)
Для некоторых классов, кроме файлов формата 3DS («статические» обьекты) применяются также файлы формата PFX (система частиц), TGA (тестура), MDS, ASC (объекты взаимодействия с персонажами), MMS (объекты zCVobAnimate); пример – рунный стол (RMAKER_1.MDS)
Несколько дополнений по визуализации:
При использовании текстурной визуализации *.tga:
параметр visualCamAlign:YAW – текстура всегда поворочивается к игроку лицом, вращаясь вдоль вертикальной оси (стандартный биллборд)
При использовании визуализации деревьев, травы:
параметры visualAniMode:WIND или WIND2
visualAniModeStrength:1e-5
Имитация ветра
6) Обработка столкновений со статическими обьектами – параметр cdStatic
Статический обьект – это, как правило поверхность игрового мира (3DS-файл как основа), или обьект, обьявленный статическим (параметр staticVob = true).
Примечание: часто возникает ситуация, когда обьекты «отказываются» перемещаться дальше определенной точки (поверхности). Это случается, когда параметр cdStatic = true, т.е. обьект не может пересечь поверхность другого статического обьекта. В этом случае достаточно на время перемещения отключить параметр cdStatic, а после перемещения снова включить.
7) Обработка столкновений с динамическими обьектами – параметр cdDynamic
Динамический обьект – это как правило обьект класса C_NPC (персонаж) или предмет (C_Item).
Примечание: проще говоря, за то, чтобы ГГ не проходил предметы «насквозь», и отвечает параметр cdDynamic.
8) Флаг «Статический обьект» – параметр staticVob
Смысл – см. выше, примечания к параметру cdStatic
Для написания статьи были использованы материалы с сайта www.worldofgothic.de