本文使用引擎版本:UE4.26
UE4的布料系统真是强大,可以在游戏运行时实时解算布料出动画。本文以一面随风飘动的旗帜的制作为例,带大家了解一下UE4布料模拟(Cloth Simulation)系统的使用步骤。
效果图
文章目录
Blender端
- 效果图
- Blender端
- 建模
- 绑定并蒙皮
- 导出FBX
- UE4端
- 导入FBX
- 编辑物理资源
- 生成物理数据
- 为物理材质刷权重
- 应用物理数据
- 场景测试
本文使用Blender2.9作为DCC工具,其它工具原理相同。
建模注意:旗帜部分如果要得到良好的模拟效果,需要增加细分,同时面数增加会影响运行效率,所以要权衡以后再做决定。
老王使用BetterFBX插件导出FBX(2013版)
Skeletal Mesh
导入以后都会自动生成PhysicsAsset
,但有时生成的结果并不好,需要手动再编辑一下。
下图这个胶囊体实际就是碰撞器,布料会和它发生碰撞,所以当前这种状态显然是不行的。 手动把它调整为和覆盖旗杆的大小就可以了。
生成旗面的物理数据(可以理解为物理材质)
- 在
Mesh编辑器
中选择Section Selection工具
。 - 选择旗帜的面。
- 右键
Create Clothing Data From Section
。 - 点击确定。
这个权重是骨骼和物理系统控制权的权重。数字越大对物理系统相应越强。所以我们就把这个value称为物理权重
吧。
先尝试着刷一下
注意: 旗面和旗杆的衔接处应该固定在旗杆上,所以这部分的物理权重
应该为0,而旗面的其他部分主要受物理系统影响,所以我们要给它们设一个大一些的值。先尝试把它们设为100.
依然是使用 Section Selection
然后选择旗面,右键Apply Clothing Data
物理权重
设为100时旗帜的边缘没有完全垂下来,那么就再提高物理权重
试试
物理权重
调整到1000,基本达到了预期的效果
在场景中加入风场,效果非常满意