一、卡顿现象分析
在UE4中,我们在做大型的室外场景时,经常会遇到植物过多导致延迟的现象,有时候我们需要在UE4的场景中放置几千几万甚至更多的模型,这些模型具有相同的LOD,并且基础模型都使用同一模型资源。因为模型文件拖入UE4场景中会自动使用Static Mesh Actor来表示,当在程序中放置大量模型时,其实是在引擎中生成了大量Static Mesh Actor类的实例。每个SMActor都单独计算模型、材质和坐标Transform等,每个SMActor都会单独调用DrawCall来单独渲染自己。所以当大量SMActor在场景中的时候,调用Draw Call次数急剧增加导致渲染延迟增长,如果每个SMActor还要单独Tick去更新Transform坐标的话,程序逻辑延迟也会随之增加,以上两个主要延迟会导致场景变得巨卡。
二、HierarchicalInstancedStaticMesh(层级实例化)
在UE4中,我们可以使用Hierarchical Instanced Static Mesh Component来进行优化,简称HISMC。
原理:所有该组件下生成的大量的Instance Mesh加载到一个模型数组中,然后使用统一的材质,进行一次性整体渲染,DrawCall只调用1次,从而降低了渲染延迟。但是如果要更新坐标,仍然需要遍历整个模型数组,所以仍然会存在一定的程序逻辑延迟。
三、测试
实现一个生成多实例模型
文章来源:https://www.toymoban.com/news/detail-607936.html
文章来源地址https://www.toymoban.com/news/detail-607936.html
到了这里,关于【虚幻引擎】UE4优化植被的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!