diff options
author | chai <chaifix@163.com> | 2021-08-18 09:24:21 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2021-08-18 09:24:21 +0800 |
commit | a7ac1a9881e3730be3d768ce0e505d89a0388e4e (patch) | |
tree | 4ab920033f604935d5745418ef525ce8bd4a1d47 | |
parent | 802ffb019f62133fd25376c5b8a8ca0811569d41 (diff) |
*parameter
-rw-r--r-- | Assets/ActionTool/Editor/AnimationCurveEditor.cs | 4 | ||||
-rw-r--r-- | Assets/ActionTool/Editor/AnimationToggleEditor.cs | 4 | ||||
-rw-r--r-- | Assets/Scripts/Unit/AnimationData.cs | 41 | ||||
-rw-r--r-- | Assets/Scripts/Unit/Component/UnitAnimation.cs | 8 | ||||
-rw-r--r-- | Assets/Scripts/Unit/Events/EventMesh_Visibility.cs | 15 | ||||
-rw-r--r-- | Assets/Scripts/Unit/Events/EventMesh_Visibility.cs.meta | 11 | ||||
-rw-r--r-- | Assets/Scripts/Unit/TimelineEventProxy.cs | 8 |
7 files changed, 37 insertions, 54 deletions
diff --git a/Assets/ActionTool/Editor/AnimationCurveEditor.cs b/Assets/ActionTool/Editor/AnimationCurveEditor.cs index fe19d2cf..b50fe884 100644 --- a/Assets/ActionTool/Editor/AnimationCurveEditor.cs +++ b/Assets/ActionTool/Editor/AnimationCurveEditor.cs @@ -17,8 +17,8 @@ namespace ActionTool private void OnEnable() { titleContent = new GUIContent("Curves"); - maxSize = new Vector2(300, 200); - minSize = maxSize; + maxSize = new Vector2(300, 2000); + minSize = new Vector2(300, 200); } private void OnDisable() diff --git a/Assets/ActionTool/Editor/AnimationToggleEditor.cs b/Assets/ActionTool/Editor/AnimationToggleEditor.cs index 0ac47dae..6b5cc57a 100644 --- a/Assets/ActionTool/Editor/AnimationToggleEditor.cs +++ b/Assets/ActionTool/Editor/AnimationToggleEditor.cs @@ -18,8 +18,8 @@ namespace ActionTool private void OnEnable() { titleContent = new GUIContent("Toggles"); - maxSize = new Vector2(300, 200); - minSize = maxSize; + maxSize = new Vector2(300, 2000); + minSize = new Vector2(300, 200); } private void OnDisable() diff --git a/Assets/Scripts/Unit/AnimationData.cs b/Assets/Scripts/Unit/AnimationData.cs index a84afd9f..84cc1e4c 100644 --- a/Assets/Scripts/Unit/AnimationData.cs +++ b/Assets/Scripts/Unit/AnimationData.cs @@ -127,21 +127,32 @@ public class AnimationData : ScriptableObject return null;
}
- //public bool HasParameter(string parameterName, float normalizedTime)
- //{
- // if (!parameters.ContainsKey(parameterName))
- // return false;
- // var parameter = parameters[parameterName];
- // parameter.setters.Sort((AnimationParameter.Setter a, AnimationParameter.Setter b) =>
- // {
- // return a.normalizedTime - b.normalizedTime < 0 ? -1 : 1;
- // });
- //}
-
- //public float GetParameter(string parameter, float normalizedTime)
- //{
-
- //}
+ public bool HasParameter(EAnimationParameter parameterName)
+ {
+ if (!parameters.ContainsKey(parameterName))
+ return false;
+ return true;
+ }
+
+ public float GetParameter(EAnimationParameter parameterName, float normalizedTime)
+ {
+ if (!parameters.ContainsKey(parameterName))
+ return 0;
+ var parameter = parameters[parameterName];
+ parameter.setters.Sort((AnimationParameter.Setter a, AnimationParameter.Setter b) =>
+ {
+ return a.normalizedTime - b.normalizedTime < 0 ? -1 : 1;
+ });
+ float value = 0;
+ for (int i = 0; i < parameter.setters.Count; ++i)
+ {
+ AnimationParameter.Setter setter = parameter.setters[i];
+ if (setter.normalizedTime > normalizedTime)
+ break;
+ value = setter.value;
+ }
+ return value;
+ }
public bool HasCurve(EAnimationCurve curve)
{
diff --git a/Assets/Scripts/Unit/Component/UnitAnimation.cs b/Assets/Scripts/Unit/Component/UnitAnimation.cs index 993998a0..7491d44c 100644 --- a/Assets/Scripts/Unit/Component/UnitAnimation.cs +++ b/Assets/Scripts/Unit/Component/UnitAnimation.cs @@ -153,6 +153,8 @@ public class AnimatorLayerInfo }
}
+ public bool applySpeedCurve { get; set; }
+
UnitAnimation m_UnitAnimation;
Coroutine m_CalcPlaybackTimeCoroutine;
@@ -166,6 +168,7 @@ public class AnimatorLayerInfo this.layer = layer;
m_CalcPlaybackTimeCoroutine = unitAnimation.StartCoroutine(CalcPlaybackRealTimeCoroutine());
m_TimelineEventProxy = new TimelineEventProxy(unitAnimation.owner.transform, unitAnimation.owner);
+ applySpeedCurve = true;
}
IEnumerator CalcPlaybackRealTimeCoroutine()
@@ -186,10 +189,13 @@ public class AnimatorLayerInfo {
// 执行事件
m_TimelineEventProxy.ExecuteAnimationEvents(animationData, playbackTimeInSeconds * TimelineEventProxy.FPS);
- if(animationData.speedCurve != null)
+
+ // 播放速度控制
+ if(applySpeedCurve && animationData.speedCurve != null)
{
playbackSpeed = animationData.speedCurve.Evaluate(playbackNomralizedTime);
}
+
}
}
diff --git a/Assets/Scripts/Unit/Events/EventMesh_Visibility.cs b/Assets/Scripts/Unit/Events/EventMesh_Visibility.cs deleted file mode 100644 index d670ad13..00000000 --- a/Assets/Scripts/Unit/Events/EventMesh_Visibility.cs +++ /dev/null @@ -1,15 +0,0 @@ -using UnityEngine; - -public class EventMesh_Visibility : AnimationEventBase -{ - public override TimelineEventProxy.EEventType type { get { return TimelineEventProxy.EEventType.EventMesh_Visibility; } } - public override string shortName { get { return "V"; } } - - [Tooltip("Visibility")] - public bool visible; - - public bool fade; - - public float fadeDuration; - -}
\ No newline at end of file diff --git a/Assets/Scripts/Unit/Events/EventMesh_Visibility.cs.meta b/Assets/Scripts/Unit/Events/EventMesh_Visibility.cs.meta deleted file mode 100644 index b7dd6f3d..00000000 --- a/Assets/Scripts/Unit/Events/EventMesh_Visibility.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: f555b593e51b2a64c80c0b40bf052b07 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/Unit/TimelineEventProxy.cs b/Assets/Scripts/Unit/TimelineEventProxy.cs index 5862facf..cb30e900 100644 --- a/Assets/Scripts/Unit/TimelineEventProxy.cs +++ b/Assets/Scripts/Unit/TimelineEventProxy.cs @@ -125,13 +125,5 @@ public partial class TimelineEventProxy } - void EventMesh_Visibility(AnimationEventBase animEvent) - { - EventMesh_Visibility visibility = animEvent as EventMesh_Visibility; - if (visibility == null) - return; - - } - #endregion }
\ No newline at end of file |