每一个人都应该知道的VR初级优化学--规范篇


3楼猫 发布时间:2025-04-15 11:32:28 作者:火燎菊 Language

VR - 101 我知道你们都懂的,但是还是要提一嘴
  1. 如果不需要纹理,就避免使用纹理。
  2. 如果不需要投影阴影,就避免启用阴影投射。
  3. 尽量减少动态光源的使用。
  4. 尽量减少使用透明材质。
  5. 对可见物体进行分批实例化。如果实例化组的某一元素可见,则整个组都会被绘制。
  6. 对所有超过目标三角形数的对象创建 LOD(细节层次)。
  7. 保持材质的复杂度低,每个对象的材质数量尽量减少。
  8. 对任何可以烘焙的光照进行预计算。
  9. 避免使用大范围几何体,特别是可能包围玩家的部分。
  10. 在可能的情况下,使用预计算的可见性体积(Precomputed Visibility Volumes)。
PS
  • VR Preview 模式运行速度快,但无法准确模拟构建后的体验。
  • 推荐使用带有 -vr 参数的独立运行模式(Standalone)进行测试和验证

记住!伙计们 Unreal引擎内置了许多优化功能!

初级优化无外乎就这七条:
1、使用预计算的可见性和裁剪距离
通过预先计算场景中物体的可见性和裁剪距离,可以避免渲染不可见或距离过远的物体。这可以减少绘制调用,从而提高渲染效率。
2、对所有对象进行LOD处理(包括HLOD)
LOD(细节层次)技术会根据物体与相机的距离动态调整模型的多边形数量,远处的物体使用低分辨率版本,从而减少性能开销。 HLOD(分层 LOD)还可以将多个远处物体合并为一个整体渲染。 3、使用实例化来减少绘制调用(本地簇优化)
如果场景中有多个相同的物体(例如树或石头),可以通过实例化的方式将它们打包为一个批次来渲染。 这大大减少了绘制调用次数,提高性能。令人忍俊不禁 4、避免使用大规模Mesh
大型网格模型不仅难以管理,还可能导致性能瓶颈。将场景划分为多个小块可以更有效地控制渲染,并允许更精确的裁剪。
5、合并相似的Actor(本地簇优化)
将多个相似的小对象合并为一个 Actor,可以减少渲染开销和绘制调用,但需要权衡是否影响光照或物理效果。
6、禁用未使用的渲染功能,例如延迟贴花
如果场景中未使用某些渲染功能(例如延迟贴花或复杂的后期效果),可以禁用它们以减少 GPU 负担并提高帧率。
7、不必要时避免使用Event Tick
Event Tick 是一种每帧都会执行的函数,可能对性能造成较大影响。避免不必要的逻辑放入 Tick 中,可以通过定时器或事件驱动机制代替,以减少资源浪费。

模型资产优化为两个大方向

LOD优化 & 材质优化 想要项目流畅运行,那得下不少功夫




Let DOOOOOO IT




1、导入规范

【LOD优化】Level of Detail

1\定位面数多的网格并创建新的LOD
使用Mesh LOD Coloration查看视图内LOD情况






2\ 使用“通过属性矩阵批量编辑”(Bulk Edit via Property Matrix)工具来完成操作。
批量统一分类 LOD Group 对LOD进行正确的分组是至关重要的 例如: LOD的分组设置为HighDetail,那么它就会为所有东西创建5种不同的LOD


点击开启Custom,可以快速的通过数值查看不同的LOD面数

【材质优化】Material Optimizations

1、VR - 材质开销优化 使用实例材质
尽量使用不透明材质,并保持着色器图简单。如果需要,优先尝试使用带有 Masked 混合模式的材质。仅在必要时才使用透明(Translucent)或加成(Additive)混合模式,因为它们的性能开销最大。

2、Quality Expression Nodes 材料节点也可以根据 "设置 "进行一些切换

3、纹理创建
  • 纹理的尺寸应始终为 2 的幂: 2、4、8、16、32、64、128、256、512、1024、2048、4096 和 8192。
  • 纹理不需要是正方形,但必须使用 2 的幂的尺寸,例如:
  • 16x128
  • 2048x1024
  • 2x4096
  • 2048x64
4、开启MIP Mapping【多级贴图】

5、法线贴图问题
在VR中查看对象上的法线贴图时,应该会注意到它们未能达到以前该有的效果。这是因为法线贴图不会考虑双目显示问题或运动视差。因此,使用VR设备查看时,法线贴图通常看起来很扁平。但是,这并不意味着不应该或不需要使用法线贴图;只是意味着需要更加仔细评估是否可以更好地从几何体产生法线贴图中的数据。下面将介绍一种可以用来代替法线贴图的技术。
  • 视差贴图: 视差贴图会考虑法线贴图中所没有的深度线索,从而将法线贴图提升到一个新的水平。视差贴图着色器可以更好地显示深度信息,使对象看起来比实际具有更多细节。这是因为无论从哪个角度看,视差贴图都会自行校正,从观察者的视点显示正确的深度信息。视差贴图的最佳用途是用于鹅卵石小径和具有精细细节的表面等。
6、贴图优化
  • 虽然引擎会自动做MipMap,但是在多人协作时过大的纹理会导致SVN卡顿或引擎崩溃
  • 如果对项目电脑足够自信的话可以忽略这一步,以及注意图片压缩格式问题!
不是哥们,你一个窗户贴图300M?
4K 1.75M8K 68M,将图片压缩到4k,在质量相对不变的情况下,将素材体积压缩至源文件 3%左右 虽然这是一个应该做的规范,但如果在UE中设置过纹理最大尺寸,例如2048,那么项目在打包后,包内尺寸就会是2048。但你猜编辑器里会不会卡?


© 2022 3楼猫 下载APP 站点地图 广告合作:asmrly666@gmail.com