作者:Waylon Brinck
本教程由ChinaVFX.NET翻譯整理
導讀:3ds Max 5 包含了出色的 UVW-mapping 排列工具,在本教程中,我將從基礎開始介紹,包括 Unwrap UVW 的界麵,自動為物體貼圖的方法,以及當自動貼圖不適用時所使用的一些技巧。
另外,我還簡單的講述了 Deep Paint 3D 的使用方法,來加強你的貼圖製作流程。
模型和貼圖由 Phil Bedard 和 Francis Bernier 提供
你可以把你的模型想象為一個雕塑,而貼圖就像是在雕塑上畫上顏色和細節。不同之處在於貼圖是個平麵。就好像你必須在一張紙上畫,畫好後再剪成一片一片的貼到雕塑上。這就是貼圖的本質:將一個平麵的圖像裁開,旋轉,對齊模型網格。而 UVW 貼圖就像是 3D 軟件給你提供的一個模板,告訴你如何來裁切這些紋理貼圖,並把它放置到什麼位置。
UVW 貼圖坐標是紋理貼圖中非常重要的部分。我將在教程中講述如何來設置它,首先你需要注意以下幾點。
1.你需要將 UVW 貼圖打碎成小塊。碎塊的接縫越少,貼圖的繪製和定位就越容易。
2.你需要將拉伸降到最低。拉伸就好像你在沒氣的氣球上畫畫,當氣球充滿氣後,因為畫的尺寸不合適而產生了拉伸變形。
3.避免貼圖坐標重疊。你不能在貼圖的同一部分繪製兩個不同的東西。除非你有兩部分物體需要有相同的紋理(比如對稱的物體或圖案重複的物體)。比如上圖中太空船的底部,雖然隻繪製了一半的紋理,但左右兩邊共享了相同的紋理位置,每個引擎也是用了相同的紋理貼圖。
4.你的貼圖坐標要盡可能有效的使用紋理空間。比如你的貼圖尺寸限製為256x256,任何貼圖坐標間的大的空隙都會造成浪費。你可以將你的坐標放大一些再重新排列來充滿整個貼圖,那麼你的紋理細節將能獲得更高的分辨率。
5.貼圖坐標的大小要對應 3D 空間的大小。如果飛船上一個3米的板使用64像素大小的貼圖,那麼其它3米的板也應使用同樣的大小。
在練習中,你必須以上麵幾點注意事項為基礎細心的調整。UVW 貼圖坐標沒有完美一說,你隻能盡量做的更好。關鍵在於先決定好你的作品的質量要求,然後根據這個品質來完成貼圖。
[page]
在這個教程中,我使用了一艘之前建的太空船。對於貼圖方麵來講,它還算複雜。它有大量的曲線表麵、大量的斜麵和導角,而且每個部分都需要使用不同的貼圖方法。在開始之前,你也需要準備一個用於貼圖的模型。
我先要3個常用快捷鍵,它們是 F2、F3、F4,能夠分別切換到"Shade Selected Faces"、"wireframe/shaded"和"Edged Faces"模式,如上圖所示。這在建模和 UVW 貼圖過程中非常有用。
如果你準備好了,那麼選擇你的物體,添加一個"Unwrap UVW"修改器。
注:在修改器堆棧中,點擊"Unwrap UVW"修改器,並進入"Select Face"子物體層級。這樣你可以在視圖區中選擇想要貼圖的物體表麵。
點擊"Edit"按鈕打開 UVW-mapping 窗口。你會看到一堆混亂的網格。
進入"Unwrap UVW"的"Select Face"模式,劃一個方形選匡選擇整個物體表麵。然後再 Unwrap UVW 卷展欄中點擊"Planar Map"按鈕。這能夠使你的 UVW 貼圖坐標看上去更加簡潔一些(但還不能用於貼圖)。
[page]
現在,我來介紹一下 Edit UVWs 窗口的界麵。在左上角,有常用的修改工具(移動、旋轉、縮放、自由變形、鏡像)。當使用移動或縮放工具時,先按住 shift 鍵再拖動,你選擇的物體會鎖定一個軸向來進行移動(縮放)。
在右下角你會找到找到平易和縮放等視圖操作工具。再往下還有兩個按鈕可直接正負旋轉90度。
在這些視圖操作工具的左邊,有"Selection Modes"(選擇模式)盒,這比以前有了重大的改進。依次為點(默認)、邊、麵選擇模式。通過這些模式你可以對 UVW 坐標的點、邊、麵進行修改。
+和-按鈕可以擴大和縮小當前選擇。
你已經熟悉了 Unwrap UVW 的界麵,下麵我們來開始實際的貼圖工作。在開始之前,我喜歡先為物體添加一個棋盤紋理,以便於觀察多邊形和貼圖。進入 material editor,選擇一個空材質球,展開"Maps"展卷欄,點擊"Diffuse Color"右邊的"None"按鈕,在彈出窗口中雙擊"Bitmap"並選擇一個合適的棋盤紋理(如果沒有點擊這裏下載 /Article/UploadPic/2005-10/2005101804717357.gif
)。不要忘記打開"Show Map in Viewport"按鈕,然後將材質賦予物體。如下圖所示。
讓我們來看一下自動 UVW 貼圖方法。點擊"Mapping"菜單,選擇"Flatten Mapping"。確保選中下麵3個選項。你會發現你的物體像拚圖一樣碎裂成許多塊。(而且能夠拚回一個完整的物體)
[page]
下麵我們來暫停並練習一下"Select Element"功能。選中"Select Element"選項。切換選擇方式選擇不同的元素。
你已經看到了 Flatten Mapping 默認設置的效果。下麵我們返回 Mapping->Flatten Mapping,對參數多做一些調整,尤其是"Face Angle Threshold"微調器,它的值越大,生成的塊越大,數量越少,反之亦然。我使用75和25做個測試,兩個結果都有各自的優點,但我還是不太滿意。讓我們來試試其它方法。
返回"Mapping"菜單,點擊"Normal Mapping"。在頂部的下拉菜單中選擇"Box Mapping"。點擊ok並觀察結果。物體分成6塊,每塊都有一個不同的貼圖方向,這是根據 Box 六個麵的投射方式被分開的。你還可以試試其它的投射方式。
在這兩種自動方式中,"Flatten Mapping"是最有希望的,但如果你的模型非常複雜,或者貼圖要求非常精確,那麼我們還有其它的方法來完成。
我們還是從"Flatten Mapping"開始,這樣做我可以保留大塊的網格,隻調整零碎的貼圖坐標就行了。
[page]
首先要處理的是駕駛艙。因為它的曲率太大,所以 Flatten Mapping 將它完全的打散。我在透視圖中選擇駕駛艙的所有麵,然後在 Unwrap UVW 修改器的卷展欄中點擊"Planar map"。
結果不太理想,新的貼圖坐標占用了太大的空間,但可以輕易的旋轉縮放至合理的大小位置。我先把它放到一邊,一會兒再重新排列所有的坐標。
我使用 planar mapping 整理了一些多邊形。但飛船主體的環狀多邊形並不適合使用 planar mapping,而最好應該用 cylindrical map。(也許這不適合你的模型,但我是想向你說明一下這個技巧)
添加一個"Mesh Select"修改器,選擇所有需要使用 cylindrical mapping 的表麵。
[page]
選完麵後,添加一個"UVW Mapping"修改器,將投射方式改為"Cylindrical"並點擊"Fit",這就得到了我想要得結果。之後我再添加一個"Mesh Select"修改器,但不要選擇麵。(如果不這樣的話,當我們進入另一個 Unwrap UVW 修改器的時候,Max 會繼續保持你之前選擇的麵,而我們希望能夠任意選擇表麵)然後添加一個 Unwrap UVW 修改器。
貼圖坐標還是不盡人意,我需要通過縮放並移動是它們不會重疊到一起。然後把大塊的網格分開一點。方法是選擇要分離出來的元素,然後點擊 Tools->Break (Ctrl-B)。現在我把這些麵移到旁邊。
使用 Flatten Mapping 的時候,有些地方會有單獨的碎片。我們需要把它們手動連接到大塊的麵上。
方法是進入邊選擇模式(不要選中"Select Element"),然後選擇要連接的兩個部分的共享邊。(選中其中一部分的共享邊後,另一部分的邊會變成紫色。)
點擊 tools->Stitch Selected 將連接著兩個部分(在彈出的對窗口中直接點擊ok,默認的設置就很好。)
[page]
連接好這些斷開的麵後,上麵有一些重疊的多邊形需要處理。最佳方法就是把相鄰的點焊接到一起,使其成為一個整體。雖然這樣做會引起一點拉伸,但因為多邊形很小,所以不用在意。連接兩個點的方法是點擊 Tools->Target Weld,然後選擇其中一個點,把它拖到另一個點上就成了。
我使用 stitch tool 和 target welding 得到了很好的效果。
使用如上方法,我整理好了所有的多邊形碎片。下麵要做的就是讓貼圖坐標匹配好整個貼圖大小。幸運的是,Max 為我們提供了一個工具來自動完成它。
點擊 Tools->Pack UVs,如下選中所有選項,點擊OK。你就得到了一組漂亮的均勻分布的多邊形。當然你可以手動縮放調整,而且效果會更好。但是太花費時間了。你還可以讓每塊多邊形盡量靠近以節省紋理空間。
成了,現在你已經熟悉了貼圖工具,及各種貼圖的方法。我推薦使用 Texporter http://www.cuneytozdas.com/software/max/texporter/
把貼圖坐標導出成圖像,作為繪製貼圖的參考。
Max 5 中還有另一些有用的技巧需要說明一下:Max 5 支持 Photoshop 的.psd 格式。它還能自動檢測到貼圖的變化並實時在視圖中更新。因此你可以將.psd文件賦予物體作為貼圖紋理,然後在 Photoshop 中修改並保存,Max 就可以自動讀取並更新了。
[page]
下麵我們來學習一下 Deep Paint 3D
Deep Paint 3D 是專門製作物體貼圖的強大工具。據我所知很多人都習慣使用 Photoshop 來繪製貼圖,但它很難精確的繪製出每個細小的表麵(尤其是像我的太空船這樣有很多碎片的情況)。因此我覺得 Deep Paint 3D 非常有用,它可以直接繪製在物體表麵上,還能夠渲染任意角度的靜禎。你可以在渲染圖上繪畫,改變會應用到貼圖上。當你畫完後,你可以將紋理倒回 Max,這就意味著你不用再精細的調整 UV貼圖坐標,簡單的應用一個 "Flatten Mapping"就行了。
首先我在Max 裏新建一個材質為太空船應用一個粗略的貼圖。
如果你安裝了 Deep Paint,你會在 Utilites 麵板中的列表裏找到"Right Hemisphere"(點擊 More 就可以找到它),點擊"Paint Selection"按鈕就可以打開 Deep Paint,並將物體和材質導入到裏麵。你會看到一個"Material Import"對話框,點擊OK。
你物體的所有東西都會被導入進來。Deep Paint 的繪圖功能非常全麵,但個人來說,我更喜歡 photoshop。所以在 deep paint 中我隻經常使用幾個工具。比如在工具欄中的 Rotate 工具和 Zoom 工具。下麵我來介紹它如何和 photoshop 合作。
選擇 brush 工具(這是臨時效果,不支持導出,除非使用 painting 工具),然後在屏幕頂端點擊"Toggle Projection Mode"按鈕(告訴程序你要直接在網格上繪製)。在它的左邊點擊"Export Material to Photoshop"按鈕(這將啟動photoshop 並在其中打開紋理)。
[page]
當紋理導入後,你就可以開始繪畫了。如果注意一下層麵板你就會發現有許多層。最頂端是物體,往下是標簽為"Paint layer: Color"的層,另外還有凹凸、輝光層等。如果在這些層上繪畫,切換回 Deep Paint 後就能夠看到層應用到網格上的效果。
值得注意的一點是:當你使用橡皮圖章以一個參考層為基礎在另一個層上繪畫時,要選中"use all layers"選項。這可以使你任意切換層作為圖章的複製源。
添加好細節後返回 Deep Paint,點擊"Fetch the Material from Photoshop"(從Photoshop中獲取材質-在彈出的警告中點擊yes)。使用旋轉工具觀察添加的細節。
可以來回切換進行修改。完成後,再將材質返回到 Max 裏(這將會從原紋理文件中提出紋理並保存,如果是psd文件,所有層將被覆蓋,所以一定要小心)。方法是:先點擊和之前相同的按鈕,然後點擊"Send Materials to 3D application"。返回 Max,紋理就會自動導入。