本教程由ChinaVFX.NET翻译整理
灯光贴图 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?http://www.xvna.com 格式。
再下来的输出大小则取决于你的渲染尺寸和对纹理质量的要求。尺寸越大,纹理载入的时间越长。确认钩选 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 文件。