網格UV展開

2022-08-28 00:15:07 字數 1588 閱讀 2996

uv展開是什麼

引數曲面的引數域變數一般用uv字母來表達,比如引數曲面f(u,v)。所以一般叫的三維曲面本質上是二維的,它所嵌入的空間是三維的。凡是能通過f(u,v)來表達的曲面都是引數曲面,比如nurbs曲面。對於三角網格,如果能把它與引數平面建立一一對映,那麼它也就被引數化了,這個對映就是uv展開。如下圖所示,左圖是右邊網格在引數平面上的展開,這樣每個頂點都有了乙個uv引數值,這也被稱為紋理座標。

圖1什麼樣的網格可以做uv展開

那是不是所有的網格都可以做uv展開呢?答案是否定的。只有圓盤拓撲結構的網格才能展開到平面上,比如乙個球,無論如何都不可能在不撕裂的情況下展開到平面。對於任意拓撲結構的網格,需要給它新增割縫,把它分割成一片一片的圓盤結構,再做展開。如下圖所示,這個模型被分割成了很多片,再展開到了平面。

uv展開的扭曲程度

網格展開到平面區域,除了可展曲面,其它曲面在展開後都會產生一些扭曲。一般有兩種扭曲。一種是曲面本身的幾何所決定的,比如球面展開到平面,一定會產生扭曲。想要減少展開的扭曲程度,可以在扭曲程度大的地方增加曲面割線。另一種是展開演算法中的約束產生的扭曲,比如固定邊界的uv展開。一種直觀的觀察展開扭曲程度的方式是,把一張棋盤格貼到網格上,棋盤格越均勻,uv展開扭曲越小。

固定邊界與自由邊界

如圖所示,左圖是自由邊界的uv展開,右圖是固定邊界的uv展開。可以看到自由邊界的展開結果扭曲程度要小很多。

圖3頂點座標與紋理座標的關係

紋理座標與頂點座標不是一一對應的,但我們經常聽見「頂點的紋理座標」這個說法,嚴格來說是不準確的。下面用乙個圖來解釋(這裡考慮三角網格的情況,其餘情況類似):

可以看出頂點座標與紋理座標其實沒有直接聯絡,他們是用過三角麵片間接聯絡起來的。它們之間沒有一一對應的關係。

頂點紋理座標和三角形紋理座標

嚴格來講,頂點並沒有紋理座標的概念,只有三角形有紋理座標的概念。網格uv展開到平面的時候,如果沒有割縫產生,那麼每個頂點在其相鄰三角形內的紋理座標都是一樣的,故可簡稱為頂點的紋理座標。如果有割縫產生,割縫處的頂點在不同三角形內的紋理座標是不一樣的。這時,頂點和紋理座標是一對多的關係。下面說說在實際程式中,頂點紋理座標和三角形紋理座標的應用場景。

網格割縫和紋理座標縫隙的區別

這是兩個不同的概念。把網格頂點對映到紋理座標域所得到的2d網格,和原始網格的拓撲結構可以是不同的。你可以把這兩個網格看成是兩個獨立的網格。紋理座標的縫隙是2d網格的邊界。網格割縫是把網格的拓撲結構改變了,割縫處會產生新的網格頂點。紋理座標縫隙,是在展開的uv空間中,頂點紋理座標的縫隙。縫隙處網格頂點和紋理座標是一對多的關係。

如果在紋理座標縫隙處把網格割開,那麼割開後的網格頂點和紋理座標就是一一對應的關係了。

網格割縫的建立

uv展開的應用裡,經常需要建立一些網格割縫。好的割縫,一般有這些性質:

紋理貼圖應用

網格uv展開經常用於紋理貼圖應用。如下圖所示,網格uv展開到平面後,把網格對應的貼圖填充到uv座標域,就得到了右邊的紋理圖。網格在渲染的時候,每個三角片離散化後,每個離散點會根據uv座標值去紋理圖里拾取顏色。拾取的方法,可以是uv座標值最近點顏色,也可以根據uv座標值的相鄰四個畫素做雙線性差值。

UV小知識積累

紅盒與綠盒包裝的kenko uv鏡都不是kenko自己生產的,綠盒是在馬來西亞oem的,紅盒是在台灣生產的。這兩種都不是好uv鏡,甚至可以說是 很爛 的鏡片。最好的kenko uv鏡是黑盒包裝的,上面有 super pro 字樣,這是超級多層鍍膜的表示,透光率達到99.6 是和hoya 保谷 黑盒的...

UV序列幀動畫

通過上圖實現乙個火焰的序列幀動畫 使用uv實現美術只需要出一張圖,而不用每個火焰狀態出一張圖,節省了記憶體 shader如下 shader custom uvanimation animationspeed animationspeed float 100 framecount framecount...

uV膠點膠機械人 UV膠點膠機選擇那種針頭點膠?

近些年,伴隨著自動化技術發展趨勢的發展趨勢,中國應用uv膠的機器裝置正慢慢邁入了春季。伴隨著點膠主要用途的涉及到擴張看來,各種各樣點膠機型別也剛開始依據領域的不一樣特性規定而慢慢多元化,如上膠機 雙組分自動點膠機和視覺效果點膠機等一樣這般,在應用全過程中點膠機的針頭立即關聯到總體點膠品質。今日我就來...