【UE5】通过程序化网格体组件实现剖切功能

效果

步骤

1. 新建两个Actor类蓝图,分别命名为“BP_CutActor”、“BP_CutPlane”,分别表示被剖切的网格体和剖切的片面。

2. 打开“BP_CutActor”(被剖切的网格体),添加静态网格体组件、程序化网格体组件,并将静态网格体组件作为根节点

添加变量,这里命名为“SM”,类型为静态网格体的对象引用,勾选“可编辑实例”

添加变量,这里命名为“Material”,类型为材质接口的对象引用,勾选“可编辑实例”

添加变量,这里命名为“剖面材质”,类型为材质接口的对象引用,勾选“可编辑实例”

创建一个函数,这里命名为“F_CreateApperance”,用于创建该Actor蓝图的外观。在函数“F_CreateApperance”中,设置静态网格体组件的StaticMesh为变量“SM”,然后设置静态网格体的材质。

这里在构造函数中调用“F_CreateApperance”

3. 打开“BP_CutPlane”,添加一个平面组件

调整平面组件的旋转为(0,-90,360)

添加变量,这里命名为“MeshAndMaterial”,类型为“程序化网格体组件”到“材质接口”的映射

添加变量,这里命名为“BP_CutActor”,类型为“BP_CutActor”的对象引用,勾选可编辑实例

在函数“BP_剖切”中添加如下节点以实现剖切功能

在构造函数中调用“F_剖切”

4. 创建剖切平面的材质,这里命名为“M_Plane”

打开“M_Plane”,设置混合模式为“Additive”,勾选双面

在材质图表中添加如下节点

预览如下

6. 在场景中准备两个被剖切的物体“BP_CutActor”,然后设置变量“SM”的值,由于在构造函数中调用了“F_CreateApperance”,因此设置变量“SM”的值后,就出现了外观。

然后可以设置一下物体的材质和剖面材质,这里随便找了两个材质

场景中拖入“BP_CutPlane”,设置变量“BP_CutActor”的值来设置可被剖切的Actor有哪些。

剖切效果如下:

如果希望runtime时能够实现剖切功能,需要在Tick情况下一直调用“F_剖切”函数。

参考视频:

https://www.bilibili.com/video/BV1CttVeuEaL/?spm_id_from=333.1007.top_right_bar_window_custom_collection.content.click&vd_source=36a3e35639c44bb339f59760641390a8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zhichao_97

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值