一、目标:
布娃娃系统,其属性是没有支撑,会自然倒在障碍物上。
所以在动画状态,切换到布娃娃状态,人物会出现很自然的死亡动画效果。
我们来做一个:人物死亡时,前面有障碍物,人物像布娃娃一样,撞上去,基于碰撞倒地死亡
二、效果展示:
三、属性讲解
RagdollToAnimationTime:从布娃娃状态切换到Animator控制状态,所需要的时间
ApplyIkOnRagdoll:勾选时,当在布娃娃状态时,人物会受到 IK 的影响。
四、实现步骤:
1、添加布娃娃系统
将骨骼赋值到该选项框,点Create。
这时就自动在你添加的骨骼上生成碰撞体、刚体、CharacterJoint 组件。如果碰撞体大小不合适,你可以调整下。(如果不显示碰撞器,打开其中一个碰撞体即可。)
2、代码实现
a、给人物添加 RagdollUtility 组件,IK赋值为当前人物。
b、代码如下
using RootMotion.FinalIK;
using UnityEngine;
public class Skode_TestIKGameManager : MonoBehaviour
{
public RagdollUtility ragdollUtility;
bool dead = false;
void Update()
{
if (Input.GetKeyDown(KeyCode.C))
{
dead = !dead;
if (dead)
ragdollUtility.EnableRagdoll(); //激活布娃娃系统
else
ragdollUtility.DisableRagdoll(); //取消激活布娃娃系统
}
}
}