Загрузка...
 
Печать

UV-карты (UV Maps)




Intro

Иногда, при нанесении текстур на объекты, дизайнер обнаруживает, что обычная проекция текстуры на полигоны модели (projection mapping) работает не так, как надо. Такое часто случается при текстурировании моделей объектов органического происхождения либо предметов неправильной формы.1 Именно для таких случаев существует UV-текстурирование (UV-mapping).
UV-текстурирование добавляет к каждой точке (=вершине) 3D-объекта (помимо имеющихся координат x, y и z) две дополнительные координаты, "отложенные" по осям U (горизонтальная) и V (вертикальная). Эти оси лежат на специальной плоскости (plane), на которую наносится текстурная карта (map). UV-координаты привязаны к вершинам объекта. Текстура как будто крепится к вершинам объекта, словно портняжными булавками. Неважно, насколько неправилен объект, как он двигается или изгибается. "Булавки" всё равно останутся на своих местах, а вместе с ними и текстура. Конечно, UV-мэпинг не так аккуратен как проекционное текстурирование (projection mapping), т.к. текстура "пригвоздена" только в точках вершин. Но в большинстве случаев данный метод работает отлично. Суть метода UV-текстурирования - в подготовке т.н. UV-карты (UV-map). Инструменты для этого есть во всех профессиональных 3D-редакторах (LightWave 3D, 3DS Max, Maya и др.).

Текстурные карты UV (UV Texture Maps)

Иногда применение стандартных инструментов нанесения текстуры (planar, cylindrical, spherical и др.) на объект неправильной формы может быть ограничено. Эти методы работают только в тех случаях, когда одна большая текстурная карта наносится на объект путём линейного интерполирования (linear interpolation) вдоль осей U и V. В этом случае геометрия объекта вообще никак не влияет на то, как именно накладывается текстура. Но что, если мы специально укажем участки текстурного изображения, которые будут накладываться на объект в определённых точках? Это и есть UV-текстурирование. Между тэксами (tacks; точки "крепления" текстуры к объекту) изображение плавно растягивается или сжимается (при изгибе объекта). Координаты U и V называются текстурными координатами (texture map coordinates) и не слишком отличаются от своих "собратьев" x, y и z. На деле процесс UV-текстурирования представляет собой соотнесение двумерных UV-координат (обычно прямоугольного) изображения с трёхмерными координатами x, y и z объекта в 3D-пространстве. Когда это оказывается выполнено, изменение любой из координат (x, y, z, u или v) вызывает изменение внешнего вида (appearance) текстуры на 3D-объекте. При использовании UV-текстурирования объект предоставляет дополнительную информацию для корректного наложения текстуры, которая может сильно отличаться друг от друга в разных точках объекта. Текстура просто "прилипает" к точкам на поверхности объекта, с учётом отношений, предварительно обозначенных 3D-дизайнером.

UV-координаты и проекция (UVs and Projection)

При текстурировании 3D-объекта сцены дизайнер выбирает:
  • расставить UV-координаты в каждой точке самостоятельно;
  • применить некоторую проекцию, которая автоматически сгенерирует 2D-текстурные координаты в данных точках (с 3D-координатами).
В Lightwave 3D и многих других 3D-редакторах можно создавать UV-координаты, применяя проекции, которые, в принципе, стандартны: плоскостная (planar), цилиндрическая (cylindrical) и сферическая (spherical).
Часто UV-текстурирование не всегда работает идеально. Спроецированная UV-карта двигается вместе с глазами и ноздрями персонажа.
Вообще, текстурирования с помощью стандартных проекций выполняется более аккуратно, т.к. имеет определённое, одинаковое во всех участках поверхности, значение. UV-текстурирование - напротив, технически аккуратно только в малых т.н. пробных точках (sample points). В этом случае текстура интерполируется на большие расстояния между пробными точками. Редактирование положения пробных точек для корректного отображения текстуры на объекте - трудная задача. => Применение UV-текстурирования тоже нелёгкий процесс. К примеру, допустим, у нас есть изображение, распечатанное на очень тонкой, эластичной плёнке, которое надо наклеить на деревянную модель автомобиля. Здесь мы "согласуем" шершавый материал шин, "прилепляя" (tack) его с помощью точек крепления (thumbtacks). Примерно то же самое выполняет UV-текстурирование. Разве что весь процесс выполняется с точностью до наоборот: мы прилепляем UV-точки к объекту.

Источники


1. LightWave v9. Reference Manual, 2007


Последние изменения страницы Вторник 14 / Июнь, 2022 18:08:27 MSK

Последние комментарии wiki

No records to display

Search Wiki Page

Точное совпадение

Категории

|--> C#
|--> C++