UE4在场景中使用预计算可视性(PrecomputedVisibility)

UE4 预计算可视性(PrecomputedVisibility)

本文基于UE4 4.14

转载请注明文章出处,作者信息,原文链接

预计算可视性(PrecomputedVisibility)是ue4用于在不支持硬件遮挡查询的移动平台上做可视化查询的技术,预计算可视性能有效的减少渲染的面数,降低渲染线程的时间消耗但会增加内存开销。 该技术的构建时间和内存消耗将会随着场景的增大而显著增加(实际上由PrecomputedVisibilityVolum大小决定),并且该技术仅用于静态物体。

如何构建预计算可视性

  1. 在左侧“模式”兰中选择“体积”找到“PrecomputedVisibilityVolume”
    这里写图片描述
    将其拖曳到场景中并设置好大小,该Volume内的物体将会在构建时生成预计算可视性单元,如下图:
    这里写图片描述
  2. 在场景的“世界设置”中选中“Precompute Visibility” 并设置好“Visibility Cell Size”的x,y方向大小,该选项的默认大小是200,可根据具体需求修改,该值越小剔除的遮挡面越多,但构建的时间和运行时内存使用量将显著增加。 “Visibility Cell” 是 PrecomputedVisibilityVolume 内生成的可视化单元的立方体,执行可视化查询时将会根据相机处于哪个“Visibility Cell”和相机的一些其他参数来决定哪些Visibility Cell是可见的,Visibility Cell 的高度默认是220需要在配置文件中修改即Engine/Config/BaseLightmass.ini的DevOptions.PrecomputedVisibility标签下的PlayAreaHeight属性,如过只针对本项目修改需在项目的config下新建“DefaultLightmass.ini”文件然后添加相应的标签,重新指定需要修改的值。在该例中我将“Visibility Cell Size”设置成100在该场景中其剔除效率和构建时间及内存使用上是一个不错的平衡
    这里写图片描述

  3. 构建Visible Cell,点击构建按钮,构建时间将更具PrecomputedVisibilityVolume的大小和visible cell的大小来决定,构建完成后点击
    显示->可视化->precompted visiblity cells 可查看构建好的可视化单元
    这里写图片描述

  4. 使用预计算可视性的效果
    由于预计算可视性只在移动平台起作用,所以在移动平台上如果启用了该功能的话可视性剔除会直接其作用,在PC上如果要查看该效果需要将渲染级别设置成“android预览” 如下图:
    这里写图片描述
    修改渲染级别后需要重新计算shader所需时间较长,以下是使用和不使用预计算可视性的三角形数量对比,显示三角形数量请在命令行中输入stat engine

这里写图片描述

这里写图片描述
可见在该场景中该参数设置和相同摄像机下三角面大约被裁剪了3万个,这在移动平台上对效率的优化是显著的

注意事项

1.无法处理可移动对象或可移动遮挡物
2.无法处理透明遮挡物
3.只会在视点处于visibility cell时进行剔除,所以对于飞行类的游戏不是很实用
4.无法有效地处理动态载入关卡,所有数据都存储在永久关卡中,而不是使用动态载入关卡载入载出,所以构建的时候在子关卡设置好后最好切换到永久性关卡来构建

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值