Як працює відображення текстури UVW?


13

Я намагаюся зрозуміти математичну теорію, що стоїть за УФВ-картою. Хто-небудь може мені пояснити, як працює UVW-картування? Або принаймні надайте мені вказівник?



Дякую, але все одно мені незрозуміло значення W. Чи є якась книга, яку слід наслідувати?
Джек

Я думаю, що W - це лише те, що текстури зазвичай мають 3 канали, я не знаю реального використання для цього.
Ельва

1
@Yourdoom W не має нічого спільного з кількістю каналів, які має текстура. Він скоріше використовується для 3d текстур або перспективного текстурування.
Кріс каже, що відновити Моніку

4
XY - це XYZ, так як УФ - це UVW. W - це буква, яка використовується при описі 3-го виміру текстури.
MichaelHouse

Відповіді:


14

Це те, як я це розумію. Може бути абсолютно неправильним, але я впевнений, що хтось зробить цеполум'я виправте мене, якщо я помиляюся.

Математична теорія, що стоїть за ультрафіолетовим відображенням текстури, аналогічна теорії, що стоїть за ультрафіолетовим відображенням текстур.

Дивіться посилання Bummzack тут: Що саме таке УФ та УФВ картографування? щоб краще пояснити, що таке УФ-карти. В основному, ви зіставляєте ділянку текстури на площу поверхні. Інтерполяція значень між ними на основі цих відображень.

Те ж саме з UVW. За винятком того, що ви відображаєте об'єм текстури в об'єм поверхонь. Інтерполяція значень між ними. Тепер за допомогою 3-го виміру ви зможете перевернути 2d текстуру, щоб краще вмістити об'єкт.

Давайте подивимось, як це використовується в 3D-текстурах. 3D текстури можна створювати шарами двовимірних текстур та інтерполюючи текстилі між ними. Візуально 3D текстура може виглядати приблизно так:

Приклад 3D текстури

Там, де "площини" на осі R - це 2D текстури. Якби ми встановили кожен шар на інший суцільний колір і застосували це до 3D-об’єкта, ми отримали б щось подібне:

3D текстури застосовано

Ви можете бачити, як суцільні кольори були інтерпольовані між шарами. Ось такий же тип речей, але з пейзажем. Де зверху вниз текстури можуть бути: сніг, скеля, трава, пісок.

Пейзаж

Тепер, якщо ми використовуємо лише одну "площину" R (одну двовимірну текстуру), але відображаємо на 3D-об'єкт? Очевидно, що це не дає стільки гнучкості, скільки декількох шарів текстур, але, безумовно, це набагато менше роботи. Однак саме проектування двовимірної текстури на тривимірну поверхню спричинить деякі проблеми. Подумайте про ситуацію, коли ви світите лазером на стіні. Під перпендикулярним кутом лазерна точка є приємною і круглою. Під будь-яким іншим кутом точка починає розтягуватися і коситися. Те ж саме станеться і при проектуванні двовимірної текстури на 3D-поверхню. Будь-яке обличчя, не перпендикулярне проекції, буде спотворене. Як це виправити? Спотворюючи проекцію. Візьмемо приклад лазера, якби у нас був лазер, який при сяйві на перпендикулярній поверхні він розтягувався і перекошувався. Коли ми просвітили цей лазер на кутовій стіні, кут міг "3-й вимір дозволяє нам "формувати" проекцію так, щоб вона відповідала поверхні, на яку ми прагнемо. Наприклад, якась хвиляста 3D поверхня може мати таку текстуру (але не настільки м'якувата):

Crummy 2D текстура розширена до 3D

Як я вже сказав, це лише моє розуміння цього. Я погоджуюсь, на цю тему не так багато хорошої інформації. Сподіваємось, ця відповідь (швидше за все, неправильна) підкаже когось, хто має більше знань з цього питання, виступити.

Зображення для 3D-текстур з'явилися з цієї сторінки: http://www.gpwiki.org/index.php/OpenGL:Навчальні подіїD_Textures

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.