diff options
author | chai <chaifix@163.com> | 2020-11-16 14:36:17 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2020-11-16 14:36:17 +0800 |
commit | 6a9c951e2ccbf768c87ed4226565a7117c8e2747 (patch) | |
tree | 95f129e4e4970979f6e65da5ba90cd3fd4e61074 /Assets/Scripts/Test/ArmorSoldierScript.cs | |
parent | 4cdbafbf3fa3a6abb25a0a5cd46602504c58c8e7 (diff) |
*misc
Diffstat (limited to 'Assets/Scripts/Test/ArmorSoldierScript.cs')
-rw-r--r-- | Assets/Scripts/Test/ArmorSoldierScript.cs | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/Assets/Scripts/Test/ArmorSoldierScript.cs b/Assets/Scripts/Test/ArmorSoldierScript.cs index dd4cd3e3..c86ca009 100644 --- a/Assets/Scripts/Test/ArmorSoldierScript.cs +++ b/Assets/Scripts/Test/ArmorSoldierScript.cs @@ -21,11 +21,18 @@ public partial class ArmorSoldierScript : Avatar, IInteractable private void OnAnimatorMove() { - Animator animator = GetComponent<Animator>(); - - // animator.deltaPosition和animator.deltaRotation是animator做的root motion后的结果 - // 在后面做一个硬性约束z=0,将角色限制在z=0平面上 - if (animator) + Animator animator = GetComponent<Animator>();
+
+ AnimatorStateInfo stateInfo = animator.GetCurrentAnimatorStateInfo(0);
+
+ // animator.deltaPosition和animator.deltaRotation是animator做的root motion后的结果
+ // 在后面做一个硬性约束z=0,将角色限制在z=0平面上
+ if (stateInfo.IsTag("IgnoreRootMotion"))
+ {
+ // ignore root motion
+ //Debug.Log("ignore root motion ");
+ }
+ else
{ Vector3 position = transform.position; position.x += animator.deltaPosition.x; |