Глава VII. Разное.
§ 7.3 Использование ORIGIN-брашей
В этой статье мы расскажем Вам о применении ORIGIN-брашей, которые являются неотъемлемой частью любого вращающегося объекта. Прочитав данную статью, Вы сможете правильно создавать такие объекты как: вентиляторы, автомобили, вращающиеся рычаги, двери и пр.
Содержание: - Что такое ORIGIN-браш?
- Как правильно размещать ORIGIN-браш?
- Выбор оси вращения
- Что нужно знать об ORIGIN-брашах (обобщение)
Итак, что же такое ORIGIN-браш?
ORIGIN-браш - это браш, окрашенный со всех сторон специальной текстурой по имени ORIGIN (стандартная текстура ORIGIN бело-зеленого цвета). Эта текстура находится в стандартной библиотеке текстур halflife.wad. Браш необходимо окрашивать данной текстурой со всех сторон. Это обязательное требование, иначе возникнет ошибка при компиляции.
ORIGIN-браш своим центром определяет положение оси вращения таких объектов как: вращающиеся двери, рычаги, различные платформы, поезда, машины, управляемые пулеметы, маятники, вентиляторы и других разновидностей вращающихся объектов. В общем ORIGIN-браши используются повсеместно, ничего сложного в них нет и просто нужно 1 раз понять принцип их действия.
Запомните следующее правило: если объект хоть как-то вращается, то он должен иметь ORIGIN-браш, т.е. ORIGIN-браш должен входить в состав этого энтити-объекта. Кстати, ORIGIN-браши применяются только для объектов группы
FUNC_. Просто в других группах нет вращающихся объектов.
Если Вы хотите создать, например, вентилятор - постройте лопасти, создайте ORIGIN-браш, выделите все это вместе и превратите в данном случае в объект
func_rotating. Также необходимо поступать со всеми другими вращающимися объектами (дверями, платформами, машинами и т.д.), т.е. не забывайте выделять ORIGIN-браш вместе с другими частями будущего объекта.
В игре ORIGIN-браш абсолютно невидим и не создает препятствий для передвижений игрока, его как бы и не существует.
Один вращающийся объект - один ORIGIN-браш
Для любого вращающегося объекта создается только 1 ORIGIN-браш. Также не оставляйте ORIGIN-браш без объекта, например, отдельно дверь и отдельно ORIGIN-браш - это обязательно вызовет компиляционную ошибку.
Как правильно размещать ORIGIN-браш?
Сразу оговоримся, что размер и форма ORIGIN-браша значения не имеют! Самое важное - положение его ЦЕНТРА в пространстве. Вы можете создать ORIGIN-браш в виде небольшого кубика 8х8х8 юнитов, а можете, как браш с размерами 64х4х4 - все равно, следите за положением его центра.
Помните, что ORIGIN-браш не является осью вращения! Он лишь определяет точку в пространстве, через которую проходит эта ось. По умолчанию вращающийся объект будет крутиться вокруг центра ORIGIN-браша по вертикальной оси Z. Однако в случае необходимости мы можем заставить такой объект вращаться вокруг одной из горизонтальных осей X или Y. Пример: вентилятор на стене - вращение происходит вокруг горизонтальной оси.
Когда Вы создаете ORIGIN-браш мысленно представляйте себе, где находится его центр, в какой точке. Затем этот центр помещайте в место, где проходит ось вращения (см. рис. ниже).
![Размещение ORIGIN-браша при создании вращающейся двери Размещение ORIGIN-браша при создании вращающейся двери](img/4/t10origin1.jpg)
На рисунке выше показана обычная вращающаяся дверь
func_door_rotating. ORIGIN-браш входит в состав этого объекта. На следующих картинках хорошо видно как размещен по отношению к двери центр ORIGIN-браша.
Вид сверху. Фиолетовый квадратик справа - это и есть ORIGIN-браш. Фиолетовый прямоугольник - дверь. Мысленно воткните иголку в центр ORIGIN-браша и начните вращать дверь по или против часовой стрелки. Когда дверь откроется полностью (повернется на угол 90°), она не будет задевать стенки (входить в них).
![Вид сверху на дверь и ORIGIN-браш Вид сверху на дверь и ORIGIN-браш](img/4/t10origin2.gif)
Если центр ORIGIN-браша разместить правее (на краю двери), то при открытии, она частично "заедет" в стенку. Это в общем-то не страшно, просто смотрится некрасиво. В реальной жизни двери в стенки не въезжают :). Поэтому размещайте ORIGIN-браш как показано на рисунке.
Ниже показан вид сбоку:
![Вид сбоку на дверь и ORIGIN-браш Вид сбоку на дверь и ORIGIN-браш](img/4/t10origin3.gif)
На рисунке ниже Вы можете видеть, что форма ORIGIN-браша, его размеры и размещение вдоль вертикальной оси вращения двери, роли не играют. Сравните форму и размещение ORIGIN-браша на картинке выше и нижней картинке - они разные, но на работоспособности двери это никак не сказывается. Дверь будет точно также открываться.
![Форма и размеры ORIGIN-браша роли не играют. Важно размещение его центра Форма и размеры ORIGIN-браша роли не играют. Важно размещение его центра](img/4/t10origin4.jpg)
Выбор оси вращения
С размещением ORIGIN-браша мы разобрались. Теперь подробней остановимся на определении оси вращения. В каких случаях нужно выставлять оси Z, X, Y?
По умолчанию все объекты вращаются вокруг вертикальной оси Z. Эта ось всегда проходит снизу-вверх или сверху-вниз, как хотите. Таким образом, если объект (дверь, вентилятор и пр.) должен вращаться вокруг вертикальной оси Z, то ничего, кроме размещения ORIGIN-браша, делать не нужно. А вот если ось горизонтальная (X или Y), то тут придется залесть в свойства объекта и указать какую ось необходимо использовать для вращения.
Для примера возьмем уже знакомую нам дверь :) Посмотрите как соотносятся оси X и Y на виде сверху и в 3d-виде. Так уж получилось на тестовой карте, что вид сверху как бы перевернут по отношению к 3d-изображению (придется немного поломать голову, чтобы сопоставить эти два вида :).
![Так расположены оси X и Y в пространстве и на виде сверху Так расположены оси X и Y в пространстве и на виде сверху](img/4/t10origin5.jpg)
Итак, если нам необходимо, чтобы дверь вращалась вокруг оси X (представьте, как будет выглядеть это вращение в игре - довольно смешно :) - мысленно воткните иголку в дверь по оси X ЧЕРЕЗ ЦЕНТР ORIGIN-БРАША и начните ее вращать), то для такого вращения в свойствах объекта нужно отметить флажок "X axis" (см. рис. ниже).
![В свойствах объекта флажком отмечаем нужную ось вращения, если она отлична от вертикальной Z В свойствах объекта флажком отмечаем нужную ось вращения, если она отлична от вертикальной Z](img/4/t10propaxis.gif)
Если же "вставить иголку" вдоль оси Y в центр ORIGIN-браша, то дверь будет вращаться вообще интересным образом :), как бы по или против часовой стрелки. В этом случае (если нам необходимо такое вращение) отмечаем флажок "Y Axis". Не надо отмечать 2 флажка одновременно!
Вот так на примере обыкновенной двери мы разобрали соотношение координатных осей в пространстве. Для других вращающихся объектов принцип определения осей точно такой же. Мы советуем, ставить вид сверху и уже на нем определять ось вращения, принимая во внимание, что ось Y смотрит вверх, а ось X - вправо.
Если все же Вы захотите определять направление осей на других видах (сбоку или спереди), то картинка ниже поможет Вам лучше соориентироваться.
![Так располагаются оси на 2d-видах редактирования Так располагаются оси на 2d-видах редактирования](img/4/t4howork1.gif)
Итак, что Вам нужно знать об ORIGIN-брашах:
1. ORIGIN-браш окрашивается специальной текстурой ORIGIN со ВСЕХ сторон!
2. Каждый вращающийся объект должен иметь ORIGIN-браш
3. ORIGIN-браш является неотъемлемой частью вращающихся объектов
4. Центр ORIGIN-браша определяет точку, через которую проходит ось вращения
5. Вращение объекта не зависит от размеров ORIGIN-браша
6. Один объект - один ORIGIN-браш
7. Недопустимо наличие ORIGIN-браша без объекта
8. ORIGIN-браш в игре невидим и не создает помех игрокам
Вот, пожалуй, и вся необходимая информация об ORIGIN-брашах. Вращающиеся объекты - это просто!
Глава VII. Разное.
К оглавлению Учебника
©
http://cs-mapper.by.ru/