光照
场景光照是根据表面材质属性,以及作用于材质的光源,计算最终渲染到屏幕的像素颜色或明暗的过程。
在 PlayCanvas 中,光照大致分为动态灯光和光照贴图两类。
动态灯光
运行时执行的光照计算称为动态光照。每帧,引擎根据灯光实体的类型、位置和属性,计算照射表面的光量,并据此对材质着色。
光照贴图
对于不移动的灯光和几何体,通常最好预先计算光照信息,再将结果保存到光照纹理并应用到表面材质。这种方法的运行时开销很低,代价是光照静态不可变,且需要预计算时间。
有两种创建光照贴图的方法:
外部生成光照贴图
许多 3D 创作工具内置或通过插件提供光照贴图生成功能,包括 3DS Max、Maya 和 Blender。这些工具通常生成纹理,可作为普通资源上传,并放入标准物理材质的 Lightmap 插槽。
PlayCanvas 运行时生成光照贴图
PlayCanvas 引擎内置光照贴图生成,可在游戏开始前自动生成。使用这种方式,可以使用标准灯光组件进行修改,并直接在编辑器中预览场景。