UE4 虚幻引擎,应用笔记(二)灯光,烘焙,后处理
1、Light设置(1.1)、Light的MobilityStatic静态的,静态光照是完全烘焙的光照,它不影响任何可移动的对象,光源本身也无法移动。此光源本身采用中等质量设置,但它同样会对场景产生低程度的性能影响。你可以根据自己需要使用任意数量的此类光源,因为其光照效果会在场景启动前完成计算。这些光照经过完全烘焙,请谨记,此类光源越多光照贴图的烘焙耗时就越长。Station固定的固定光源同样会生
1、Light设置
(1.1)、Light的Mobility
Static静态的,静态光照是完全烘焙的光照,它不影响任何可移动的对象,光源本身也无法移动。此光源本身采用中等质量设置,但它同样会对场景产生低程度的性能影响。你可以根据自己需要使用任意数量的此类光源,因为其光照效果会在场景启动前完成计算。这些光照经过完全烘焙,请谨记,此类光源越多光照贴图的烘焙耗时就越长。
Station固定的
固定光源部分静态、部分动态。
固定光源同样会生成烘焙光照,但其质量比静态光照更高,因此在烘焙光照贴图时,通常使用此类型的光源。固定光源同样可以在运行时改变颜色和亮度,但就像静态光源一样无法移动,它们可在光照贴图中存储间接光照和阴影,直接阴影存储在独立的阴影贴图中。固定光源还可对可移动物体投射动态阴影,并且它还使用距离场阴影质量非常高。固定光源的另一个局限性是在场景中重叠的固定光源数量,或者影响相同对象的固定光源数量不能超过四个。
固定光源会影响动态Actor,从而影响场景性能。如果要降低性能影响,同时从固定光源获得高质量光照贴图烘焙效果。方法是进入Light下的Station设置,关闭Cast dynamic shadow“投射动态阴影”,帧率立马又了提升。
Movable 可移动的
可移动光源是完全动态的光照,此类光照不需要烘焙,它们能影响移动对象在内的所有对象,光源本身也可以移动。但是,请谨记,这些光源无法产生间接光照和全局光照
(1.2)、Intensity Units强度单位
Candelas烛光,1 Candelas等于1根蜡烛发出的光照量,Intensity为8,表示仅相当于8根蜡烛的光照量。
Lumens“流明”
100瓦灯泡强度约为1700
(1.3)、Attenuation Radius 衰减半径越大,阴影就越柔和。
(1.4)IES概述文件
导入IES概述文件与将其他资源导入Unreal Studio相同,点击Import“导入”按钮,找到IES概述文件然后点击Open“打开”按钮。
2、实时反射
要使反射生效,任何需要反射效果的材质都需要调整Roughness粗糙度和Metallic金属感参数
Box Reflection Capture 盒体反射捕获
内部盒体表示过度距离,在大盒体和小盒体之间反射会进行过渡。Box Reflection Capture最容易失真,但对于过道或室内等方形房间场景来说它非常有效。在其他情况下,建议使用的反射捕获Actor是Sphere Reflection Capture“球体反射捕获”Actor。
调整反射捕获探针的质量
Project Settings搜索Relection第一个条目为Relection Capture Resolution“反射捕获分辨率”,它允许我们更改Cubemap立方体贴图的纹理分辨率,增大该值可以获得更清晰的反射,请记住,这样会增大使用的纹理贴图的大小,因此会增加占用的内存空间。
当所有反射探针都设置到位后,即可进入Build“构建选项”Bulid Reflection Captures"构建反射捕获"来对场景进行烘焙。
我们还可以利用“屏幕空间反射(SSR)”,这属于非常精确的反射由显卡GPU在运行时生成,它们不需要烘焙因此不占用纹理内存,但会产生大量性能开销。可惜的是屏幕空间反射仅捕获当前屏幕上的内容,反射表面不会反射屏幕以外的任何对象。
在Project Settings项目设置中还有一个选项可帮助我们提高质量,搜索gbuffer"G缓存"。
G缓存默认为低质量设置,如果要获得更高质量的反射,可以把该值设置为高精度法线
我们可以使用Post Process Volume"后期处理体积"来控制屏幕空间发射,只需要将Intensity设置为0,即可关闭屏幕空间反射。
反射确实可以提升场景质量,开始烘焙光照后,反射会影响光照贴图的光照计算和最终输出效果。为场景添加反射是执行光照烘焙前需要完成的一个重要步骤。
3、Lightmass
烘焙光照贴图需要大量时间,场景越大质量设置越高,Lightmass设置越复杂,所需时间也就越长,为超大型场景烘焙光照贴图时,通常需要数日才能完成。
生成光照的最后一步是调整Lightmass设置以获取最佳质量的光照贴图烘焙,同时尽可能缩短烘焙时间,Lightmass实际上并不需要过多调整即可或者卓越的质量。
Lightmass最终的设置是其中前六项前七项设置,前五项设置用于控制光照贴图质量,如果要为场景整体营造色调,那么后两项可用于控制场景色调及其强度。我们还可以使用Diffuse Boost"漫反射增强"来提升场景亮度,不建议修改此配置,建议保留其默认值为1。Static Lighting Level静态光照关卡比例设置与你的场景的世界比例相关,对于室内场景通常可以把改值进一步调低,从而为光照贴图烘焙添加更多细节。甚至可以把该值调低至0.11或0.2以提升光照贴图的烘焙细节,降低该值会显著增加构建时间。对于大型场景建议将该值增大至2到4之间,这将有助于缩短大型场景的构建时间,如果增大该值,它会降低光照贴图的内部细节。如果要提升细节可将该值调低到1。
Use Ambient Occlusion环境光遮蔽,它用于将环境光遮蔽烘焙到光照贴图方案中。
如果要生成"环境光遮蔽蒙版",而不是将其烘焙到光照贴图中,可以启用Generate Ambient Occlusion Material Mask"生成环境光遮蔽蒙版"选项,它会创建基于环境光遮蔽的独立图像。
禁用Compress Lightmaps"压缩光照贴图"可以提升纹理质量,但此设置会占用大量硬盘存储空间,因为光照贴图大小将增大4倍。
烘焙光照贴图时的另一个要点是“整体质量设置”,进入Lighting Quality"光照质量"可以看到四种质量级别。Preview"预览"适合快速烘焙低分辨率效果,以便了解光照环境整体效果。每提升一个级别都会提升最终烘焙的质量,同时增加烘焙时间。Production"制作"级别可以提供最佳质量的光照贴图输出,但烘焙耗用的时间最长。
4、Swarm
Unreal Studio内置一个分布式渲染系统称为Swarm。Swarm应用程序位于虚幻引擎安装目录中,默认情况下载Windows安装目录为“C:\Program Files”,但你的虚幻引擎可能安装在其他位置。
两个可以使用的应用程序SwarmAgent.exe和SwarmCoordinator.exe,SwarmCoordinator只需在协调光照贴图构建作业的主计算机上运行即可。所有其他电脑都需要运行SwarmAgents,包括同时用于构建光照贴图的协调用电脑。启动SwarmCoordinator后,它会开始列出网络上正在运行SwarmAgent的电脑。SwarnAgent应在协调电脑构建光照贴图时自动启动。
5、屏幕空间后期处理特效
“屏幕空间特效”是一种图形处理技术,可以在每一帧的最后渲染阶段中或者说实时漫游的后期使用,为整个屏幕添加特效,并影响所有可见对象。运行时可添加的特效包括但不限于“景深”,“泛光”,“镜头尘土”甚至“颜色分级”和“色调映射”。
后期处理效果可以直接添加到摄像机上。
PostProcessVolume后处理体积
Priority“优先级”孕育我们在多个后处理体积彼此嵌套时指定各个体积的作用顺序,此数字越高,优先级越高。Blend Radius混合半径和Blend Weight混合权重用于控制你在进出体积时该体积的后期处理效果何时混入或混出,但是启用“无边界”或者Infinite Extent"无限范围"后它们就没用了。
“色调映射器”是渲染流程的最后一个阶段,虚幻引擎会渲染高动态范围内的所有对象,色调映射器将HDR颜色映射到低动态范围颜色,这样普通显示器也能尽可能准确的显示HDR效果,比如正确显示自发光和曝光效果。虚幻引擎使用的Film电影色调映射器以学院彩色编码系统(ACES)为基础,这套系统被视为电影电视行业标准。ACES提供了与人眼可见完整色域最为接近的色彩区域。除非你很熟悉色调映射的操作,否则最好改为使用Color Grading颜色分级,并避免调整Film电影色调映射器,后期被设置为模仿现实世界胶片质感的光照和色调,但如果要尝试模仿特定胶片质感,那么色调映射器可以支持你这样做。
Color Grading颜色分级
Temp"色温"表示场景中的温度以“开尔文”为单位,通常色温应与场景光照温度向匹配,这样就能尽可能得到纯白色。通过“颜色分级”和“色调映射”我们即可实现任何视觉风格,或者只需调整设置以对场景光照和色彩平衡进行全局调整即可。但请谨记,通常最好避免调整“色调映射器”它已经过精心调整,如果你还不熟悉色调映射应改为使用颜色分级选项。首先进行全局设置然后逐步处理阴影、高光和中间色调。
HDR(Eye Adaptation)眼部适应
柱状图上的加粗白色条形,表示我们可以看到的最大亮度。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)