虚幻光照基础和效果笔记

2

主题

4

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2023-3-4 08:46:29 | 显示全部楼层
1.光照基础知识




灯光强度单位只是数值换算不一样,效果没有区别



使用色温对性能没有影响

2.烘焙光照 - Lightmass


  • 烘焙光照比实时光照效果好(原因是它们支持全局光照、支持辐射和光照反射)最大的缺点是:无法在运行时更改,因为它是静态的
  • 当时灯光在场景中显示预览字符时,说明这个灯需要烘焙才能发挥作用。或者改变灯光属性,改成实时灯。



烘焙灯光


  • "Swarm Agent"烘焙进度显示插件,能够直观地显示烘焙进度



Swarm Agent界面


  • 烘焙完场景后,再移动灯的位置需要重新烘焙
  • 灯光烘焙的原理是将灯光信息变成一张贴图贴在场景里,所以灯光的数量多少只会影响烘焙的时长,对性能没有影响静态光照是性能消耗最小的解决方案,但是会占用设备运行内存
  • 灯光烘焙的品质取决于模型的光照贴图(所以应该重视光照UV的展开和摆放)



光照质量调整01



光照质量调整02



烘焙的场景需要添加这个体积,即使在添加了很多动态光源的情况下。盒体区域内能获得高品质光照效果

窗户之类的位置添加这个体积,能使室外的光线更多地进入室内,从而提升室内的光照效果



帮助来自天空和大气层的光线反射进室内场景

3.烘焙光照 - 光照贴图


  • 光照贴图是引擎在模型的2U计算得到的一张带有光照信息的贴图可以理解成模型的颜色贴图
  • 一般情况下,有两种方法得到模型的2U。1是引擎自动生成,只需要简单地勾选一下选项即可。2是传统三维软件里自动展开,或者手动展开。
  • 引擎自动生成2U的优点是方便快捷,效率非常高。缺点是不可更改,UV展开和摆放的质量一般。存在UV摆放空间利用率不高,UV展开边缘线不合理等问题。
  • 传统三维软件展开2U的优点:效果可控,质量高。缺点是对于复杂建筑、面数过多的模型,手动展开2U所需要的时间通常非常多。模型数量非常多的情况下,时间成本巨大
  • 2U的要求,不能重叠,全部面展开,不能超过一个象限。UV断开的地方尽量在不显眼的地方,能够拉直的线全部拉直。摆放间隔不能太大,保证UV空间的利用率。
  • 体积光照贴图,场景的动态模型会向其采样,获取光照信息,以便正确呈现色彩和光照效果
4.动态光照 - 室内和基础知识


  • 可移动灯光:影子锐利,但是没有反射。(有时影子太锐利,显得有点假)
  • 可移动灯光性能好坏取决于动态光源的数量动态阴影的数量



动态阴影的开销非常大


  • 模型非常大时动态阴影效果可能会不对尤其在远处观察时
  • 静态灯光:影子模糊,但是有反射
  • 固定灯光效果处于两者中间,用来做落地灯之类的灯光效果最好
  • 固定灯光同一区域内不能超过四个,超过四个就会报错
5.动态光照 - 室外


  • CSM——级联阴影贴图
  • 级联阴影贴图相当于模型的几级LOD,在不同距离显示不用精度的阴影以优化性能



级联阴影贴图


  • 在开放的大世界地图中,如果全部采用级联阴影贴图,这样会导致阴影质量非常低,而已性能消耗巨大。所以在这种情况下,一般采用距离场阴影和级联阴影贴图一起使用,以达到性能和效果的平衡
  • 在近处使用级联阴影贴图,远处使用距离场阴影(超过级联阴影贴图设置的距离,阴影就会消失)



生成网格体距离场



网格体距离场打开后,场景观察界面



距离场阴影设置


  • "DFAO"也就是“距离场环境光遮蔽"
  • 开放大世界场景用的动态光照,室内很多地方由于没有反射,会是漆黑一片。开启DFAO后,会有类似烘焙的反射效果,但是这个反射效果有可能效果不对



DFAO设置


  • 开启前后效果对比


5.将静态和动态光照相结合


  • 光照贴图根据模型的大小重要性调整分辨率
  • 烘焙贴图占用的是内存空间



光照贴图密度,调整到大致相同来保持一致性



勾选这个能给场景更多细节



游戏项目一定要勾选,不然内存开销会非常大

第二部分——光照效果和反射

1.光照效果


  • 点光源源半径和大小



修改点光源的源长度能使点光源变成光管效果


  • 聚光灯加上IES相当于光源加上遮罩,呈现不同的灯光效果
  • IES适用于静态、固定和可移动光源。当光源是静态时,IES选项显示灰色,但依然有效,可以烘焙到场景中。但是在修改和调整IES效果的时候,应该将光源改成固定或者可移动



IES贴图



IES效果


  • 光照函数(用来做体积云、水的散射效果之类的)B站光照函数教程
2.光照基础知识:反射


  • 屏幕空间发射又称SSR
  • SSR只能反射屏幕上的可见画面反射会在某些视角下消失噪点也很多。但好处是 反射是实时渲染的,它能正确地反射像素应该反射的内容
  • 反射捕获
  • 缺点:反射画面的位置无法正确反映对象的实际位置,反射的图像会随反射球的位置产生变化(所以反射球的位置需要仔细调整)
  • 优点:反射效果很好,细节非常清晰
  • 屏幕空间反射和反射捕获结合使用,屏幕空间反射的优先级始终更高



大部分情况下都是用球体反射,盒体反射非常少用



游戏项目这个数值一般都比较小,根据具体情况调整


  • 平面反射
  • “平面反射”只能用平面反射效果例如镜子、窗框、水池、水面或者窗户玻璃,任何平整、尺寸较少的对象
  • 平面反射既可以实时渲染也可以一次性捕获,但是实时渲染的性能开销非常大



使用平面反射必须启用这个选项



平面反射



关闭平面预览



实时渲染开关


  • 2D平面或立方体渲染目标捕获反射
  • 适用于渲染目标捕获反射,特别是遇到高反射表面时,例如镜子。或者当你需要反射,但又希望性能开销非常低时。(这种方法不常用)这种反射效果可用于场景中的材质,即是你想在反射平面上带有材质效果可以这种方法,或是用于监控画面



场景捕获立方体

3.雾和立体光源


  • 大气雾(比指数距离雾复杂,游戏项目一般不采用)





选择平行光勾选这个选项,大气雾就会自动默认定向光源为太阳光





显示和关闭日轮


  • 指数距离雾



这个数值越小,灯光对雾的影响越小



光束阻挡和光束泛光的效果



体积雾效果
回复

举报 使用道具

您需要登录后才可以回帖 登录 | 立即注册
快速回复 返回顶部 返回列表