码迷,mamicode.com
首页 > 其他好文 > 详细

Unreal Engine 4 动态切割模型实现

时间:2017-04-04 23:45:27      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:tor   com   length   http   属性   模型   有趣的   添加   sim   

Unreal Engine 4 动态切割模型实现

《合金装备:复仇》里面,有一个很有趣的设定,游戏里大部分的场景和物件都可以用主角的刀动态切割。
UE4中的ProceduralMeshComponent这个组件可以很容易的就实现这种功能,下面介绍下实现的方法。

准备模型

首先我们准备一个模型。
技术分享

我做了一个简单的圆柱体,用来测试。注意需要切割的地方,为了保证细节,多放点顶点。
为了能够动态切割,我们要勾选这个模型的Allow CPUAccess选项。
技术分享

新建蓝图

新建一个Actor蓝图,为它添加两个组件,一个是StaticMeshComponent,一个是ProceduralMeshComponent,在Construct Script中,将StaticMesh的模型数据拷贝到ProceduralMesh中去。
技术分享

调整ProceduralMesh参数

出于优化的目的,ProceduralMeshComponent默认勾选了UseComplexAs SimpleCollision这个属性,为了实现我们切割下来的能正常的进行物理模拟,需要把这个属性给取消勾选。
技术分享

实现切割

技术分享
SliceProceduralMesh实现模型的切割。说下几个参数:
* PlanePosition是切割平面的位置
* PlaneNormal 是切割平面的法线,也就是朝向
* Create Other Half 切割下来的部分,是否创建新的ProceduralMesh
* Cap Option No Cap,切面不缝合,Create New Section For Cap; 缝合,使用自定义的材质来贴补缝合的面; Use Last Section for Cap,使用模型的材质来贴补缝合的面。
具体效果如下:
技术分享

Unreal Engine 4 动态切割模型实现

标签:tor   com   length   http   属性   模型   有趣的   添加   sim   

原文地址:http://blog.csdn.net/shangguanwaner/article/details/55002918

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!