unity3d游戏开发之UV贴图教程
一、理解UV貼圖UVs是駐留在多邊形網(wǎng)格頂點上的兩維紋理坐標點,它們定義了一個兩維紋理坐標系統(tǒng),稱為UV紋理空間,這個空間用U和V兩個字母定義坐標軸。用于確定如何將一個紋理圖像放置在三維的模型表面。
本質(zhì)上,UVs是提供了一種模型表面與紋理圖像之間的連接關(guān)系,UVs負責確定紋理圖像上的一個點(像素)應(yīng)該放置在模型表面的哪一個頂點上,由此可將整個紋理都鋪蓋到模型上。如果沒有UVs,多邊形網(wǎng)格將不能被渲染出紋理。
通常在創(chuàng)建MAYA原始對象時,UVs一般都被自動創(chuàng)建(在創(chuàng)建參數(shù)面板上有一個Create UVs選項,默認是勾選的),但大部分情況下,我們還是需要重新安排UVs,因為,在編輯修改模型時,UVs不會自動更新改變位置。
重新安排UVs,一般是在模型完全做好之后,并且在指定紋理貼圖之前進行。此外,任何對模型的修改都可能會造成模型頂點與UVs的錯位,從而使紋理貼圖出現(xiàn)錯誤。更多精彩請點擊【狗刨學習網(wǎng)】
二、UVs和紋理映射NURBS表面與多邊形網(wǎng)格的貼圖機制不同,NURBS表面的UV是內(nèi)建的(已經(jīng)自動定義出U、V),這些UV不能被編輯,移動CV將會影響紋理貼圖。而多邊形的UVs并非一開始就存在,還必須明確地創(chuàng)建并且可以隨后進一步修改編輯。
三、UV貼圖為一個表面創(chuàng)建UVs的過程叫UV貼圖(UV mapping)。這個過程包括創(chuàng)建、編輯。其結(jié)果是明確地決定圖像如何在三維模型上顯示,這項技術(shù)的熟練程度直接影響模型的最后表現(xiàn)。
四、創(chuàng)建UVs
Maya中有很多UVs創(chuàng)建工具:如,自動UV工具、平面UV工具、圓柱UV工具、球形UV工具、用戶自定義UV工具等。每種創(chuàng)建工具都是使用一種預(yù)定的規(guī)則將UV紋理坐標投射到模型表面,自動創(chuàng)建紋理圖像與表面的關(guān)聯(lián)。通常,對自動產(chǎn)生的UV還必須使用UV編輯器進一步編輯才能達到所需要的效果。因為每次對模型的修改(如擠壓,縮放,增加、刪除等等)都會造成UVs錯位,所以最好的工作流程是等模型完全設(shè)計好了之后,再開始創(chuàng)建UVs。
五、觀察和評估UVs
一旦已經(jīng)為一個模型創(chuàng)建了UVs,即可使用UV編輯器編輯它。這個編輯器,可以在一個二維平面上觀察UV坐標點和它與紋理圖像的關(guān)系,并且能手動編輯UV及它的各種元素。
通常,使用創(chuàng)建工具默認產(chǎn)生的UVs可能不符合我們的需求,因此,可以在UV編輯器里,用眼睛觀察評估,并且手動調(diào)節(jié)UVs的位置(重新排列)。
調(diào)節(jié)UVs的參考原則是信賴最終需要貼圖的紋理圖像。也可以說,不同的圖像需要不同的UVs位置。
下述幾種情況需要使用UV編輯器調(diào)節(jié):1、當模型最終要貼的圖像被確定時,可能需要調(diào)節(jié)UV(甚至某些情況下還要調(diào)節(jié)模型網(wǎng)格),以適合那個圖像。2、想使用一個圖像多次重復時。例如一個磚墻。3、在使用了自動創(chuàng)建UV時。自動創(chuàng)建的UV通常總是產(chǎn)生多個基于表面的分離的UV網(wǎng)格,因此可能需要重新排列或者縫合一些分離的UV。4、當模型表面的貼圖發(fā)生嚴重的扭曲、拉伸變形時,可能需要在UV編輯器中將一些UV展開和松馳(Unfold 和 Relax)。注意,要為一個模型創(chuàng)建最好的UV,可能需要經(jīng)過多次嘗試,以及采用不同的UV創(chuàng)建方法。
六、UV貼圖技巧MAYA提供了許多創(chuàng)建和編輯UV的工具,其中UV編輯器是最主要的工具。
懂得如何為一幅現(xiàn)有的圖像找到一個最佳的UV,是一項非常重要的技術(shù),以下是一些基本的指導原則:1、保持UVs坐標值在0-1的范圍在UV編輯器中,UV空間顯示為一個網(wǎng)格標記,工作區(qū)域為0到1。默認,在UV創(chuàng)建過程中,MAYA會自動設(shè)置UVs的值處于0-1之間。但在UV經(jīng)過移動、縮放之后,UV可能被放置在0-1之外。在多數(shù)情況下,應(yīng)該將UV值保持在0-1內(nèi)。當UV值超出0-1時,紋理圖像會出現(xiàn)重復或者環(huán)繞。更多精彩請點擊【狗刨學習網(wǎng)】
2、消除UV殼重疊相互連接UV點而形成的網(wǎng)格,稱為UV殼(UV shell)。在UV編輯器中,如果UV殼出現(xiàn)重疊,則在模型的相應(yīng)的頂點部位出現(xiàn)圖像重復現(xiàn)象。通常應(yīng)該消除這種重疊,除非有特殊的需要。例如一個模型有兩個不同的部位有相同的圖像,則這兩個部位的UV殼可以重疊放置在這個圖像上。
3、正確安排UV殼之間的間隔兩個UV殼之間的間隔也是一個重要的考慮內(nèi)容。它們不能太過于靠近,否則在渲染時會將另一UV殼的圖像內(nèi)容也渲染出來。
4、盡量使用捕捉UVs在編輯UVs時,類似于編輯場景中的元素,也能使用多種捕捉方法控制UVs。可以捕捉到背景網(wǎng)格線、其他UV點、以及圖像像素點(需要將編輯區(qū)域放大N倍才能感覺到這種捕捉)。
七、UV編輯器簡介有多種方式打開UV編輯器:用Window > UV Texture Editor,或者用Edit UVs > UV Texture Editor,或者在視圖菜單中用Panels > Panel > UVTexture Editor。說明UV編輯器是一個非常重要的編輯器。在UV編輯器可以查看和交互式編輯紋理坐標(UVs)。選擇、移動、縮放和修改UV拓撲,也能顯示背景紋理圖像作為調(diào)節(jié)的參考。UV編輯器與場景視圖,可以同時顯示所選擇的UVs和與之相對應(yīng)的頂點。利用UV編輯器所包含的許多工具,能有效地編輯UVs。如旋轉(zhuǎn)和翻轉(zhuǎn),切割和縫合等等,也能輸出一個編輯好的UVs布局為一幅圖像,再用PS等軟件創(chuàng)造出一幅紋理貼圖。注意,UV編輯器的有一些工具在主菜單的Edit UVs中。UV編輯器的視圖也能使用快捷方式進行移動和縮放(鼠標滾輪縮放,ALT+中鍵移動)。在UV編輯器中也有右鍵標記菜單。它包括了幾乎所有的操作。
八、UV集可以為同一個模型創(chuàng)建多個UV排列方案(數(shù)量不限),每個方案稱為一個UV集。在某個模型需要多個不同的UV布局時,UV集非常有用。例如,想創(chuàng)建一個上面有些涂鴉圖案的磚墻。可以使用一個紋理作為磚,另一個紋理作為涂鴉,如果磚紋理需要重復顯示而涂鴉不需要,則可以為這兩個紋理使用不同的UV布局(UV集)。更多精彩請點擊【狗刨學習網(wǎng)】
使用UV集的關(guān)鍵步驟是:1、指定多個紋理給材質(zhì)。如可以為某材質(zhì)指定一個顏色紋理和一個透明度紋理。此外,也可以為某個單個的屬性(如顏色)指定一個分層紋理。2、使用不同布局創(chuàng)建UV集(在創(chuàng)建參數(shù)中有一個UV集選項)。3、使用“關(guān)系編輯器”將紋理與UV集關(guān)聯(lián)起來。
九、創(chuàng)建平面UV貼圖通過一個平面將UV映射到模型表面。模型表面最好是相對平坦的,或者至少在相機的某個角度能夠全部看見。通常,這種技術(shù)創(chuàng)建的UV殼是重疊的,看起來就象是一個簡單的UV殼。所以,在創(chuàng)建完后應(yīng)該使用Edit UVs > Layout將重疊的UV殼分離。
Best Plane Texturing Tool工具分配UVs給一個面(事先通過頂點選擇的面)。可以先選面再使用Best PlaneTexturing Tool工具,或者,也可以先使用BestPlane Texturing Tool工具再逐一地選擇想貼圖的面。1、選擇模型想貼圖的一個面;2、使用Create UVs > Best Plane Texturing Tool工具;3、單擊其他的面增加進選區(qū),注意,不能框選,只能用單擊逐一選擇。選完按回車。4、選擇三個或者多個頂點(可切換到頂點選擇模式)。——這個可能是用來確定主平面的。5、再按回車。創(chuàng)建完畢。進入UV編輯器查看和編輯創(chuàng)建好的UVs。創(chuàng)建平面UV貼圖(基于相機平面)上面例子是以選擇的頂點來確定一個映射主平面,現(xiàn)在是使用相機平面來作為UV映射主平面。1、在模型上選擇一個或者幾個想貼圖的面;(不選的將不參與布局)2、滾動視圖,使這個面朝向自己,或者,干脆切換進正交視圖中,讓它完全對準自己;3、使用Create UVs > Create UVs Based On Camera工具,創(chuàng)建即完成。進入UV編輯器查看和編輯創(chuàng)建好的UVs。
十、創(chuàng)建平面UV貼圖(基于一個可控平面)1、選擇一個想貼圖的面;2、打開Create UVs > Planar Mapping >參數(shù)盒,在Fit projection to中,如果選擇Best plane,則創(chuàng)建一個基于剛才選擇的映射平面;如果是選擇Bounding box,則創(chuàng)建一個基于模型的box平面作為映射平面。3、單擊Project,創(chuàng)建UV布局,并出現(xiàn)手動調(diào)節(jié)器可進行一些調(diào)節(jié)簡單調(diào)節(jié);4、最后進入UV編輯器中進行復雜調(diào)節(jié)。
十一、對平面UV貼圖的一些說明1、平面貼圖能創(chuàng)建看起來象紋理邊界的共享、重疊的UVs。打開Display> Polygons > Texture Border Edges(顯示紋理邊界),可以清楚看到這個邊界。(或者在UV編輯器中按顯示邊界圖標)。2、的共享、重疊的UVs可能會引起接縫問題,解決這個問題可手動分離UVs(用Edit UVs> Layout >參數(shù)盒,設(shè)置Separateshells為Folds,Shell layout設(shè)置為Along U 或者 Into Square)。3、如果想一次對多個模型創(chuàng)建平面UV貼圖,可選把這些模型聯(lián)合(combine),創(chuàng)建UV完成后,再將它們分離(separate);否則,只能一個一個地分別創(chuàng)建了。4、如果一個模型是復雜的有機器官,而且你想一張圖進行貼圖,則平面貼圖可能會產(chǎn)生交迭和扭曲,此時,可考慮采用其他的貼圖創(chuàng)建技術(shù)。
十二、圓柱UV貼圖基于一個圓柱,沿著模型網(wǎng)格周圍進行包裹,而產(chǎn)生的UV布局。模型最好是沒有突出物或者空洞。1、選擇想貼圖的面;2、使用Create UVs > Cylindrical Mapping工具,3、使用手動控制器操作圓柱外形;4、最后在UV編輯器中進一步編輯。
十三、球形UV貼圖基于一個球,沿著模型網(wǎng)格周圍進行包裹,而產(chǎn)生的UV布局。模型最好是沒有突出物或者空洞。1、選擇想貼圖的面;2、使用Create UVs > Spherical Mapping工具,3、使用手動控制器操作圓柱外形;4、最后在UV編輯器中進一步編輯。
十四、自動UV貼圖由系統(tǒng)針對模型的形狀,自動查找和確定UV布局,可能會使用多個映射平面(產(chǎn)生多個UV殼)。對復雜的模型和有空洞的模型,使用自動UV貼圖非常有效。在進一步的操作中,可能需要對分離的殼進行縫合。
可以確定映射平面的數(shù)量,也能使用場景中某個對象作為映射平面(通過Load Projection)。1、選擇一個模型,同時打開它的UV編輯器;2、使用Create UVs > Automatic Mapping >參數(shù)盒,設(shè)置好參數(shù);3、單擊Project。使用手動調(diào)節(jié)器調(diào)節(jié)(在通道欄也能再次調(diào)出這個調(diào)節(jié)器)。4、使用UV編輯器進一步調(diào)整。
十五、用戶自定義UV貼圖由用戶指定的一個映射平面來創(chuàng)建UV布局。關(guān)于映射對象的標準要求:1、被用作用戶自定義映射的對象必須有UV紋理坐標;2、推薦這個對象是由分離的面組成。例如,想把某個原始polygons作為映射對象的話,它必須先要用Mesh > Extract分離網(wǎng)格。(不要用Nurbs和細分表面來作映射對象)。3、這個對象確定了將來創(chuàng)建UV布局時的映射平面的位置和形狀;4、這個對象最大的面數(shù)不能超過31。
操作方法:1、選擇一個要貼圖的模型,并打開它的UV編輯器;2、打開Create UVs > Automatic Mapping >參數(shù)盒,勾選Load Projection,在輸入框輸入想用來做映射對象的名字,或者,在場景中選擇這個對象,然后單擊Load Selected加載;3、單擊Project。使用手動調(diào)節(jié)器調(diào)節(jié)(在通道欄也能再次調(diào)出這個調(diào)節(jié)器)。4、使用UV編輯器進一步調(diào)整。
十六、確認UV的放置創(chuàng)建UV布局時,如何確認它們的位置是否正確合理?一個確認方法是,指定一個包含紋理的材質(zhì)給這個模型。通過觀察紋理來確認。MAYA提供了一個快速觀察紋理的方法,打開Create UVs > Assign Shader to Each Projection,MAYA會自動創(chuàng)建一個叫“defaultPolygonShader”的材質(zhì)(它包含棋盤格紋理),指定給正在創(chuàng)建UV而已的模型(這個材質(zhì)也加入進該模型的節(jié)點,所以也可以在該節(jié)點更換其他的紋理)。默認,快速觀察紋理的方法是關(guān)閉的。
十七、在兩個模型之間遷移UV布局通常遷移使用在這種場合:創(chuàng)建復雜模型的UV布局時,先拷貝這個復雜模型,用光滑工具光滑它的網(wǎng)格(避免UV出現(xiàn)重疊),然后對它創(chuàng)建UV布局,之后,再將這個布局遷移到復雜的模型。1、拷貝模型;2、使用Mesh > Average Vertices > 參數(shù)盒,進行光滑。(注意,這個光滑技術(shù)不會增刪頂點數(shù)量);為達到最佳效果,可以多次重復使用這個工具。3、為這個光滑模型創(chuàng)建UV布局,然后調(diào)節(jié),直到滿意;
總結(jié)
以上是生活随笔為你收集整理的unity3d游戏开发之UV贴图教程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 高德地图添加安全密钥
- 下一篇: 长URL链接转短链接算法