diff options
Diffstat (limited to 'Assets/ActionTool/Editor/ActionData.cs')
-rw-r--r-- | Assets/ActionTool/Editor/ActionData.cs | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/Assets/ActionTool/Editor/ActionData.cs b/Assets/ActionTool/Editor/ActionData.cs index cd76ba8d..ade27488 100644 --- a/Assets/ActionTool/Editor/ActionData.cs +++ b/Assets/ActionTool/Editor/ActionData.cs @@ -138,9 +138,20 @@ namespace ActionTool {
if (ActionManager.IsPlay)
{
- m_CurAnimFrame += (float)(EditorApplication.timeSinceStartup - m_PrevLocalTime) * (ActionManager.FPS * ActionManager.Speed);
+ float dt = (float)(EditorApplication.timeSinceStartup - m_PrevLocalTime) * (ActionManager.FPS * ActionManager.Speed);
+#if true
+ float normalizeTime = m_CurAnimFrame / m_TotalFrame;
+ AnimationData animData = ActionManager.animationData;
+ if (animData)
+ {
+ AnimationCurve curve = animData.curve;
+ dt *= curve.Evaluate(normalizeTime);
+ }
+#endif
+
+ m_CurAnimFrame += dt;
- if (m_CurAnimFrame > m_TotalFrame)
+ if (m_CurAnimFrame > m_TotalFrame)
{
m_Animator.transform.position = ActionManager.s_InitPosition;
m_Animator.transform.rotation = ActionManager.s_InitRotation;
@@ -166,7 +177,7 @@ namespace ActionTool float normalizeTime = m_CurAnimFrame / m_TotalFrame;
- m_Animator.speed = 1;
+ m_Animator.speed = 1;
m_Animator.Play(kStateName, 0, normalizeTime);
m_Animator.Update(0);
m_Animator.speed = 0;
|