Я намагаюся зрозуміти математичну теорію, що стоїть за УФВ-картою. Хто-небудь може мені пояснити, як працює UVW-картування? Або принаймні надайте мені вказівник?
Я намагаюся зрозуміти математичну теорію, що стоїть за УФВ-картою. Хто-небудь може мені пояснити, як працює UVW-картування? Або принаймні надайте мені вказівник?
Відповіді:
Це те, як я це розумію. Може бути абсолютно неправильним, але я впевнений, що хтось зробить цеполум'я виправте мене, якщо я помиляюся.
Математична теорія, що стоїть за ультрафіолетовим відображенням текстури, аналогічна теорії, що стоїть за ультрафіолетовим відображенням текстур.
Дивіться посилання Bummzack тут: Що саме таке УФ та УФВ картографування? щоб краще пояснити, що таке УФ-карти. В основному, ви зіставляєте ділянку текстури на площу поверхні. Інтерполяція значень між ними на основі цих відображень.
Те ж саме з UVW. За винятком того, що ви відображаєте об'єм текстури в об'єм поверхонь. Інтерполяція значень між ними. Тепер за допомогою 3-го виміру ви зможете перевернути 2d текстуру, щоб краще вмістити об'єкт.
Давайте подивимось, як це використовується в 3D-текстурах. 3D текстури можна створювати шарами двовимірних текстур та інтерполюючи текстилі між ними. Візуально 3D текстура може виглядати приблизно так:
Там, де "площини" на осі R - це 2D текстури. Якби ми встановили кожен шар на інший суцільний колір і застосували це до 3D-об’єкта, ми отримали б щось подібне:
Ви можете бачити, як суцільні кольори були інтерпольовані між шарами. Ось такий же тип речей, але з пейзажем. Де зверху вниз текстури можуть бути: сніг, скеля, трава, пісок.
Тепер, якщо ми використовуємо лише одну "площину" R (одну двовимірну текстуру), але відображаємо на 3D-об'єкт? Очевидно, що це не дає стільки гнучкості, скільки декількох шарів текстур, але, безумовно, це набагато менше роботи. Однак саме проектування двовимірної текстури на тривимірну поверхню спричинить деякі проблеми. Подумайте про ситуацію, коли ви світите лазером на стіні. Під перпендикулярним кутом лазерна точка є приємною і круглою. Під будь-яким іншим кутом точка починає розтягуватися і коситися. Те ж саме станеться і при проектуванні двовимірної текстури на 3D-поверхню. Будь-яке обличчя, не перпендикулярне проекції, буде спотворене. Як це виправити? Спотворюючи проекцію. Візьмемо приклад лазера, якби у нас був лазер, який при сяйві на перпендикулярній поверхні він розтягувався і перекошувався. Коли ми просвітили цей лазер на кутовій стіні, кут міг "3-й вимір дозволяє нам "формувати" проекцію так, щоб вона відповідала поверхні, на яку ми прагнемо. Наприклад, якась хвиляста 3D поверхня може мати таку текстуру (але не настільки м'якувата):
Як я вже сказав, це лише моє розуміння цього. Я погоджуюсь, на цю тему не так багато хорошої інформації. Сподіваємось, ця відповідь (швидше за все, неправильна) підкаже когось, хто має більше знань з цього питання, виступити.
Зображення для 3D-текстур з'явилися з цієї сторінки: http://www.gpwiki.org/index.php/OpenGL:Навчальні подіїD_Textures