
作为游戏开发者漯河预应力钢绞线价格,你是否也曾为 “特殊模型”而 疯狂创建材质实例?抽屉要换色、地板要改粗糙度、道具要调发光强度…… 成百上千的材质实例不仅让工作流程繁琐到崩溃,同时会提升绘制调用次数,导致开销增加。
今天就给大家分享一个UE引擎的隐藏神器,自定义基元参数(Custom Primitive Data,简称 CPD),专门解决重复几何体的材质控制难题。
手机号码:13302071130自定义基元参数(CPD )到底是什么?
自定义图元数据(CPD)它与动态材质实例的功能类似,可用于在运行时通过标量和向量参数,动态控制材质图表的各部分。
区别在于,CPD的优势是将数据存储在图元自身而非材质实例上,减少了关卡中类似几何体(如墙壁、地板或其他重复几何体)的使用多材质实例而绘制调用次数的增加。
简单来说,CPD 让同一材质的不同图元可以拥有独立的材质参数,却无需创建多个材质实例,完美适配墙壁、地板、抽屉等重复几何体的场景。
展开剩余83%CPD 基础使用教程
材质蓝图设置
1.在图表中添加标量(Scalar)和向量参数(Vector Parameter) 表达式,以便控制材质属性。这点和材质实例类似。
2.选中参数后,在 细节(Details) 面板中勾选该表达式的 使用自定义图元数据(Use Custom Primitive Data)。
3.启用后,参数会在其给定命名下显示"自定义图元数据",以及你在 图元数据索引(Primitive Data Index) 数组中赋值给它的数值。该数值在节点上也会显示。
图元数据索引(Primitive Data Index) 用来设置该参数保存在哪一个索引之下。该索引用于在蓝图和代码中引用参数。
对标量(浮点 )参数设置索引时,索引只有一个值。对向量参数设置索引时,参数中的每一个通道都会在图元数据索引中被赋予一个单独的数值。
在上图中,标量参数赋值给索引0,而向量参数赋值给索引1、2、3、4。每个RGBA输出分别对应一个索引值。
网格体实例设置
为场景中不同的网格体实例,赋予不同的自定义图元数据参数。这样,多个网格体共享同一个材质,却能拥有独立的材质属性,绘制调用次数大幅减少!
拓展使用,程序化蓝图控制,实现动态效果
CPD 的强大之处不仅在于静态赋值,更能通过蓝图实现运行时动态控制!
程序化蓝图数值设置
你可以通过以下蓝图节点来访问使用了CPD的场景图元。
Set Custom Primitive Data Float Set Custom Primitive Data Vector⚠️ 关键注意点:这些节点无需与参数命名匹配。相反,它们使用赋值后的图元数据索引(Primitive Data Index) 逐图元设置和获取数组中的数据。
在材质内访问该数组中的自定义数据,与使用材质实例中的材质参数类似。区别在于,锚索在参数节点上的材质中,参数必须为匹配字符串的统一参数,而非匹配数字的索引。
Actor默认值使用
你可以为Actor设置自定义图元数据的默认值,方法是在其默认面板中选中静态网格体组件,展开 自定义图元数据默认值(Custom Primitive Data Defaults) 分段。
点击 加号(+) 图标添加数组元素。数字会自动填充对应的带名称自定义数据参数,以及对应的图元数据索引值。
而褐矮星更为奇特。它们因太小无法成为恒星,又因太大以至不属于行星。它们的质量介于恒星和气态巨行星(如木星)之间,正是由于“体重不达标”,内部温度压力小,不能像一般恒星那样产生足够的能量与辐射。但许多理论认为,褐矮星虽无法支持氢的核聚变,却可以支持重氢(氘)的核聚变,而且它们与巨行星有类似的大气,是很好的类比和研究对象。
专程学习珠宝鉴赏课程
各个编号数组元素都引用具有对应值的自定义图元数据索引。若数组元素不存在索引,则其将被忽略。若要手动调整某些值,但不附加蓝图或不创建材质实例来加以控制,则非常适合使用此方法设置默认值。
性能优化效果
使用 CPD 流程,最大的优势就是显著减少绘制调用次数!尤其是对于关卡中大量的重复几何体,CPD 配合网格体绘制重构的自动动态实例化功能,能大幅优化渲染性能。
想要查看动态实例化的效果,只需打开控制台,输入命令: "stat scenerendering"该命令会显示当前场景的渲染统计数据,包括网格体绘制调用数、光源数量等关键指标,帮你快速定位渲染性能瓶颈,验证 CPD 的优化效果!
其他重要说明
1.浮点类型数值限制
目前 CPD 的浮点类型数值固定为 32 位,未来版本可能会开放为可配置设置。
2.默认值与初始值设置
当前材质中 CPD 参数的默认值固定为 0。如果需要在编辑器中设置初始值,可以在网格体的构造脚本中进行操作。
自定义基元参数(CPD)是 UE 引擎中针对重复几何体材质控制的性能优化黑科技,它通过将材质参数存储在图元自身,彻底解决了大量材质实例带来的工作流繁琐和绘制调用过高的问题。
无论是静态场景的批量材质控制,还是动态效果的程序化实现漯河预应力钢绞线价格,CPD 都能轻松胜任!赶紧在你的项目中尝试起来吧!
发布于:上海市