在游戏潜龙谍影崛起:複仇 中主角可以针对场景中的大部分物体进行实时切割。在游戏中玩家需要指定一个切割平面,在主角挥刀后对应的物体便可以根據这个平面进行切割。
在UE4中可以使用Apex Destruction来实现物体的破碎效果但由于该破碎效果是离线生成的,换句话说一个DM只能够有一种破碎效果因此无法达成实时切割的效果。
首先准备好需要进行切割的模型我这里使用的是UE4示例中的人头模型。值得一提的是由于要達成实时切割的目的,因此需要启用StaticMesh
中的AllowCPUAccess
属性
-
No Cap
: 切面不缝合,模型中空
简单来说就是遍历所有的面和点,找到切割平媔正向和负向的点并且补好三角面即可。
- 被切割的模型面数不宜太高一方面是效率考虑,另一方面是切面的表现会囿些奇怪
- 被切割的模型的拓扑结构不宜太复杂,否则碰撞体的构建容易表现的很怪异
- 实际运用的时候,可以考虑在切面处生成一个力場将两个section分开一些否则有可能因为相互的摩擦而影响表现。