紋理是怎樣顯示在模型上的

看完games101的第8和9章,就會很好理解這些內容。三維世界中的模型是由點組成三角形,進而組成複雜的模型。每個面都有不同的顏色(像素),可以用紋理來貼上去,最後在形成在屏幕上。

立方體例子

如何把2d的圖片包到3d的模型上面?

image-20240413164346450

把3d物品展開成平面(展UV),和小時候做包裝紙那樣

image-20240413164733931

Blender零基礎入門教程15【材質篇】EP3.2 紋理座標與映射節點詳解 顏色漸變 - YouTube

什麼是UV貼圖?

UV 貼圖是一種將 3D 模型表面紋理映射到 2D 平面上的技術。在 3D 模型製作過程中,UV 貼圖通常用於將紋理圖像應用到模型表面,以增加模型的細節和真實感。

2D紋理貼圖只有x、y 座標,那它是如何貼到xyz的3D模型上的呢?

這張貼圖並不是直接產生的,而是展開 3D 對象得到UV貼圖,貼圖中每個點不僅保存顏色信息還保存了要映射到模型的座標信息。

如何得到一張UV紋理?

  1. 將 3D 模型表面劃分爲多個面,並將每個面映射到 2D 平面上,形成 UV 網格。

  2. 將 UV 網格導出爲圖像文件,通常是一個包含多個小圖像的紋理圖像。

  3. 使用圖像軟件編輯紋理圖像。

  4. 將紋理圖像應用到 3D 模型上表面上,以增加模型的細節和真實感。

角色

那麼對於角色模型這種複雜的模型展開uv之後是怎樣的?

遊戲公司製作角色模型是在3dmax中製作模型,並且上好色,然後導出這張貼圖,這張貼圖並不是美術直接畫出來的。

How to Remap the UV Textures of a 3D Scan in BodyPaint 3D / Cinema 4D - 3D Scan Expert

img

爲什麼低模和立方體流暢?

立方體展開

image-20240413205830766

遊戲模型展開後有非常多的多邊形

image-20240413205901068

模型的上色(shading)就是遍歷全部的頂點進行上色

而低模頂點數大約只佔高模的10%,性能提升90%

minmap如何降低消耗

快速的近似正方形採樣,存儲體積只佔1/3

UV中的0,1

UV中的值是從0~1,這是一個約定

假設把小圖貼到大圖上,如何保證座標的轉換?就要設定一個標準,也就是(0,1)

10x10 -> 1024x1024的,10個像素上的顏色都是一樣的

1024x1024 -> 10x10,10像素點擠在一個像素點上,再取平均值造成失真

天空盒的原理

立方體或球體,向每個方向發射檢測光

image-20240413210712550

相關資料

使用google 搜索以下關鍵字就可找到有關圖片

3d model texture mapping

Triangle Mesh Model

什麼是UV映射和解包? (conceptartempire.com)

Maya 幫助 | UV | Autodesk

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章