summaryrefslogtreecommitdiff
path: root/Assets/ActionTool/Editor/ActionData.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/ActionTool/Editor/ActionData.cs')
-rw-r--r--Assets/ActionTool/Editor/ActionData.cs17
1 files changed, 5 insertions, 12 deletions
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;
}