From 3db514468fac20693a257179d35592d0b78e2936 Mon Sep 17 00:00:00 2001 From: chai Date: Wed, 7 Jul 2021 22:13:48 +0800 Subject: +RootMotion --- Assets/ActionTool/Editor/ActionData.cs | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'Assets/ActionTool/Editor/ActionData.cs') diff --git a/Assets/ActionTool/Editor/ActionData.cs b/Assets/ActionTool/Editor/ActionData.cs index 33bb5c71..4465d314 100644 --- a/Assets/ActionTool/Editor/ActionData.cs +++ b/Assets/ActionTool/Editor/ActionData.cs @@ -30,7 +30,9 @@ namespace ActionTool private const string kStateName = "Action"; - public void Initialize(Animator animator, AnimationClip clip) + private RootMotionData m_RootMotion; + + public void Initialize(Animator animator, AnimationClip clip, RootMotionData rootmotion) { m_Animator = animator; m_Clip = clip; @@ -43,6 +45,7 @@ namespace ActionTool m_CurAnimFrame = 0; m_PrevLocalTime = 0; m_Animator.Play(kStateName, 0, 0); + m_RootMotion = rootmotion; } public void SetCurrentAnimTime(float time) @@ -136,17 +139,17 @@ namespace ActionTool if (m_Animator == null) return; - m_Animator.speed = 1; - float normalizeTime = m_CurAnimFrame / m_TotalFrame; + m_Animator.speed = 1; m_Animator.Play(kStateName, 0, normalizeTime); - m_Animator.Update((float)dt); - - m_Animator.transform.position += m_Animator.deltaPosition; - m_Animator.transform.rotation *= m_Animator.deltaRotation; - + m_Animator.Update(0); m_Animator.speed = 0; + + if(m_RootMotion) + { + m_Animator.transform.position = m_RootMotion.GetRootMotion(normalizeTime); + } } public int GetCurrentFrame() -- cgit v1.1-26-g67d0