物理资产PhysicsAsset编辑指南
前言
物理资产在Rigdoll和物理动画的引用中非常重要, 当然还有角色模型的碰撞检测也需要物理资产支持, 但是有很多细节在官方文档和其他文章或者教程中并没有提及, 导致编辑过程中踩了很多坑, 本文主要是记录这些细节问题
碰撞体
创建
很多时候我们会一键自动生成全身的碰撞体, 但是我们需要注意一个选项
默认是勾上的, 意味着默认是没有碰撞的, 这个选项我们下面重点讨论;
实际项目中很多时候我们会手动一个个创建碰撞体然后再一个个添加约束, 主要是为了可控, 因为自动生成经常会遇到下面这种现象, 比较难排查
另外, 一个骨骼是可以创建多个碰撞体的, 如果需要严格的对模型进行包裹, 那么可以尽可能的使用多个碰撞体来实现, 但是要注意重量问题, 骨骼的重量会因为添加多个碰撞体而增加, 当然手动设置不受此影响.
碰撞编辑
项目中发现模型自身没有碰撞, 比如手会穿到身体内, 苦思冥想找遍百度骨骼也找不到相关的内容, 点开碰撞体也只能看到下图数据
但是此数据是与外部交互的设置, 比如射线检测等等, 但是内部自身的碰撞于此并不相关
最后发现其实上编辑方式在右键菜单内, 可以看下面动图
于是除非是在上面有提到的在创建的时候不勾选DisableCollisionsByDefault
, 否则就需要手动的一个个编辑每一个碰撞体, 一般做法就是对全局开启碰撞呢,然后临近的碰撞体关闭碰撞
约束
创建
手动创建也在右键菜单内, 一般建议点击父骨骼链接到子骨骼的方式创建约束, 这样一般会创建在两个骨骼的连接处, 反过来约束会创建在父骨骼的顶部, 虽然说也可以手动把位置调整, 但是没必要浪费时间在这里何况还容易出偏差.
编辑
缺省情况下, 约束的朝向一般是随骨骼朝向的, 但是很多时候我们需要修改他的朝向来控制约束角度, 比如上下手臂中间肘关节的约束, 还有膝盖位置的约束, 不调整的话姿势会非常奇怪.比如膝盖位置会出现下面的反人类的角度
但是UE这里有点坑, 你旋转约束是没用的, 你必须找到隐藏的彩蛋!!!!
关键的Key就是Alt
键, 旋转约束需要按住此键才能实现我们要的效果, 看下图
不带箭头的红色轴是骨骼朝向, 带箭头的是我们约束的朝向, 这样我们的膝盖就正常了
Soft Constraint
这里主要有刚度和阻尼两个参数是可以设置一下的, 刚度越大关节恢复力越大, 阻尼正好有点相反的感觉, 阻尼越大恢复速度就越慢, 看下图演示
- 刚度=2000, 阻尼=5
- 刚度=1, 阻尼=5
- 阻尼=500, 刚度=50
- 阻尼=1, 刚度=50
这个参数在运行时也可以动态的修改, 比如在死亡的时候, 可以考虑让身体从硬的逐渐变成松弛状态
物理动画相关设置
关于物理动画内容我们会另开一篇文章, 这里主要说的是碰撞体的物理动画属性设置, 如下图
很多时候我们可能会在蓝图api中设置而不用Profile的形式, 但是在物理资产里我们可以很方便的预览这个参数带来的效果