二、使用Instanced Static Mesh Component来进行优化 针对上述问题,在UE4中,我们可以使用Instanced Static Mesh Component来进行优化,简称ISMC。还有一种叫Hierarchical Instanced Static Mesh Component,简称HISMC。继承关系如下: 不管是ISM还是HISM,都会把所有该组件下生成的大量的Instance Mesh加载到一个模型数组中,然后...
使用Hierarchical Instanced Static Mesh;HISM; 所谓Instanced Static Mesh,也是由于drawcall问题产生; 实例化静态网格体渲染;类似静态合批(相同的模型,不需要多次drawcall,同时一次就行,只需要知道是不同位置就行了)所以能够达到大片植被一个drawcall; 当然,材质也需要统一; 实例化渲染,类似静态合批,n个相同物体的内存...
并且支持把植被在UE4里Bake成使用的HierarchicalInstancedStaticMeshComponent的BP形式,一定程度上解决了植被渲染效率的问题。 但这种方法在开发效率和运行效率上都还有他的问题: 开发效率方面,这个方案并不支持UE4的Foliage Mode Editor: 每个植被区域都被Bake成BP的形式,场景美术规划阶段就需要格外小心防止区域之间穿插造成...
二、使用Instanced Static Mesh Component来进行优化 针对上述问题,在UE4中,我们可以使用Instanced Static Mesh Component来进行优化,简称ISMC。还有一种叫Hierarchical Instanced Static Mesh Component,简称HISMC。继承关系如下: 不管是ISM还是HISM,都会把所有该组件下生成的大量的Instance Mesh加载到一个模型数组中,然后...
在上篇中,实现了使用Houdini在UE4里根据地形过程生成植被的最基本的原型。并且支持把植被在UE4里Bake成使用的HierarchicalInstancedStaticMeshComponent的BP形式,一定程度上解决了植被渲染效率的问题。 但这种方法在开发效率和运行效率上都还有他的问题: 开发效率方面,这个方案并不支持UE4的Foliage Mode Editor: ...
所以说Unreal针对这个问题做了个Hierarchical的Instanced Static Mesh即HISM。它的实现是就是根据树形结构来做了Cluster来分组,可以把裁剪粒度更精细,还可以做Cluster LOD,同时我还实现了距离剔除。 这些都是针对CPU的粗粒度剔除,对于GPU优化方面,Unreal提供了Early Z Pass。植被系统中树、草都是Mask材质,Mask Material...
默认类是FoliageInstancedStaticMeshComponent,它是HierarchicalInstancedStaticMeshComponent 的子类,但是已经添加了Point(点伤害)及Radial Damage(径向伤害)支持。 新增内容:为FBX导出添加了针对实例化网格物体组件的支持。 新增内容:植被描画现在总是尝试通过过滤后的几何体进行描画。比如,当静态网格物体过滤出后,植被将仍然...
当Instanced Mesh的数量较多时(比如百万级),一帧内执行RemoveInstance或者UpdateInstanceTransform数次,帧率会狂泻。 优化办法:操作Instanced Mesh之前,将UHierarchicalInstancedStaticMeshComponent::bAutoRebuildTreeOnInstanceChanges设置为false,然后执行你需要的各种Instanced ...
UInstancedStaicMeshComponent, UHierarchicalInstancedStaticMeshComponent和UFoliageInstancedStaticMeshComponent: 使用一个Draw call渲染所有植被实例。三个类是继承关系,第三个是后来新增的类,增加了对植被的伤害处理ReceiveComponentDamage,植被使用的就是这个类。一个植被配置(UFoliageType)对应一个UFoliageInstancedStatic...
UE 4.25 引入了将自定义数据添加到实例缓冲区的方法,它在技术上仅在顶点着色器中可用。但是,你可以使用 VertexInterpolator 节点将来自 PerInstanceCustomData 材质节点的传入浮点数转换回像素着色器可读的格式。 下面的示例显示了带有 Hierarchical Instanced Static Mesh 组件的 Actor BP,为了清楚起见,包括一些具有一定...