当前位置: 首页 > article >正文

【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


http://www.kler.cn/a/369573.html

相关文章:

  • 从0开始使用面对对象C语言搭建一个基于OLED的图形显示框架(动态菜单组件实现)
  • WordPress使用(1)
  • C动态库的生成与在Python和QT中的调用方法
  • 用 Scoop 优雅管理 Windows 软件:安装、配置与使用全指南
  • 步进电机加减速公式推导
  • HarmonyOS DevEco Studio模拟器点击运行没有反应的解决方法
  • 开源生活-分布式管理
  • EasyExcel文件导入与导出
  • stp生成树协议(思科)
  • 如何对pdf文件进行加密?pdf文件加密全攻略与深度解析(5个方法)
  • 前端测试工具详解
  • 【CUDA代码实践03】m维网格n维线程块对二维矩阵的索引
  • 本地Docker部署开源WAF雷池并实现异地远程登录管理界面
  • FPM383C指纹模块超详解 附驱动
  • MPP音视频总结
  • Matlab 疲劳驾驶检测
  • 麒麟V10、UOS系统实现在线合并多个Word文件
  • MySQL 之 索引
  • Claude Financial Data Analyst:基于Claude的金融数据分析工具!免费开源!
  • 关于git上传文件冲突
  • 从docker中导出已经存在的容器
  • 【设计模式系列】适配器模式(九)
  • MySQL 8 下载与安装攻略
  • 第十届文荣奖华丽开幕,郁葱以青春与努力绽放青年演员光芒
  • 新手铲屎官提问,有哪几款噪音低的宠物空气净化器推荐
  • TypeScript-类型注解知识点详解