UE4学习笔记:光照移动性和物体移动性在构建光照时候的不同作用

发布时间 2023-08-04 18:14:57作者: U_N_Owen

本随笔用于记录随笔作者在学习UE4光照系统过程中对不同移动性的光源对不同移动性的模型产生不同的效果的总结,编写本随笔时UE4引擎版本为4.27。

随笔作者还处在学习阶段,难免会出现技术上和书写上的问题,如若发现类似的问题,欢迎在评论区或者私信与我讨论。

静态(Static)光源

静态(Static)光源对静态(Static)模型产生的光照效果

  • 直接光照:无。因为静态光照的信息仅仅只用于Lightmass系统构建光照,构建完成之后静态光源实际上已经相当于不存在了。
  • 间接光照:使用Lightmass构建光源生成“表面光照贴图”,然后烘焙到模型上产生光照效果。
  • 阴影:使用Lightmass构建光源的同时会生成阴影,也就是说阴影已经存在于光照贴图里面,并同光照贴图一起被烘焙到模型上。

静态(Static)光源对固定(Stationary)模型产生的光照效果

  • 直接光照:无。因为静态光照的信息仅仅只用于Lightmass系统构建光照,构建完成之后静态光源实际上已经相当于不存在了。
  • 间接光照:会使用引擎的Lightmass系统构建光源生成的“体积光照贴图”并用体积光照贴图通过插值的方式照亮模型,但实际上固定模型并不会参与Lightmass的光源构建过程因此并不会接收到烘焙的结果。
  • 阴影:无。因为模型不参与Lighemass的光照烘焙过程。

静态(Static)光源对可移动(Movable)模型产生的光照效果

要点

  • 体积光照贴图是通过Lightmass系统构建光源生成的,因此只有构建间接光照的时候才能生成对应的体积光照贴图。

可移动(Movable)光源

可移动(Movable)光源对静态(Static)模型产生的光照效果

  • 直接光照:使用光源的信息(亮度、颜色等)采用延迟着色的渲染方法直接照亮对象。
  • 间接光照:无。因此也不会生成体积光照贴图。
  • 阴影:生成完全动态的阴影.但是需要注意的是如果光源类型是“定向光源(Directional Light)”的话则该动态阴影使用“级联阴影贴图(Cascaded Shadow Maps,CSM)”来实现。

可移动(Movable)光源对固定(Stationary)模型产生的光照效果

可移动(Movable)光源对可移动(Movable)模型产生的光照效果

要点

  • 可移动光源最主要的目标是生成高质量的动态阴影,并且可以任意改变光源的属性,因此可移动光源不会生成任何间接光照,也不会存在光照贴图和体积光照贴图。
  • 可移动定向光源生成的阴影并不是完全动态阴影,而是“级联阴影贴图(CSM)”,这一点是与其他可移动光源有所区别的地方。

固定(Stationary)

固定(Stationary)光源对静态(Static)模型产生的光照效果

  • 直接光照:通过光源的属性采用延迟着色的渲染方法对物体进行直接照明。
  • 间接光照:使用Lightmass系统构建光源时候生成的表面光照贴图烘焙到模型上。
  • 阴影:使用Lightmass系统构建光源的时候就会生成阴影,但并没有合并到光照贴图里面,而是生成单独的“阴影贴图(Shadow Map)”,因此当固定光源被关闭的时候,静态模型的阴影也消失了,但这不代表该阴影是动态的,而是因为固定光源把阴影贴图给暂时隐藏起来。

固定(Stationary)光源对固定(Stationary)模型产生的光照效果

  • 直接光照:通过光源的属性采用延迟着色的渲染方法对物体进行直接照明。
  • 间接光照:使用Lightmass系统构建光源时候生成的体积光照贴图对模型的像素进行插值染色。
  • 阴影:生成完全动态的阴影。

固定(Stationary)光源对可移动(Movable)模型产生的光照效果

要点

  • 固定光源几乎可以看成是“静态光源+动态光源”的一个复合光照方案,即实现了静态光源的全局光照功能,又实现了动态光源的高质量阴影。