渲染到紋理
3ds Max 中的“渲染到紋理”工具可以將各種場景元素渲染或“烘焙”到紋理中,包括照明和陰影。可以在實時 3D 應用程序(如遊戲)中使用這些特殊紋理,以減少渲染器的負擔,從而提高幀速率。
注意:本教程的所有必需文件都可以在 3ds Max 附帶的教程文件光盤上找到。在執行教程之前,請將 \tutorials 目錄從光盤複製到您的 \3dsmax 本地安裝目錄中。
檢查設置:
-
加載文件 tut_texturebake_start.max。該文件位於 \tutorials\vertex_color 文件夾中。
該場景由一個帶有紋理貼圖的雙翼飛機模型和一個投影陰影的泛光燈組成。首先,您將看到該場景在 3ds Max 中渲染後的樣子。
-
確保“透視”視口處於活動狀態。在工具欄上單擊“快速渲染”,或按 Shift+Q 組合鍵,以渲染場景。
注意,在渲染的圖像中出現了陰影,尤其是由螺旋槳葉片以及上下機翼之間的垂直支柱所投射的陰影。可是這些陰影沒有出現在“透視”視口中。
-
Fuselage 使用“UVW 展開”修改器進行復雜而精確的紋理貼圖設置。因爲這是該場景中唯一一個進行了紋理貼圖的對象,所以本課程將集中處理這個對象。首先,看一下紋理。
-
這會打開“編輯 UVW”對話框。可以看到紋理貼圖如何被拆分爲各個部分,不同的面簇彼此疊加。這些面簇是對應於 Fuselage 網格的不同部分的 UVW 貼圖座標。
烘焙紋理:
-
在“烘焙對象”卷展欄中,注意 Fuselage 是列出的唯一一個對象。還要注意“選定對象設置”組 >“啓用”複選框已啓用,並且“所有選定的”處於選定狀態。這意味着“渲染到紋理”將使用任意選定的對象。
如果願意,可以嘗試在“透視”視口中選擇不同的對象,您會注意到“烘焙對象”列表將動態更新。最後,只選擇 Fuselage 對象。
-
這會打開“添加紋理元素”對話框,其中列出了可以渲染的不同類型的紋理元素。通常,您會將所有元素合併爲一個紋理,所以要使用 CompleteMap。
-
在“添加紋理元素”對話框列表中雙擊 CompleteMap,或高亮顯示 CompleteMap,然後單擊“添加元素”按鈕。
-
使用“渲染到紋理”時,軟件會創建一個新材質。必須指定渲染的紋理在此新材質中將出現的位置。在“選定元素通用設置”組中,單擊“目標貼圖位置”旁邊的下拉列表,並選擇“漫反射顏色”。
CompleteMap 出現在“輸出”卷展欄列表中,同時出現的還有要生成的默認紋理大小:256x256。原始紋理貼圖相當大,所以您很可能要將它渲染爲一個較大的大小。
-
將短暫地出現警報,顯示展平 UV 和烘焙紋理的進度,然後將打開一個虛擬幀緩衝區窗口,其中顯示新渲染的 CompleteMap 紋理。這個圖像與您在“編輯 UVW”窗口中看到的圖像很相似,但是紋理以不同方式細分了。
查看結果:
-
名爲“自動展平 UVs”的第二個修改器已添加給 Fuselage。這是一個“UVW 展開”修改器,但它是由“渲染到紋理”功能自動創建和應用的。
Fuselage 對象仍然獲得了很精確的貼圖效果,但是此時在視口中出現了投影陰影。例如,如果移動光源,可以看到從螺旋槳投射到機身上的陰影不會隨着光源的移動而改變,因爲它們已被烘焙到紋理中。
還可以看到在視口中應用到機身的紋理貼圖的質量較低,但是如果渲染該圖像,紋理又具有其原始的高質量。在下面幾個步驟中,將介紹出現這種情況的原因。
-
在“材質/貼圖瀏覽器”對話框 >“瀏覽自”組中,選擇“選定對象”。
現在列表中只出現了一個材質。它的名稱爲 Fuselage(來自於它應用到的對象),而類型(即“殼材質”)出現在名稱旁邊。此材質由“渲染到紋理”自動生成,然後被應用到 Fuselage 對象。
基本上,殼材質可用於將兩種材質合併爲一種材質;您可以在視口中看到一種材質,同時使用另一種材質進行渲染。當“渲染到紋理”生成一種殼材質時,它將原始材質用於渲染,將烘焙材質用於在視口中顯示。
-
在列表中雙擊該紋理,以將其添加到“材質編輯器”中。關閉“材質/貼圖瀏覽器”對話框。
在 tut_texturebake_finish.max 中可以找到處於當前狀態的場景。
該材質只有一個卷展欄:“殼材質參數”。它顯示原始材質 (orig_Fuselage) 將用於渲染,而烘焙材質(baked_Fuselage,由“渲染到紋理”生成)將在視口中可見。
渲染其他元素:
除了 CompleteMap,還可以渲染單個元素,每次渲染一個或多個。
-
打開“渲染到紋理”對話框,在“輸出”卷展欄中刪除 MyCompleteMap 元素,然後添加 ShadowsMap 元素。將“目標貼圖位置”設置爲“漫反射顏色”。
-
新的材質是未着色的,除了出現陰影的地方。如果目標渲染引擎支持合成多個紋理,則可以使用這種類型的紋理。
注意,渲染幀窗口仍然顯示 CompleteMap,即使“渲染到紋理”並沒有對其進行保存。無論渲染哪種類型的元素,都總是出現這種情況。可以在“常規設置”卷展欄上禁用幀窗口的自動顯示。
-
在“渲染到紋理”對話框中,刪除 ShadowsMap 紋理元素,然後同時添加 DiffuseMap 和 LightingMap 元素。
-
單擊“渲染”。當出現“缺少貼圖目標”警告時,單擊“繼續”按鈕。
“缺少貼圖目標”對話框顯示所有未指定到目標貼圖示例窗的紋理元素。
新的殼材質只針對列表中的第一個元素創建,如“透視”視口所示。但是,所有紋理都保存在目標目錄中。通過刪除 DiffuseMap,可以在視口中看到 LightingMap 紋理。
-
刪除 DiffuseMap 列表項,將 LightingMap 的“目標貼圖位置”設置爲“漫反射顏色”,然後單擊“渲染”按鈕。
“渲染到紋理”生成一個新材質並將其應用到 Fuselage,所以它現在在視口中可見。LightingMap 元素包括所有着色和陰影,但是沒有漫反射顏色。
注意:每次只能將一個紋理元素設置爲任意給定的目標貼圖類型。同樣,如果添加一個先前指定了目標貼圖類型的紋理元素,軟件會自動指定它最近使用的目標貼圖類型(如果沒有其他活動紋理元素正在使用該目標貼圖類型)。如果有其他活動紋理元素正在使用該目標貼圖類型,則新指定的紋理元素的目標貼圖示例窗爲空。
“渲染到紋理”是一個用途廣泛的工具,可以在爲實時應用程序生成紋理貼圖時節省時間。在本教程中,您學習瞭如何烘焙不同類型的紋理,以及如何使用由“渲染到紋理”生成的殼材質。請嘗試生成其他紋理元素,然後將它們導出到實時 3D 引擎中。
轉載自:http://www.ddove.com/3dmax/sl/tut_rendering_to_texture.html