В этой статье мы расскажем Вам о применении 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-браш мысленно представляйте себе, где
находится его центр, в какой точке. Затем этот центр помещайте в место,
где проходит ось вращения (см. рис. ниже).
На рисунке выше показана обычная вращающаяся дверь func_door_rotating.
ORIGIN-браш входит в состав этого объекта. На следующих картинках
хорошо видно как размещен по отношению к двери центр ORIGIN-браша.
Вид сверху. Фиолетовый квадратик справа — это и есть ORIGIN-браш.
Фиолетовый прямоугольник — дверь. Мысленно воткните иголку в центр
ORIGIN-браша и начните вращать дверь по или против часовой стрелки.
Когда дверь откроется полностью (повернется на угол 90°), она не будет
задевать стенки (входить в них).
Если центр ORIGIN-браша разместить правее (на краю двери), то при
открытии, она частично «заедет» в стенку. Это в общем-то не страшно,
просто смотрится некрасиво. В реальной жизни двери в стенки не въезжают
:). Поэтому размещайте ORIGIN-браш как показано на рисунке.
Ниже показан вид сбоку:
На рисунке ниже Вы можете видеть, что форма ORIGIN-браша, его размеры и
размещение вдоль вертикальной оси вращения двери, роли не играют.
Сравните форму и размещение ORIGIN-браша на картинке выше и нижней
картинке — они разные, но на работоспособности двери это никак не
сказывается. Дверь будет точно также открываться.
Выбор оси вращения
С размещением ORIGIN-браша мы разобрались. Теперь подробней
остановимся на определении оси вращения. В каких случаях нужно
выставлять оси Z, X, Y?
По умолчанию все объекты вращаются вокруг вертикальной оси Z. Эта ось
всегда проходит снизу-вверх или сверху-вниз, как хотите. Таким образом,
если объект (дверь, вентилятор и пр.) должен вращаться вокруг
вертикальной оси Z, то ничего, кроме размещения ORIGIN-браша, делать не
нужно. А вот если ось горизонтальная (X или Y), то тут придется залесть в
свойства объекта и указать какую ось необходимо использовать для
вращения.
Для примера возьмем уже знакомую нам дверь :) Посмотрите как
соотносятся оси X и Y на виде сверху и в 3d-виде. Так уж получилось на
тестовой карте, что вид сверху как бы перевернут по отношению к
3d-изображению (придется немного поломать голову, чтобы сопоставить эти
два вида :).
Итак, если нам необходимо, чтобы дверь вращалась вокруг оси X
(представьте, как будет выглядеть это вращение в игре — довольно смешно
:) — мысленно воткните иголку в дверь по оси X ЧЕРЕЗ ЦЕНТР ORIGIN-БРАША и
начните ее вращать), то для такого вращения в свойствах объекта нужно
отметить флажок «X axis» (см. рис. ниже).
Если же «вставить иголку» вдоль оси Y в центр ORIGIN-браша, то дверь
будет вращаться вообще интересным образом :), как бы по или против
часовой стрелки. В этом случае (если нам необходимо такое вращение)
отмечаем флажок «Y Axis». Не надо отмечать 2 флажка одновременно!
Вот так на примере обыкновенной двери мы разобрали соотношение
координатных осей в пространстве. Для других вращающихся объектов
принцип определения осей точно такой же. Мы советуем, ставить вид сверху
и уже на нем определять ось вращения, принимая во внимание, что ось Y
смотрит вверх, а ось X — вправо.
Если все же Вы захотите определять направление осей на других видах
(сбоку или спереди), то картинка ниже поможет Вам лучше
соориентироваться.
Итак, что Вам нужно знать об ORIGIN-брашах:
1. ORIGIN-браш окрашивается специальной текстурой ORIGIN со ВСЕХ сторон!
2. Каждый вращающийся объект должен иметь ORIGIN-браш
3. ORIGIN-браш является неотъемлемой частью вращающихся объектов
4. Центр ORIGIN-браша определяет точку, через которую проходит ось вращения
5. Вращение объекта не зависит от размеров ORIGIN-браша
6. Один объект - один ORIGIN-браш
7. Недопустимо наличие ORIGIN-браша без объекта
8. ORIGIN-браш в игре невидим и не создает помех игрокам
Вот, пожалуй, и вся необходимая информация об ORIGIN-брашах. Вращающиеся объекты — это просто! |