I. Из чего состоит трёхмерная модель? - вершины, грани, полигоны, текстуры, карты нормалей
Вообще, если приходится объяснять в подробностях, что из себя представляет трёхмерная модель, неизбежно придётся забираться в геометрические дебри, - без них никак. И как ни объясняй всё "на пальцах", всё-таки обойтись без ключевых терминов, увы, не получится.
Итак:
- Вершина (ед. Vertex, мн. Vertices) - грубо говоря, это абстрактная геометрическая точка с координатами X, Y и Z. Вершиной она называется, впрочем, потому, что является крайней точкой либо замкнутого полигона (плоского многоугольника), либо объёмной фигуры.
- Грань (Edge) - отрезок прямой, соединяющий две вершины. Опять же, в трёхмерной графике это не самостоятельное нечто, а лишь ограничитель для полигонов.
- Полигон (poly, polygon) - основная функциональная составляющая: плоская многоугольная фигура (обычно трёхмерные редакторы и другие приложения предпочитают оперировать только треугольниками и четырёхугольниками), из множества которых состоит поверхности трёхмерной фигуры.Любую даже самую сложную фигуру или поверхность можно представить в виде множества простых фигур: такая идеальная фигура, как шар (точнее, сфера), в компьютерной графике в любом случае представляется в виде множества треугольников и четырёхугольников. Чем их будет больше, тем выше степень приближения, то есть, тем более гладкой, тем более сферической будет поверхность. Но опять-таки, это вопрос степени приближения.
- Текстура - изображение, покрывающее поверхность трёхмерной фигуры, используется для придания трёхмерной фигуре материальной достоверности, так сказать. О текстурах и материалах подробно речь пойдёт в следующей части.
- Нормаль и карта нормалей - нормалью в принципе называется вектор, перпендикулярный поверхности в каждой данной её точке. Карта нормалей - это определённого рода текстура, цветовая информация которой (то есть, цвет каждого пикселя) считывается как информация о расположении нормали каждой точке того или иного объекта; с помощью карты нормали можно сформировать иллюзию более сложной поверхности, чем она есть на самом деле.
В 2004 году id Software выпустили Doom III, где Normal Mapping использовался повсеместно, и с тех пор эта технология стала уже некоторым образом "общим местом". Особенно в силу того, что "скульптурное" моделирование значительно облегчает жизнь в плане дизайна.
II. Скульптурное моделирование
Собственно, это определение стоит понимать самым буквальным образом, это именно имитация ваяния, точнее, лепки из пластилина или глины. Инструментарий, который предоставляют MudBox, ZBrush и Blender, позволяет производить над моделью массу хитроумных манипуляций, в точности так, как если бы она была из глины или какого-то другого подобного материала. В ZBrush даже цвет по умолчанию очень характерный: глинисто-красный.Ну, а что с его помощью можно сделать - так вот пожалуйста:
Но это - сотни тысяч, миллионы полигонов. А качественно снятая карта нормалей, как уже сказано выше, позволяет создать иллюзию множества мелких деталей на совсем простой поверхности.
III. Создание 3D модели: придать простому вид сложного
Итак, практически на ваших глазах создадим самое примитивное нечто: кубик. Примитивнее некуда: 8 вершин, 6 граней, 12 рёбер - базовая структура.
Теперь у нас в программе есть режим "лепки". Используем по полной: подвергнем форму кубику ужасным истязаниям:
В результате у нас получилось вот такое странное нечто: высокополигональная, детализированная фигура с очень сложной поверхностью, где счёт вершинам и полигонам переваливает за 45 тысяч. А в чем проблема? — спросит внимательный читатель. А в том, что, когда мы скажем нашему компьютеру: "преврати вот эту штуку в плоскую картинку, чтобы мы другу послали ее или напечатали на принтере" — то компьютер будет очень долго думать над этой задачей.
Но об этом речь пойдет в другой статье. Следите, так сказать, за обновлениями. Между тем, с помощью карты нормалей самым простым фигурам можно придавать вид очень сложных. Например, идеально гладкой поверхности придать вид заметной шершавости.
Путём не слишком хитрых (но и не слишком простых) манипуляций получаем пресловутую карту нормалей: в сущности, это не более чем текстура, правда, со своим особым цветовым пространством, где цветовая информация - а именно, комбинация красного (R), зелёного (G) и синего (B) цветов для каждого пикселя — описывает его видимое положение в системе координат X, Y и Z, каждый цвет соответствует одной из осей координат. Вот так выглядит карта нормалей:
Почему именно так? - Потому что для её получения потребовалось сделать UV-развёртку, т.е. осуществить развёртку поверхности трёхмерной фигуры на плоскость (как и зачем это делается смотрите в следующей статье, пока на этом заострять внимание не будем). Накладываем карту нормалей и Voila!..
Так, отставить. Фокус удался не полностью. Почему? Во-первых, потому что в сложной фигуре были искривлены боковые грани, и существенно. А на простом кубе они остались на месте. Если бы они были скруглены и искажены примерно (но только примерно) так же, как у высокополигональной фигуры, карта нормалей смотрелась бы намного более убедительно.
Кроме того: лунки на гранях высокополигональной фигуры слишком глубокие. Карты нормалей хороши для того, чтобы имитировать небольшие шероховатости, а не глубокие рытвины на плоской поверхности. Более того, если поверхность с наложенной картой нормалей оказывается под большим углом к зрителю (как на иллюстрации), обман становится очевиден. Опять-таки: карта нормалей позволяет экономить на полигонах, но лишь до известного предела. Вот так и создается любая 3D модель.
Читать далее...источник: Mir3d.ru
Комментариев нет:
Отправить комментарий