Меню сайта


[DS]: Half-Life Server
[DS]: Half-Life Server


[DS]: CS:S GunGame v34 Server
[DS]: CS:S GunGame v34 Server


[DS]: CS:S v34 Server
[DS]: CS:S v34 Server


Поиск

add_newДобавить новость
Последние добавленные

just a retexture i did of a popular skin pack

Читать далее

<JAM>
m1-palinka


HL-HEV
hl-hev


Vertex Manipulation — изменение формы объектов

Добавил: root
2013-01-06 07:25:16
416 просмотров

В этой статье мы расскажем как правильно использовать такой полезный, а в некоторых случаях просто незаменимый инструмент, как Vertex Manipulation, также мы рассмотрим наиболее распространенные ошибки, допускаемые начинающими мапперами, не до конца освоившими этот инструмент.

Набор объектов, которые мы можем построить в редакторе достаточно скуден. Он включает: параллелепипед (а также куб, как его разновидность), цилиндр, пирамиду и угол (половинка параллелепипеда). Из всех этих простых объектов и состоят карты.

Инструмент Vertex Manipulation позволяет изменять форму простых объектов, таким образом, у нас появляется возможность создавать более сложные объекты, такие как, например, скалы, возвышенности, уступы и т.п.

Вертексы (verteces) — вершины объекта (точки, в которых пересекаются ребра)
Манипуляция — изменение формы объекта путем перемещения его вершин (вертексов)

Как известно из курса школьной геометрии, плоскость в пространстве задается 3-мя точками, т.е. через любые 3 точки пространства можно провести плоскость и при том только одну. В маппинге чаще всего плоскость задается четырмя точками (см. рис. ниже).

Плоскость, заданная четырмя вершинами



Вертексы (вершины) объектов в 3-d виде редактора изображаются белыми точками, а ребра — желтыми. Жетые точки размещаются посередине ребра.

Ошибка №1

Так как количество точек зачастую равно четырем, то вполне возможна ситуация, когда одна из них не будет лежать в одной и той же плоскости, что и другие 3.

Создадим подобную ситуацию, для этого переместим вниз правую ближнюю к нам точку. В итоге у нашей плоскости возникнет «изгиб» (см. рис. ниже).

Неправильная плоскость, заданная четырмя вершинами



Такой браш при компиляции вызовет ошибку! Для движка Half-Life обязательным условием является нахождение в одной плоскости ВСЕХ точек, ее образующих.

Чтобы исправить данную ошибку, необходимо провести дополнительное ребро (см. рис. ниже).

Провели дополнительное ребро



Теперь вместо одной плоскости мы имеем 2.

Переходя к конкретным объектам, наша ошибка будет выглядеть так:

Неправильная манипуляция с вертексами



Часто одна или несколько сторон такого неправильного (битого, как его еще называют) браша как бы «исчезает» (пропадает). Вот как это выглядит в редакторе:

Так выглядит битый браш в редакторе



Таким образом, если после манипуляции с вертексами, Вы заметите, что одна или несколько сторон объекта исчезла или как-то странно мелькает, то данный браш 100% имеет неправильную форму, которую необходимо исправить.

Ошибка №2

Данная ошибка возникает, когда 2 стороны одного браша лежат в одной плоскости (см. рис. ниже).

2 стороны одного браша лежат в одной плоскости



Как получается эта ошибка? Сначала мы выделили середины противоположных ребер (они изображаются желтыми точками, а когда выделены — красными), затем мы провели дополнительное ребро (рисунок справа). Ребро проводится нажатием [Ctrl-F].

Такой объект при компиляции вызовет ошибку «coplanar plane» или по-другому «Brush with coplanar faces». Подробнее об этой ошибке Вы можете прочитать здесь.

Ошибка №3

Третья очень распространенная ошибка это «leaf saw into leaf». Возникает она в ситуации, когда объект как бы «смотрит» внутрь себя (см. рис. ниже).

Объект "смотрит" сам в себя



В 3-d виде это выглядит так:

Объект "смотрит" сам в себя (3-d вид)



Для движка Half-Life это тоже недопустимая ситуация. Как проверить, что данной ошибки нет? Очень просто. Мысленно проведите через каждую сторону объекта плоскость, если она НЕ ПЕРЕСЕКАЕТ объект ни в какой из частей, то ошибки нет. Если пересечение есть — значит ошибка.

В самом деле, если мы проведем плоскость через одну из верхних граней (см. рис.), то она пересечет наш объект, а это недопустимо!

А выход из данной ситуации простой — замените один браш двумя, как показано на рисунке ниже.

Заменяем один браш двумя



При компиляции данная ошибка проявляется не всегда (карта может успешно докомпилироваться до конца), но в игре браш будет иметь неправильную форму, некоторые из граней могут пропасть (как это бывает при ошибке №1).

Ошибка №4

Название этой ошибке «Plane with no normal». Она возникает, когда Вы совмещаете две вершины в одной точке и на вопрос «Merge veteces?» (т.е. «Совместить вершины?») отвечаете «НЕТ». Получается, что две точки одной грани имеют одни и те же координаты (т.е. находятся в одном месте пространства), а это недопустимо.

Поэтому, чтобы данная ошибка никогда у Вас не возникала — на этот вопрос всегда отвечайте «ДА».


Разновидности манипуляции с вертексами

Инструмент Vertex Manipulation

Итак, с основными ошибками мы Вас познакомили. Теперь Вы знаете, чего делать НЕЛЬЗЯ. А вот что делать можно :)

Чтобы войти в режим работы с вертексами, необходимо:

  • выделить объект
  • выбрать инструмент Vertex Manipulation [Shift-V]

Чтобы убрать режим работы с вертексами нужно нажать на красную стрелочку (Инструмент выбора).

После перехода в режим работы с вертексами, объект становится полупрозрачным. Веришины объекта заменяются белыми точками, а центры ребер — желтыми.

Манипуляция с вертексами имеет 3 режима, которые переключаются по кругу, повторными нажатиями на иконку с инструментом или клавиш [Shift-V].

3 режима работы с вертексами



В первом режиме можно перемещать и вершины, и ребра объекта;
Во втором — только вершины;
В третьем — только ребра.

Простейшие операции

Теперь давайте посмотрим, как совершаются простейшие операции. Например, что нужно сделать для превращения куба вот в такой объект (см. рис. ниже справа).

Превращаем куб



Последовательность действий (поясняющий рисунок ниже):

  • Строим куб
  • Выделяем его и выбираем инструмент Vertex, выбираем верхнюю точку (середину ребра)
  • Нажимаем Ctrl-F, чтобы создать дополнительное ребро
  • Снова выделяем цетральную точку (белую на этот раз) и тянем ее вверх
Превращаем куб: последовательность действий



В 3-х мерном виде Шаг 3 (создание нового ребра между двумя точками) выглядит так:

Добавляем ребро



Чтобы в 3-d виде провести новое ребро между двумя вертексами, нужно сначала их выделить (рисунок слева) и затем нажать Ctrl-F, появится новое ребро, соединяющее выделенные точки (рисунок справа).

На виде сверху (и любом другом 2-d виде) в отличии от 3-d вида при нажатии на вертекс, выделяются все «совпадающие» вертексы, т.е. вертексы, находящиеся друг за другом. И при перетаскивании такой точки, перемещается целое ребро.

Создание пирамиды

Давайте еще потренируемся в работе с вертексами и превратим тот же куб в пирамиду (см. рис. ниже).

Превращаем куб в пирамиду



Схематически наши действия выглядят следующим образом:

Каждую из 4-х вершин перемещаем в центр верхней стороны куба



Мы по очереди перемещаем каждую из 4-х вершин в центр верхней грани куба. Удобнее всего сначала в 3-d виде выбрать одну вершину и затем в 2-d виде переместить ее в центр. Так необходимо поступить со всеми четырмя вершинами.

Когда Вы переместите в центр вторую вершину (а затем и 3, и 4), появится вот такое окошко (см. рис. ниже) с вопросом «Merge vertices?», т.е. «Совместить вершины?».

Диалоговое окно с вопросом о совмещении вершин



На этот вопрос всегда отвечайте «ДА». Трудно представить случай, когда необходимо ответить «НЕТ»... Более того, если Вы ответите нет, то получите при компиляции ошибку «Plane with no normal». Выше мы кратко описали в чем ее суть, еще немного дополнительной информации об этой ошибке Вы можете прочитать здесь.

Масштабирование

Эта операция применяется довольно редко (если вообще применяется ;-), однако иногда она может пригодиться и значительно ускорить создание, например, формы для световых лучей (Статья по созданию световых лучей). В итоге у нас получится нечто вроде усеченной пирамиды (см. рис. ниже).

Превращаем куб в усеченную пирамиду путем масштабирования



  • Строим объект (в нашем случае куб)
  • Выделяем четыре вертекса, образующих верхнюю грань
  • Нажимаем Alt-E; появляется окошко с выбором масштаба (рисунок справа)
  • Изменяем масштаб и жмем Enter
  • Чтобы изменения вступили в силу, выходим из режима вертексов, нажатием на Инструмент выбора
Выделяем верхние вертексы и жмем Alt-E



Оптимизируем карту

Манипуляция вертексами может пригодится для оптимизации карты. Давайте рассмотрим такой пример: мы хотим создать стенку с усеченным углом (см. рис. ниже).

Стенка с усеченным углом



Вместо того, чтобы создавать 2 отдельных браша...

Стенка с усеченным углом, изготовленная из двух брашей



...лучше создать один большой с усеченным углом (см. рис. ниже).

Стенка с усеченным углом из одного браша



На любой достаточно крупной карте можно найти десятки мест, где возможно использование одного крупного браша вместо 2-3 мелких — эта техника позволяет сокращать общее время компиляции карты (т.к. меньше брашей) и иногда уменьшает r_speeds, что соответственно приводит к увеличению fps.

Отсюда правило :) — старайтесь, где только это возможно, использовать большие (комплексные, как их еще называют) браши вместо нескольких мелких.

На этом наша вводная статья о работе с вершинами объектов закончена. Подробнее о применении инструмента вертексной манипуляции Вы можете прочитать в статьях из разделов: «Арки», «Крыши» и «Продвинутый маппинг» (создание гор, туннелей и канализаций).



§ 5.1 Как создать браш, энтити, префаб?
§ 5.2 Возможности инструмента Block
§ 5.3 Инструмент Clip — разрезание объектов
§ 5.4 Создание отверстий при помощи Carve
§ 5.5 Создание пустотелых объектов при помощи Hollow
§ 5.6 Vertex Manipulation — изменение формы объектов
§ 5.7 Моя первая карта
§ 5.8 Как сделать DE-карту?
§ 5.9 Как сделать CS-карту?
§ 5.10 Как сделать AS-карту?
§ 5.11 Как сделать ES-карту?
§ 5.12 Другие типы карт

Поделиться:
Тэги: