具体来说,光照烘焙包括以下几个步骤:
- 光源设置 在关卡场景中,设置静态光源,如方向光、点光源、聚光灯等的位置、强度、颜色等参数。
- 光照预计算 UE5会基于场景中的光源、摄像机位置等信息,对Static Mesh进行离线光照预计算。这个过程会产生多张光照贴图和体积光照样本数据。
- 烘焙光照贴图 预计算得到的光照数据会烘焙到Static Mesh的UV空间中,生成如漫反射光照贴图、法线贴图等。这些贴图存储了该网格表面的照明信息。
- 光照插值 渲染时,引擎会根据相机位置,在烘焙的光照贴图和体积光照样本数据之间插值得到最终的光照结果。
- 应用到Mesh
将插值得到的光照数据与Mesh的材质、阴影等其他因素结合,计算出最终的渲染颜色并绘制到屏幕上。
通过这种预计算和烘焙的方式,引擎可以在运行时快速查询光照贴图,避免了昂贵的实时光照计算,从而获得接近逼真光照效果,同时保持较高的性能。
需要注意的是,一旦场景中的物体或光源发生变化,就需要重新进行漫长的光照烘焙过程。所以静态烘焙更适用于静止不变的环境物体。