В этой статье мы расскажем как правильно использовать такой полезный, а в некоторых случаях просто незаменимый инструмент, как Vertex Manipulation, также мы рассмотрим наиболее распространенные ошибки, допускаемые начинающими мапперами, не до конца освоившими этот инструмент. Набор объектов, которые мы можем построить в редакторе достаточно скуден. Он включает: параллелепипед (а также куб, как его разновидность), цилиндр, пирамиду и угол (половинка параллелепипеда). Из всех этих простых объектов и состоят карты.
Инструмент Vertex Manipulation позволяет изменять форму простых объектов, таким образом, у нас появляется возможность создавать более сложные объекты, такие как, например, скалы, возвышенности, уступы и т.п.
Вертексы (verteces) — вершины объекта (точки, в которых пересекаются ребра)
Манипуляция — изменение формы объекта путем перемещения его вершин (вертексов)
Как известно из курса школьной геометрии, плоскость в пространстве задается 3-мя точками, т.е. через любые 3 точки пространства можно провести плоскость и при том только одну. В маппинге чаще всего плоскость задается четырмя точками (см. рис. ниже).
Вертексы (вершины) объектов в 3-d виде редактора изображаются белыми точками, а ребра — желтыми. Жетые точки размещаются посередине ребра.
Ошибка №1
Так как количество точек зачастую равно четырем, то вполне возможна ситуация, когда одна из них не будет лежать в одной и той же плоскости, что и другие 3.
Создадим подобную ситуацию, для этого переместим вниз правую ближнюю к нам точку. В итоге у нашей плоскости возникнет «изгиб» (см. рис. ниже).
Такой браш при компиляции вызовет ошибку! Для движка Half-Life обязательным условием является нахождение в одной плоскости ВСЕХ точек, ее образующих. Чтобы исправить данную ошибку, необходимо провести дополнительное ребро (см. рис. ниже).
Теперь вместо одной плоскости мы имеем 2.
Переходя к конкретным объектам, наша ошибка будет выглядеть так:
Часто одна или несколько сторон такого неправильного (битого, как его еще называют) браша как бы «исчезает» (пропадает). Вот как это выглядит в редакторе:
Таким образом, если после манипуляции с вертексами, Вы заметите, что одна или несколько сторон объекта исчезла или как-то странно мелькает, то данный браш 100% имеет неправильную форму, которую необходимо исправить.
Ошибка №2
Данная ошибка возникает, когда 2 стороны одного браша лежат в одной плоскости (см. рис. ниже).
Как получается эта ошибка? Сначала мы выделили середины противоположных ребер (они изображаются желтыми точками, а когда выделены — красными), затем мы провели дополнительное ребро (рисунок справа). Ребро проводится нажатием [Ctrl-F]. Такой объект при компиляции вызовет ошибку «coplanar plane» или по-другому «Brush with coplanar faces». Подробнее об этой ошибке Вы можете прочитать здесь.
Ошибка №3
Третья очень распространенная ошибка это «leaf saw into leaf». Возникает она в ситуации, когда объект как бы «смотрит» внутрь себя (см. рис. ниже).
В 3-d виде это выглядит так:
Для движка Half-Life это тоже недопустимая ситуация. Как проверить, что данной ошибки нет? Очень просто. Мысленно проведите через каждую сторону объекта плоскость, если она НЕ ПЕРЕСЕКАЕТ объект ни в какой из частей, то ошибки нет. Если пересечение есть — значит ошибка.
В самом деле, если мы проведем плоскость через одну из верхних граней (см. рис.), то она пересечет наш объект, а это недопустимо!
А выход из данной ситуации простой — замените один браш двумя, как показано на рисунке ниже.
При компиляции данная ошибка проявляется не всегда (карта может успешно докомпилироваться до конца), но в игре браш будет иметь неправильную форму, некоторые из граней могут пропасть (как это бывает при ошибке №1).
Ошибка №4
Название этой ошибке «Plane with no normal». Она возникает, когда Вы совмещаете две вершины в одной точке и на вопрос «Merge veteces?» (т.е. «Совместить вершины?») отвечаете «НЕТ». Получается, что две точки одной грани имеют одни и те же координаты (т.е. находятся в одном месте пространства), а это недопустимо.
Поэтому, чтобы данная ошибка никогда у Вас не возникала — на этот вопрос всегда отвечайте «ДА».
Разновидности манипуляции с вертексами
Итак, с основными ошибками мы Вас познакомили. Теперь Вы знаете, чего делать НЕЛЬЗЯ. А вот что делать можно
Чтобы войти в режим работы с вертексами, необходимо:
выделить объект
выбрать инструмент Vertex Manipulation [Shift-V]
Чтобы убрать режим работы с вертексами нужно нажать на красную стрелочку (Инструмент выбора). После перехода в режим работы с вертексами, объект становится полупрозрачным. Веришины объекта заменяются белыми точками, а центры ребер — желтыми.
Манипуляция с вертексами имеет 3 режима, которые переключаются по кругу, повторными нажатиями на иконку с инструментом или клавиш [Shift-V].
В первом режиме можно перемещать и вершины, и ребра объекта;
Во втором — только вершины;
В третьем — только ребра.
Простейшие операции
Теперь давайте посмотрим, как совершаются простейшие операции. Например, что нужно сделать для превращения куба вот в такой объект (см. рис. ниже справа).
Последовательность действий (поясняющий рисунок ниже):
Строим куб
Выделяем его и выбираем инструмент Vertex, выбираем верхнюю точку (середину ребра)
Нажимаем Ctrl-F, чтобы создать дополнительное ребро
Снова выделяем цетральную точку (белую на этот раз) и тянем ее вверх
В 3-х мерном виде Шаг 3 (создание нового ребра между двумя точками) выглядит так:
Чтобы в 3-d виде провести новое ребро между двумя вертексами, нужно сначала их выделить (рисунок слева) и затем нажать Ctrl-F, появится новое ребро, соединяющее выделенные точки (рисунок справа).
На виде сверху (и любом другом 2-d виде) в отличии от 3-d вида при нажатии на вертекс, выделяются все «совпадающие» вертексы, т.е. вертексы, находящиеся друг за другом. И при перетаскивании такой точки, перемещается целое ребро.
Создание пирамиды
Давайте еще потренируемся в работе с вертексами и превратим тот же куб в пирамиду (см. рис. ниже).
Схематически наши действия выглядят следующим образом:
Мы по очереди перемещаем каждую из 4-х вершин в центр верхней грани куба. Удобнее всего сначала в 3-d виде выбрать одну вершину и затем в 2-d виде переместить ее в центр. Так необходимо поступить со всеми четырмя вершинами.
Когда Вы переместите в центр вторую вершину (а затем и 3, и 4), появится вот такое окошко (см. рис. ниже) с вопросом «Merge vertices?», т.е. «Совместить вершины?».
На этот вопрос всегда отвечайте «ДА». Трудно представить случай, когда необходимо ответить «НЕТ»... Более того, если Вы ответите нет, то получите при компиляции ошибку «Plane with no normal». Выше мы кратко описали в чем ее суть, еще немного дополнительной информации об этой ошибке Вы можете прочитать здесь.
Масштабирование
Эта операция применяется довольно редко (если вообще применяется ;-), однако иногда она может пригодиться и значительно ускорить создание, например, формы для световых лучей. В итоге у нас получится нечто вроде усеченной пирамиды (см. рис. ниже).
Строим объект (в нашем случае куб)
Выделяем четыре вертекса, образующих верхнюю грань
Нажимаем Alt-E; появляется окошко с выбором масштаба (рисунок справа)
Изменяем масштаб и жмем Enter
Чтобы изменения вступили в силу, выходим из режима вертексов, нажатием на Инструмент выбора
Оптимизируем карту
Манипуляция вертексами может пригодится для оптимизации карты. Давайте рассмотрим такой пример: мы хотим создать стенку с усеченным углом (см. рис. ниже).
Вместо того, чтобы создавать 2 отдельных браша...
...лучше создать один большой с усеченным углом (см. рис. ниже).
На любой достаточно крупной карте можно найти десятки мест, где возможно использование одного крупного браша вместо 2-3 мелких — эта техника позволяет сокращать общее время компиляции карты (т.к. меньше брашей) и иногда уменьшает r_speeds, что соответственно приводит к увеличению fps.
Отсюда правило — старайтесь, где только это возможно, использовать большие (комплексные, как их еще называют) браши вместо нескольких мелких.
На этом наша вводная статья о работе с вершинами объектов закончена. Подробнее о применении инструмента вертексной манипуляции Вы можете прочитать в статьях из разделов: «Арки», «Крыши» и «Продвинутый маппинг» (создание гор, туннелей и канализаций).