NSDT工具推荐Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - Three.js虚拟轴心开发包 - 3D模型在线减面 - STL模型在线切割

UE 4.25 引入了将自定义数据添加到实例缓冲区的方法,它在技术上仅在顶点着色器中可用。但是,你可以使用 VertexInterpolator 节点将来自 PerInstanceCustomData 材质节点的传入浮点数转换回像素着色器可读的格式。

下面的示例显示了带有 Hierarchical Instanced Static Mesh 组件的 Actor BP,为了清楚起见,包括一些具有一定比例变化的实例。还使用新的 Set Custom Data Value 节点将实例索引传递给材质。它需要一个浮点数(向它加一个小的值,以消除任何精度错误)。

最重要的是,HISM 组件中的 Num Custom Data Floats 设置为 1,因为如果你尝试在尚未保留的地方设置自定义数据值,它当前会在 UE 4.25 Preview 7 中崩溃。

进入材质后,只需在数据索引 0 处获取 PerInstanceCustomData,将其通过 VertexInterpolator 并将值调试到实例表面,从而生成最终图像中看到的结果。因此,现在你可以将实例索引直接编码到材质中,而无需任何子类化或魔改引擎,允许你将它们用于额外的纹理查找等功能实现。


原文链接:Using Per Instance Custom Data On Instanced Static Mesh

BimAnt翻译整理,转载请标明出处