RSS
Меню сайта

Категории каталога
Doom3 [11]
Статьи о разработке карт к Doom3
Общее [7]
Статьи про общие моменты маппинга

Наш опрос
Навигация в "Файлах"
Всего ответов: 20

Copyright C4TNT© 2008

Главная » Статьи » Маппинг » Doom3

Мини-мануал: Объектная структура карт Doom3
Статическая геометрия:

1. Браши

Браш - это одна из минимальных геометрических единиц в редакторе карт. Для его создания достаточно нажать левую кнопку мыши в окне 2d вида и провести мышью, не отпуская кнопку. Получите красный четырёхугольник. В некоторых редакторах чтобы получить браш после этих действий ещё нужно нажать пробел.


Сферический браш в вакууме

2. Патчи


Патчи - второй тип геометрии в дум 3. В отличае от объёмного браша патч представляет из себя поверхность. Эту поверхность к тому же можно изгибать. Для того, чтобы создать патч, нужен браш (браш после создания патча исчезнет). Выбирайте браш и нажимайте Patch->Simple patch mesh в меню редактора.


Патч в 2d виде

Если при выбранном патче нажать V, то вы увидите зелёные и розовые точки, которые можно достаточно независимо перетаскивать. При этом патч будет изгибаться.

3. Модели

Этот вид геометрии не является самостоятельным (но об этом чуть позже). Для добавления модели нажмите правую кнопку мыши на окне 2d вида и выбирайте пункт New model... Откроется список доступных моделей. После того, как модель будет выбрана, она появится на карте.

Что можно делать с геометрией:

Геометрические объекты можно перемещать, вращать и отражать.
Браши можно разрезать инструментом clipper
Патчи можно гнуть.
А с моделями ничего больше сделать нельзя - только перемещать и вращать.

Объекты (Entity):

Сам по себе объект - это группа геометрических объектов, имеющая какой-либо класс.
Для создания объекта нужно нарисовать его геометрию (если только объект не состоит из модели). После этого выбрать всю геометрию будущего объекта, нажать правую кнопку мыши и выбрать класс.
Кроме того объект можно создать без геометрии - просто нажать правую кнопку и выбрать нужный класс объекта. Это есть смысл делать если объект должен быть модельным или если объекту не нужна геометрия. После создания объекта таким способом вы увидите, что появился кубик. Если класс этого объекта всё же требует геометрию, то скорее всего этот кубик появится в игре. Для того, чтобы назначить созданному объекту модель, нажмите кнопку model в его свойствах.

А теперь подробнее:

Классы объектов


В третьем думе используется унифицированная система объектов. Каждый объект прежде всего определяется своим классом (class) и имеет своё уникальное имя (name).

Базовые классы:

  1. Worldspawn
  2. Light
  3. Speaker
  4. Trigger_xxx
  5. Target_xxx
  6. Moveable_xxx
  7. Func_xxx
  8. ... и ещё много разных классов
Сами классы описаны в def файлах. В этих файлах допустимо наследование свойств, например, все зомби унаследованы от monster_zombie_base. Наследование означает, что если в классе не указано какое-то свойство, то его следует искать в родительском классе. Класс, от которого наследуется данный, указан в деф-файле в строке такого вида:

    "inherit"                        "zombie_default"

Второй обязательный параметр класса в деф-файле - spawnclass. Этот параметр указывает, какой именно объект из игровой библиотеки следует создавать. Фактически больше в деф файле может ничего и не быть. Остальные ключи в этих файлах нужны для того, чтобы скрипт из игровой библиотеки мог правильно создать объект и фактически скрипт их просто читает из файла. Приятная особенность дума 3 в том, что скрипт инициализации ищет значение нужных ему ключей сначала среди тех ключей, которые назначены объекту в редакторе, потом проверяет деф-файлы (одно небольшое замечание - ключи вида "editor_xxx" в деф-файлах использует сам редактор чтобы правильно сохранять объект), а потом использует встроеные значения по умолчанию. Это значит, что если вам нужно создать незначительно изменённый объект - не обязательно добавлять его в def - можно просто изменить нужные ключи в редакторе карт.
 
Геометрия объекта

Большинство объектов имеют свою геометрию и как-то её используют. Например, объекты из раздела func в основном представляют свою геометрию так, как она была создана в редакторе, но позволяют её двигать или вращать по определённому принципу.

Некоторые объекты изменяют свою собственную геометрию при загрузке игры. Например, func_fracture нарезает свою геометрию на элементы (в чём можно убедиться с помощью консольной команды r_showtris 1) для того, чтобы потом эти элементы могли разлететься в разные стороны. Обычно func_fracture представляет разбиваемое стекло.

Бывают объекты, которые используют свою геометрию для абсолютно других целей. Например, trigger_xxx - это объект, который должен иметь свою геометрию в редакторе, но в игре этой геометрии не будет видно. Триггер же будет запускать какое-либо действие в том случае, если игрок окажется внутри геометрии этого триггера. Хотя бывают и более экзотические варианты.

И, наконец, существуют объекты, не принимающие из редактора геометрию вовсе. При попытке создать такой объект из геометрии она просто исчезнет. Эти объекты являются служебными. Хотя отсутствие геометрии в общем не значит, что объект не будет виден в игре. Например, объект func_beam не принимает геометрию, но в игре рисует луч с заданой текстурой. Название текстуры в этом случае пишется в skin.

Ещё бывают объекты, не принимающие геометрию из редактора, но имеющие собственную геометрию. Это монстры, оружие, предметы и декорации.

В результате появляется такое понятие, как закреплённая геометрия. Это та геометрия, которая закреплена за каким-либо объектом. Браши и патчи можно открепить от объекта с помощью Shift+G. При этом объект уничтожается
Модель от объекта открепить нельзя никак - модель без объекта не существует в принципе, но, тем не менее, модель можно назначить любому объекту.

Worldspawn

Кроме обычных объектов существует ещё специальный объект Worldspawn. Этот объект представляет всю незакреплённую геометрию на карте. По этой причине этот объект на любой карте должен быть в единичном экземпляре. Для получнеия доступа к его свойствам нужно просто выбрать любую незакреплённую геометрию. Важный момент - в этом объекте не должно быть лишних полей, например, angle. Если они там будут, то это может создать вам кучу неочевидных проблем на карте.
Категория: Doom3 | Добавил: c4tnt (26.10.2009)
Просмотров: 1560 | Комментарии: 3 | Рейтинг: 5.0/1
Всего комментариев: 1
1  
Для новичков пригодится!

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Вход:

Поиск

Ссылки


Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0


Работаем на керосине