9. Blender烘焙光照到贴图
# Blender烘焙光照到贴图
展厅渲染的时候,为了更方便设置3D场景光影效果,可以不在threejs代码里面里面设置光源。
可以在Blender中设置点光源、聚光源等,不过设置好之后,不是直接导出把光源通过gltf导出到threejs,而是通过Blender烘焙功能,把光照信息烘焙到贴图上。
# Blender烘焙全流程演示
整个展厅制作过程比较复杂,咱们选择一个简单场景,从头给大家演示一下Blender烘焙贴图的过程。
整个过程也不要求掌握,主要是了解,实际开发过程,需要公司美术给你提供什么样的模型资源。
具体点说就是Blender与threejs的对接问题。
# Blender搭建基本场景
创建一个矩形平面作为地面,然后创建一个长方体柱子,随便设置一个颜色或颜色贴图map都行。
# 排除场景默认光照
排除场景默认光照,只查看手动创建光源对场景影响。
着色模式切换到渲染
世界环境把默认光照设置到0
删除Blender默认光源Light(右侧目录可以看到)
# Blender创建一个点光源
创建一个点光源,一会要把点光源信息烘焙到贴图上,可以根据需要调整光源位置,光照强度可以根据需要调节。
# 烘焙准备-图像纹理
地面平面模型对应材质,创建一个图像纹理节点。
点新建,给图像纹理节点命名。
像素大小可以根据需要设置
# 烘焙贴图
把默认渲染器设置为Cycles
采样值可以根据需要设置,设置小一点烘焙快,不过烘焙质量会低一点,更多内容可以学习Blender,这里就不做过多说明。
翻到下面找到烘焙功能按钮,点击开始烘焙即可。(注意:烘焙前选中对应的模型和材质图像纹理节点)
验证:点击UV编辑预览模式,可以看下是否烘焙成功。
# 测试烘焙效果
先隐藏点光源,方便下面下面测试。
烘焙的贴图作为发光贴图,然后材质颜色改为黑色(如果不希望光照影响物体表面),这就可以让发光贴图的颜色来表示模型渲染效果,直接导出到threejs即可。
# 烘焙长方体柱子模型贴图
长方体柱子模型和地面模型同样烘焙流程。
最后搞定所有模型后,可以保存模型文件,导出gltf模型,在threejs代码中测试。
# 查看课件展厅模型
你查看课件展厅中部分模型,和咱们上面的简单模型类似设置,美术把一些光照信息,烘焙到模型贴图上,然后把贴图作为发光贴图的属性。
# 补充——单独导出烘焙的贴图
如果你想单独导出烘焙好的贴图,也很简单。在UV编辑模式下,有一个图像选项,可以把烘焙好的图像保存为一个png、jpg等格式文件。
备注:有时候为了避免烘焙的贴图在建模过程中意外丢失,最好保存到本地一张,然后在添加到模型的材质上面(上面视频为了方便,没有保存导出烘焙的图像)。