UV-преобразование: различия между версиями

Перейти к навигации Перейти к поиску
111 байт добавлено ,  1 год назад
м
нет описания правки
м (Викификация)
Метки: правка через визуальный редактор правка с мобильного устройства правка из мобильной версии Задача для новичков
мНет описания правки
[[Файл:UV mapping checkered sphere.png|thumb|Шахматная текстура на сфере: слева — общая матрица на всю сферу, справа — развёртка с равнопромежуточной проекцией]]
[[Файл:Cube Representative UV Unwrapping.png|thumb|Пример наложения текстуры на [[куб]]. Текстура имеет вид плоской [[Развёртка|развёртки]].]]
'''UV-преобразование''' или '''развёртка''' в [[трёхмерная графика|трёхмерной графике]] ({{lang-en|UV map}}) — это соответствие между [[Система координат|координатами]] на поверхности [[Трёхмерное пространство|трёхмерного объекта]] (''X'', ''Y'', ''Z'') и координатами на [[текстура (трёхмерная графика)|текстуре]] (''U'', ''V''). Значения ''U'' и ''V'' обычно изменяются от 0 до 1<ref>Есть также режим, когда ''U'' и ''V'' произвольны, а видеоплата берёт [[дробная часть|дробную часть]], это позволяет покрыть поверхность повторяющейся текстурой. Однако в таком режиме развёртку готовят алгоритмически, а не вручную.</ref>. Развёртка может строиться как вручную, так и автоматически — например, в [[3Ds Studio MAX]] есть несколько [[Алгоритм|алгоритмов]] автоматического развертывания модели.
 
Современное [[Трёхмерное пространство|трёхмерное]] аппаратное обеспечение считает, что UV-преобразование в пределах одного треугольника является [[аффинное преобразование|аффинным]] — поэтому достаточно задать ''U'' и ''V'' для каждой вершины каждого из [[Треугольник|треугольников]]. Впрочем, как именно стыковать треугольники друг с другом, выбирает [[3D-моделер]], и умение строить удачную развёртку — один из показателей его класса. Существует несколько противоречащих друг другу показателей качества развёртки:
* Максимально полное использование площади [[Текстура|текстуры]]. Впрочем, в зависимости от разрыва между «минимальными» и «максимальными» системными требованиями, по краям развёртки текстуре нужен определённый «припуск» на генерацию [[MIP-текстурирование|текстур меньшего размера]].<ref name="valve" />
* Отсутствие областей с недостаточной или избыточной детализацией текстуры.
* Отсутствие областей с излишними геометрическими искажениями.
* Сходство со стандартными [[Ракурс|ракурсами]], с которых обычно рисуется или фотографируется объект, упрощает работу [[Художник по текстурам|художника по текстурам]].
* Удачно расположенные «швы» — линии, соответствующие одному ребру, но расположенные в разных местах текстуры. Швы желательны, если есть естественный «разрыв» поверхности (швы одежды, кромки, сочленения и т. д.), и нежелательны, если таковых нет. В моделировании персонажей [[Dota 2]] участвовали любители со всего мира, и руководство по [[Моделирование|моделированию]] ''требовало'', чтобы глаза были отдельным «островком» развёртки.<ref name="valve">[https://support.steampowered.com/kb_article.php?ref=8687-AGJK-8415 DOTA 2 item UV mapping]</ref>
* Для частично симметричных объектов: удачное сочетание симметричных и асимметричных участков развёртки. [[Симметрия]] повышает детализацию текстуры и упрощает работу художника по текстурам; асимметричные детали «оживляют» объект.
 
== Пример: равнопромежуточная проекция ==
 
В [[картография|картографии]] [[цилиндрическая проекция]] — семейство [[картографическая проекция|проекций]], которые преобразуют меридианы в вертикали (''U''=const), а параллели в горизонтали (''V''=const). Одна из цилиндрических [[Проекция (геометрия)|проекций]], так называемая [[равнопромежуточная проекция]] (φ — [[широта]], [−π; π]; λ — [[долгота]], [−½π; ½π]):
 
: <math>u = \frac{\varphi}{2 \pi} + 0{,}5</math>
Рисованные и фотографические текстуры используют только две координаты: ''U'' и ''V''. В случае [[процедурная генерация текстур|автогенерируемых]] текстур или [[мультитекстурирование|мультитекстурирования]] возможна третья координата — ''W'', глубина в «континууме текстур»<ref>{{Cite web |url=http://wiki.cgsociety.org/index.php/3ds_Max_UVW_Mapping |title=3ds Max UVW Mapping - CGWiki<!-- Заголовок добавлен ботом --> |accessdate=2013-07-29 |archiveurl=https://web.archive.org/web/20130921054154/http://wiki.cgsociety.org/index.php/3ds_Max_UVW_Mapping |archivedate=2013-09-21 |deadlink=yes }}</ref>. Например, ''W''=0 может быть песком, ''W=1'' — камнями, промежуточные значения — песком, из которого выглядывают камни.
 
Теоретически возможны четвёртая, пятая и т. д. координаты — однако графическое аппаратное обеспечение, накладывая текстуры, проводит преобразование <math>\mathbb{R}^3 \to \mathbb{R}^3</math><ref>Если быть точным, графический ускоритель оперирует 4-мерными векторами, которые представляют собой [[однородные координаты]] точки в R³</ref> и отбрасывает третью координату. UVW-преобразование задействует отброшенную [[Координаты|координату]] на переходы от одной текстуры к другой: это оживляет «заэкранный мир», не меняя серьёзно конструкцию видеоплаты.
 
== Примечания ==

Навигация