Saya mencoba memahami teori matematika di balik pemetaan UVW. Adakah yang bisa menjelaskan cara kerja pemetaan UVW? Atau setidaknya berikan saya petunjuk?
Saya mencoba memahami teori matematika di balik pemetaan UVW. Adakah yang bisa menjelaskan cara kerja pemetaan UVW? Atau setidaknya berikan saya petunjuk?
Jawaban:
Ini adalah cara saya memahaminya. Mungkin benar-benar salah, tapi saya yakin seseorang akan melakukannyaapi koreksi saya jika saya salah.
Teori matematika di balik pemetaan tekstur UVW mirip dengan teori di balik pemetaan tekstur UV.
Lihat tautan Bummzack di sini: Apa sebenarnya Pemetaan UV dan UVW? untuk mendapatkan penjelasan yang lebih baik tentang apa itu pemetaan UV. Pada dasarnya, Anda memetakan area tekstur ke area permukaan. Interpolasi nilai-nilai di antara berdasarkan pemetaan tersebut.
Hal yang sama dengan UVW. Kecuali sekarang Anda memetakan volume tekstur ke volume permukaan. Interpolasi nilai-nilai di antara keduanya. Sekarang dengan dimensi ke-3 Anda dapat membengkokkan tekstur 2d agar lebih sesuai dengan objek.
Mari kita lihat bagaimana ini digunakan dalam tekstur 3D. Tekstur 3D dapat dibuat dengan lapisan tekstur 2D, dan menyisipkan texels di antaranya. Secara visual tekstur 3D dapat terlihat seperti ini:
Di mana "pesawat" pada sumbu R adalah tekstur 2D. Jika kita mengatur setiap layer ke warna solid yang berbeda, dan menerapkan ini pada objek 3D, kita akan mendapatkan sesuatu seperti ini:
Anda dapat melihat bagaimana warna solid telah diinterpolasi di antara lapisan. Ini jenis yang sama, tetapi dengan lanskap. Di mana dari atas ke bawah, teksturnya bisa: salju, batu, rumput, pasir.
Sekarang jika kita hanya menggunakan satu "pesawat" R (satu tekstur 2D), tetapi memetakan ke objek 3D? Jelas ini tidak memberikan fleksibilitas sebanyak tekstur berlapis-lapis, tetapi tentu saja ini jauh lebih tidak berhasil. Namun, hanya memproyeksikan tekstur 2D ke permukaan 3D akan menyebabkan beberapa masalah. Pikirkan situasi di mana Anda menyinari laser di dinding. Pada sudut tegak lurus titik laser bagus dan bulat. Di sudut lain mana pun, titik mulai meregang dan miring. Hal yang sama akan terjadi ketika memproyeksikan tekstur 2D ke permukaan 3D. Wajah apa pun yang tidak tegak lurus dengan proyeksi akan terdistorsi. Bagaimana kita memperbaikinya? Dengan memutarbalikkan proyeksi. Ambil contoh laser, jika kita memiliki laser yang ketika bersinar pada permukaan tegak lurus itu diregangkan dan miring. Ketika kita menyorot laser itu ke dinding miring, sudut bisa "Dimensi ke-3 memungkinkan kita untuk "membentuk" proyeksi sehingga sesuai dengan permukaan yang kita tuju. Misalnya, beberapa jenis permukaan 3D bergelombang mungkin memiliki tekstur seperti ini (tetapi tidak begitu payah):
Seperti yang saya katakan, ini hanya pemahaman saya tentang itu. Saya setuju, tidak ada banyak informasi bagus tentang hal ini. Semoga jawaban ini (kemungkinan salah) akan mendorong seseorang dengan pengetahuan lebih banyak tentang subjek untuk berbicara.
Gambar untuk tekstur 3D berasal dari halaman ini: http://www.gpwiki.org/index.php/OpenGL:Tutorials:3D_Textures