燈光貼圖 Lightmapping(紋理烘培 Baking Textures)簡單來說,就是把帶光照的模型(包括陰影和紋理)渲染成一張貼圖,然後重貼回模型,這樣在下次渲染時,就不用再計算燈光信息,從而加快渲染速度,節省 CPU 資源。
1.首先,準備一個模型,我這裏用的是一組樓房。
接下來,把需要應用 Lightmap 的物體 attach 到一起,本例中場景的所有模型都將應用 Lightmap,具體操作為 Convert to Editable Mesh-->右鍵點擊--> Attach--> Select all the object(s)。
現在所有模型都聯接成一個物體了,下麵為物體添加一個默認的灰色材質,另外在加入一盞 Skylight 和一盞 Omni Light,確認打開陰影選項。
2.在菜單欄中點擊 Rendering--> Render to Texture(快捷鍵 0),打開 Render to Texture 按鈕。
在這個窗口中,我們隻需要掌握幾個有用的設置就夠了。首先是 Output 輸出位置的選擇,把它設置成和你的模型相同的保存路徑。
3.接下來,在“Objects to Bake”中點擊一個空白單元格,然後點擊你的模型,模型的名字就會出現在單元格中。(本例不會介紹上麵的參數作用,所有均保持默認,你可以在熟悉操作步驟後自行試驗。)
向下滾動窗口,在 Output 板塊點擊 Add... 按鈕,在彈出的列表窗口中選擇 Complete Map 並點擊 Add Elements 按鈕。這時在下麵的空白欄位中會出現新的信息。
其中,Name 欄表示輸出紋理的名稱,File Name and Type 表示紋理名稱和類型,你可以把默認的.tga 改成 .jpg 格式。
再下來的輸出大小則取決於你的渲染尺寸和對紋理質量的要求。尺寸越大,紋理載入的時間越長。確認鉤選 shadows 選項。
在 Baked Material 板塊中,選擇 Output to Source,之後,點擊 Render 按鈕開始渲染貼圖。
4.渲染並保存文件後,在物體的修改器堆棧中會出現一個新的修改器“Automatic flatten UV's”。
雙擊修改器會打開 UV map editor 麵板,不要移動任何物體,隻需點擊菜單 file--> Save Uv's,將 UV 坐標保存到和模型與紋理相同的目錄即可。
5.導出模型,保存 Max 文件並重起場景。
Import --> 你的模型。這時修改器堆棧中隻能選擇“Editable Mesh”,添加 Unwrap UV Map 修改器。雙擊修改器打開 UV edit window,在 File 菜單中選擇 Load uv's。選擇剛才保存的 UV 坐標文件。
打開材質編輯器,選擇一個空材質球,在 diffuse 通道中,選擇“Bitmap”並讀取剛才烘培的紋理貼圖。將材質應用到模型,不用設置燈光直接渲染即可。最後保存一個新的 Max 文件。