diff options
Diffstat (limited to 'Assets/Scripts/Test/SaionjiScript.cs')
-rw-r--r-- | Assets/Scripts/Test/SaionjiScript.cs | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/Assets/Scripts/Test/SaionjiScript.cs b/Assets/Scripts/Test/SaionjiScript.cs index 7fac11f3..03dfbf8d 100644 --- a/Assets/Scripts/Test/SaionjiScript.cs +++ b/Assets/Scripts/Test/SaionjiScript.cs @@ -49,11 +49,20 @@ public partial class SaionjiScript : MonoBehaviour, IInteractable void OnAnimatorMove()
{
Animator animator = GetComponent<Animator>();
-
- // animator.deltaPosition和animator.deltaRotation是animator做的root motion后的结果
- // 在后面做一个硬性约束z=0,将角色限制在z=0平面上
- if (animator)
+ if (animator == null)
+ return;
+
+ AnimatorStateInfo stateInfo = animator.GetCurrentAnimatorStateInfo(0);
+
+ if(stateInfo.IsTag("IgnoreRootMotion"))
+ {
+ // ignore root motion
+ Debug.Log("ignore root motion ");
+ }
+ else
{
+ // animator.deltaPosition和animator.deltaRotation是animator做的root motion后的结果
+ // 在后面做一个硬性约束z=0,将角色限制在z=0平面上
Vector3 position = transform.position;
position.x += animator.deltaPosition.x;
position.y += animator.deltaPosition.y;
|