看完games101的第8和9章,就會很好理解這些內容。三維世界中的模型是由點組成三角形,進而組成複雜的模型。每個面都有不同的顏色(畫素),可以用紋理來貼上去,最後在形成在螢幕上。
立方體例子
如何把2d的圖片包到3d的模型上面?
把3d物品展開成平面(展UV),和小時候做包裝紙那樣
Blender零基礎入門教程15【材質篇】EP3.2 紋理座標與對映節點詳解 顏色漸變 - YouTube
什麼是UV貼圖?
UV 貼圖是一種將 3D 模型表面紋理對映到 2D 平面上的技術。在 3D 模型製作過程中,UV 貼圖通常用於將紋理影像應用到模型表面,以增加模型的細節和真實感。
2D紋理貼圖只有x、y 座標,那它是如何貼到xyz的3D模型上的呢?
這張貼圖並不是直接產生的,而是展開 3D 物件得到UV貼圖,貼圖中每個點不僅儲存顏色資訊還儲存了要對映到模型的座標資訊。
如何得到一張UV紋理?
-
將 3D 模型表面劃分為多個面,並將每個面對映到 2D 平面上,形成 UV 網格。
-
將 UV 網格匯出為影像檔案,通常是一個包含多個小影像的紋理影像。
-
使用影像軟體編輯紋理影像。
-
將紋理影像應用到 3D 模型上表面上,以增加模型的細節和真實感。
角色
那麼對於角色模型這種複雜的模型展開uv之後是怎樣的?
遊戲公司製作角色模型是在3dmax中製作模型,並且上好色,然後匯出這張貼圖,這張貼圖並不是美術直接畫出來的。
How to Remap the UV Textures of a 3D Scan in BodyPaint 3D / Cinema 4D - 3D Scan Expert
為什麼低模和立方體流暢?
立方體展開
遊戲模型展開後有非常多的多邊形
模型的上色(shading)就是遍歷全部的頂點進行上色
而低模頂點數大約只佔高模的10%,效能提升90%
minmap如何降低消耗
快速的近似正方形取樣,儲存體積只佔1/3
UV中的0,1
UV中的值是從0~1,這是一個約定
假設把小圖貼到大圖上,如何保證座標的轉換?就要設定一個標準,也就是(0,1)
10x10 -> 1024x1024的,10個畫素上的顏色都是一樣的
1024x1024 -> 10x10,10畫素點擠在一個畫素點上,再取平均值造成失真
天空盒的原理
立方體或球體,向每個方向發射檢測光
相關資料
使用google 搜尋以下關鍵字就可找到有關圖片
3d model texture mapping
Triangle Mesh Model
什麼是UV對映和解包? (conceptartempire.com)
Maya 幫助 | UV | Autodesk