From 694c67043a8851d4d1b39421e1ff52b6fc6c3664 Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 13 Sep 2021 12:20:30 +0800 Subject: =?UTF-8?q?*=E4=BF=AE=E6=94=B9action=20tool=E8=A7=92=E8=89=B2?= =?UTF-8?q?=E7=9A=84=E6=A0=B9=E8=8A=82=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/ActionTool/Editor/ActionData.cs | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) (limited to 'Assets/ActionTool/Editor/ActionData.cs') diff --git a/Assets/ActionTool/Editor/ActionData.cs b/Assets/ActionTool/Editor/ActionData.cs index 13324342..3da31388 100644 --- a/Assets/ActionTool/Editor/ActionData.cs +++ b/Assets/ActionTool/Editor/ActionData.cs @@ -89,7 +89,7 @@ namespace ActionTool m_Animator.Play(kStateName, 0, 0); m_RootMotion = rootmotion; - m_TimelineEventProxy = new TimelineEventProxy(animator.gameObject.transform); + m_TimelineEventProxy = new TimelineEventProxy(ActionManager.unitRoot.transform); m_TimelineEventProxy.isInEditMode = true; m_TimelineEventProxy.registerProjectile = RegisterProjectile; m_TimelineEventProxy.registerParticleSystem = RegisterParticleSystem; @@ -182,8 +182,7 @@ namespace ActionTool if (m_CurAnimFrame > m_TotalFrame) { - m_Animator.transform.position = ActionManager.s_InitPosition; - m_Animator.transform.rotation = ActionManager.s_InitRotation; + ActionManager.ResetUnitRootPosAndRot(); m_PrevNormalTime = 0; } m_CurAnimFrame %= m_TotalFrame; @@ -217,20 +216,14 @@ namespace ActionTool if(!overrideRM && m_RootMotion) { -#if true // Action Tool这里需要转换一下root motion的轴 - m_Animator.transform.position = RootMotionUtility.ExchangeXZ(m_RootMotion.GetRootMotion(normalizeTime)); -#else - Vector3 dis = m_RootMotion.GetRootMotionDistance(m_PrevNormalTime, normalizeTime); - m_Animator.transform.position += RootMotionUtility.ExchangeXZ(dis); - m_PrevNormalTime = normalizeTime; -#endif + ActionManager.unitRoot.transform.position = RootMotionUtility.ExchangeXZ(m_RootMotion.GetRootMotion(normalizeTime)); } else if(overrideRM) { if(!ActionRootMotionEditor.IsRecord) { - m_Animator.transform.position = animData.rootMotionOverrideData.GetPosition(m_CurAnimFrame); + ActionManager.unitRoot.transform.position = animData.rootMotionOverrideData.GetPosition(m_CurAnimFrame); } else // 只在第一次播到这一帧的时候设置位置,否则场景里没法编辑位置 { @@ -238,7 +231,7 @@ namespace ActionTool normalizeTime = curAnimEventFrame / m_TotalFrame; if (curAnimEventFrame != m_PrevAnimEventFrame) { - m_Animator.transform.position = animData.rootMotionOverrideData.GetPosition(curAnimEventFrame); + ActionManager.unitRoot.transform.position = animData.rootMotionOverrideData.GetPosition(curAnimEventFrame); } m_PrevAnimEventFrame = curAnimEventFrame; } -- cgit v1.1-26-g67d0