summaryrefslogtreecommitdiff
path: root/Erika/Assets/Scripts/Unit
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2022-06-21 00:26:32 +0800
committerchai <chaifix@163.com>2022-06-21 00:26:32 +0800
commitfb8dba84fe70d4bad6d22900716a67b02766448a (patch)
tree27d188de0a542f2bfd334e110dfa81a6a63d3eae /Erika/Assets/Scripts/Unit
parent3ec81453d5edbf95d012d4929d82ceef52ec69e0 (diff)
- meta
Diffstat (limited to 'Erika/Assets/Scripts/Unit')
-rw-r--r--Erika/Assets/Scripts/Unit/AI/Actions.meta8
-rw-r--r--Erika/Assets/Scripts/Unit/AI/Conditionals.meta8
-rw-r--r--Erika/Assets/Scripts/Unit/Components/UnitAnimation/UnitAnimation.cs35
3 files changed, 27 insertions, 24 deletions
diff --git a/Erika/Assets/Scripts/Unit/AI/Actions.meta b/Erika/Assets/Scripts/Unit/AI/Actions.meta
deleted file mode 100644
index 9b4ad463..00000000
--- a/Erika/Assets/Scripts/Unit/AI/Actions.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 971e9d55b8bc0894eb6a110fb962000b
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Erika/Assets/Scripts/Unit/AI/Conditionals.meta b/Erika/Assets/Scripts/Unit/AI/Conditionals.meta
deleted file mode 100644
index 70a86da5..00000000
--- a/Erika/Assets/Scripts/Unit/AI/Conditionals.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 85b7e0c7ed1d12f42a5178bfbf3d934c
-folderAsset: yes
-DefaultImporter:
- externalObjects: {}
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/Erika/Assets/Scripts/Unit/Components/UnitAnimation/UnitAnimation.cs b/Erika/Assets/Scripts/Unit/Components/UnitAnimation/UnitAnimation.cs
index da16b947..a5de6c57 100644
--- a/Erika/Assets/Scripts/Unit/Components/UnitAnimation/UnitAnimation.cs
+++ b/Erika/Assets/Scripts/Unit/Components/UnitAnimation/UnitAnimation.cs
@@ -1,13 +1,17 @@
#define ANIM_CROSS_FADE
+
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
+
#if UNITY_EDITOR
-using UnityEditor;
+using UnityEditor;
#endif
-
-// 单独一层动画
+
+//http://unitylore.org/wiki/doku.php?id=l3y0gj
+
+// 单独一层动画
public class AnimatorLayerInfo
{
public int layer;
@@ -186,12 +190,12 @@ public class AnimatorLayerInfo
this.m_UnitAnimation = unitAnimation;
this.m_Animator = animator;
this.layer = layer;
- m_CalcPlaybackTimeCoroutine = unitAnimation.StartCoroutine(CalcPlaybackRealTimeCoroutine());
+ m_CalcPlaybackTimeCoroutine = unitAnimation.StartCoroutine(CoCalcPlaybackRealTimeCoroutine());
m_TimelineEventProxy = new TimelineEventProxy(unitAnimation.owner);
applySpeedCurve = true;
}
- IEnumerator CalcPlaybackRealTimeCoroutine()
+ IEnumerator CoCalcPlaybackRealTimeCoroutine()
{
while (true)
{
@@ -224,6 +228,13 @@ public class AnimatorLayerInfo
}
}
+ /// <summary>
+ /// cross fade,不同状态间切换的间隔预先设置或者动态根据Pose的差异计算
+ /// </summary>
+ /// <param name="animState"></param>
+ /// <param name="normalizedTransitionDuration"></param>
+ /// <param name="normalizedTimeOffset"></param>
+ /// <param name="normalizedTransitionTime"></param>
public void OnCrossFade(string animState, float normalizedTransitionDuration, float normalizedTimeOffset, float normalizedTransitionTime )
{
m_CurrentState = animState;
@@ -233,6 +244,11 @@ public class AnimatorLayerInfo
playbackSpeed = 1;
}
+ /// <summary>
+ /// 直接播放动作
+ /// </summary>
+ /// <param name="animState"></param>
+ /// <param name="normalizedTime"></param>
public void OnPlay(string animState, float normalizedTime)
{
m_CurrentState = animState;
@@ -256,9 +272,12 @@ public class UnitAnimation : UnitComponent
public virtual AnimatorLayerInfo baseLayer
{
get { return layers[0]; }
- }
-
- public AnimatorLayerInfo layer
+ }
+
+ /// <summary>
+ /// 角色动作只有一层,不使用layer mask和layer syncing
+ /// </summary>
+ public AnimatorLayerInfo layer
{
get
{