1. 构建一个actor,里面添加一个被切割的static mesh,比如一个立方体,再添加一个proceduralmesh。
然后在构造函数里面添加下面代码,将static mesh拷贝到proceduralmesh里。
另外将static mesh的hidden in game属性加上,这样只显示proceduralmesh。
另外要把static mesh的物理引擎关闭,碰撞关闭,要不即使不显示,两个模型也会冲突。
2. 给pawn的人物模型的手臂socket上面绑定一个plane模型,用来切割上面的立方体。然后编写下面代码。
在beginplay里面给plane绑定一个模型的重叠事件,来得到被切割的立方体模型。
然后用鼠标点击事件,利用slice procedural mesh函数来切割模型,这个函数需要几个参数。
1)被切割的模型
2)被切割那个面的位置
3)被切割那个面的法线
4)是否给被切开的那个面加一个材质
5)材质
3. 为了切开模型后,有那种被切开的效果,可以加上物理仿真,并且从断面崩开
4. 效果如下