UE4 大世界场景制作与性能优化 |
您所在的位置:网站首页 › ue4场景打包输出后不一样 › UE4 大世界场景制作与性能优化 |
一.使用工具
1.1使用 HLOD
由于HLOD是减少DrawCall的方案,所以其实他会对渲染性能的提高能够起到一定的帮助作用。因为它是将场景中互相独立的静态Mesh通过顶点和材质合并的方式聚合在一起,本来由于材质和顶点Buffer的不同而没有办法形成一个统一的Drawcall,现在可以迎刃而解。很显然那些被合并的顶点和索引buffer再也不能被复用了,而且pack到一起的纹理也是一样,它们都变成了场景中独一无二的资源,所以理论上讲HLOD是一种用空间来换取时间的方法。 所以HLOD是会增加内存使用的,如果是巨量的HLOD,不仅适得其反,会影响渲染性能的使用,cook的时候一个HLOD的文件大小是及其夸张的。压缩这些HLOD文件可能花费了数个小时的时间,它大大降低了研发迭代的效率。 将世界场景设置 中的 Enable Hierarchical LODSystem打开。 我们首先在windows 界面打开HLOD管理器 我们点击 Generate Cluster, 他会把所有level里面的空间位置临近的Mesh分组为一个Cluster。如果觉得分的不好的话是可以自己手动修改的。 然后我们点击加号增加HLOD的个数,例如我们增加两个一共三个LOD 我们选择HLOD 的视图模式 我们由近到远就可以看到HLOD的变化。 参数设置距离每个cluster越近,使用的LOD的越数值越小,Mesh的数据越精确。每个LOD上面都有特定的参数。 参考: https://docs.unrealengine.com/zh-CN/BuildingWorlds/HLOD/Reference/index.html 1.2使用LOD和Merge Actor 使用LOD所以其实我们并不需要所有的物理都变为HLOD的,当然这个部分没有踩过坑是没有办法预知的,因此我们对于某些Mesh(待定)使用LOD应该就ok。我们的每个Mesh ,都需要设置LODs。 这里我们有了标准是可以使用脚本刷的。 相关调试 r.StaticMeshLODDistanceScale r.forceLOD由于我们的LOD是可以使用简化材质的。 使用Merge Actor由于HLOD的内存问题,所以另一种方案是合并actor,因为他是生成一个新的Mesh和material,所以他并不会产生额外开销。 首先开启 virtual texture 然后,我们将所使用的贴图进行转换 也可以在纹理编辑器里进行转换 若未使用上述转换菜单选项,将立即导致引用转换纹理的所有现有材质失效。应打开引用违规纹理的所有材质,并将纹理取样节点设为使用正确 虚拟(Virtual) 采样器类型。例如,虚拟纹理应使用 虚拟颜色(Virtual Color) 而非 颜色(Color) 采样器类别 https://www.youtube.com/watch?v=GkDg9GPpzXE&ab_channel=UnrealEngine 1.5使用纹理流送此处用来保证MipMap的正确性。我们构建纹理流数据: 纹理流送构建期间计算的数据准确性可以通过查看纹理流送准确性视图模式来检查: ![]() ![]() ![]() ![]() 对于材质一样,mesh一致,仅有旋转,位置,大小不一致的的大量物体,例如书柜里的书,我们是可以使用Static Mesh Instancing 来进行 r.MeshDrawCommands.DynamicInstancing 虚幻4.22引入了自动实例化的功能,因此无需再自行管理。手动做比自动做性能好?不是很清楚。合并太多的对象会把视锥剔除和遮挡剔除的所有优势抵消。如果静态网格体使用LOD,每个LOD都将在GPU上单独执行一次绘制调用。 二. 把控风险 2.1 内存相关材质中使用默认的纹理,(一个纯白的一像素纹理等等)因为一个材质加载进来会将所有的硬引用的贴图数据(材质中指定的那个贴图)进行加载,但是我们其实只使用的是他的instance里面的数据,或者是我们后面给他重新赋值的贴图。 贴图大小不是二的整数,这个很好理解512*512的贴图的内存是512 * 512,但是513 *513的数据的内存是1024 * 1024。并且将不会有mipmap。 贴图的压缩格式,我们看到一个贴图很模糊不一定是他的分辨率的问题,可能跟他的压缩模式有关系,所以尝试调整。 材质接口的使用,如果有端口是你不使用的,那么请使用一些方案让他变成暗的,因为每个凉的节点都会增加不必要的变体消耗。 硬边缘和UV解封管理规则:UE4会沿着UV接缝和硬边缘分割网格体的边缘产生大量顶点数量,大部分边缘应尽可能保持平滑,UV接缝数量尽可能少
关闭远距离LOD的阴影投射,可以节省几毫米。远距离的阴影就算了把!!!!!!!! 移动物体的使用, 固定光源的使用, 公众号:UE4 虚幻引擎源码解析 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |