From 374b14af851415eb8055bb5251fb064c90f5f271 Mon Sep 17 00:00:00 2001 From: chai Date: Thu, 9 Sep 2021 09:39:01 +0800 Subject: *vfx --- Assets/Scripts/Test 1/TestErika.cs | 3 ++- Assets/Scripts/Unit/AnimationData.cs | 1 + Assets/Scripts/Unit/Components/UnitAnimation/PCAnimation.cs | 8 ++++++-- Assets/Scripts/Unit/Components/UnitState/PCState.cs | 9 +++++---- Assets/Scripts/Unit/TimelineEventProxy.cs | 3 ++- 5 files changed, 16 insertions(+), 8 deletions(-) (limited to 'Assets/Scripts') diff --git a/Assets/Scripts/Test 1/TestErika.cs b/Assets/Scripts/Test 1/TestErika.cs index cb40b103..81bdbdd3 100644 --- a/Assets/Scripts/Test 1/TestErika.cs +++ b/Assets/Scripts/Test 1/TestErika.cs @@ -41,7 +41,8 @@ public class TestErika : MonoBehaviour erika.unitController.transform.rotation = Quaternion.identity; erika.unit = GameObject.Instantiate(erika.unitPrefab); - erika.unit.transform.rotation = Quaternion.Euler(0, 90, 0); + erika.unit.transform.position = Vector3.zero; + erika.unit.transform.rotation = Quaternion.Euler(0, 90, 0); erika.unit.transform.SetParent(erika.unitController.transform); UnitController unitCtr = erika.unitController.GetOrAddComponent(); diff --git a/Assets/Scripts/Unit/AnimationData.cs b/Assets/Scripts/Unit/AnimationData.cs index 84b75f47..ead0f16d 100644 --- a/Assets/Scripts/Unit/AnimationData.cs +++ b/Assets/Scripts/Unit/AnimationData.cs @@ -80,6 +80,7 @@ public enum EAnimationProperty { ComboTimeOffset = 1, IgnoreY = 2, + TransitionInDuration = 3, } [Serializable] diff --git a/Assets/Scripts/Unit/Components/UnitAnimation/PCAnimation.cs b/Assets/Scripts/Unit/Components/UnitAnimation/PCAnimation.cs index df074061..cdffc8ed 100644 --- a/Assets/Scripts/Unit/Components/UnitAnimation/PCAnimation.cs +++ b/Assets/Scripts/Unit/Components/UnitAnimation/PCAnimation.cs @@ -57,8 +57,9 @@ public class PCAnimation : UnitAnimation AirAttack1, AirAttack2, AirAttack3, + AirAttack4, - AirDash, + AirDash, LandingGround, } @@ -182,10 +183,13 @@ public class PCAnimation : UnitAnimation if (id == 1) state = EAnimState.AirAttack1; else if (id == 2) state = EAnimState.AirAttack2; else if (id == 3) state = EAnimState.AirAttack3; + else if (id == 4) state = EAnimState.AirAttack4; AnimationData data = GetAnimationDataOfGivenState(state.ToString()); Debug.Assert(data != null); - CrossFade(state, 0.02f, data.GetProperty(EAnimationProperty.ComboTimeOffset, defaultValue: 0)); + float offset = data.GetProperty(EAnimationProperty.ComboTimeOffset, 0); + float duration = data.GetProperty(EAnimationProperty.TransitionInDuration, 0.05f); + CrossFade(state, duration, offset); } public void AnimAttackToAir(float offset) diff --git a/Assets/Scripts/Unit/Components/UnitState/PCState.cs b/Assets/Scripts/Unit/Components/UnitState/PCState.cs index 1d0332cd..b8512d64 100644 --- a/Assets/Scripts/Unit/Components/UnitState/PCState.cs +++ b/Assets/Scripts/Unit/Components/UnitState/PCState.cs @@ -308,8 +308,9 @@ public class PCState : UnitState IEnumerator AirAttack(SkillParam param) { - int id = 0; - m_Owner.pcAnimation.AnimAirAttack(id); + int total = 5; + int id = 0; + m_Owner.pcAnimation.AnimAirAttack(id++); yield return null; // 等待animator更新 while (true) { @@ -337,8 +338,8 @@ public class PCState : UnitState { TurnAround(true); } - ++id; - m_Owner.pcAnimation.AnimAirAttack(id); + m_Owner.pcAnimation.AnimAirAttack(id++); + id %= total; yield return null; // 等待animator更新 yield return new WaitForTransitionDone(m_Owner.pcAnimation); } diff --git a/Assets/Scripts/Unit/TimelineEventProxy.cs b/Assets/Scripts/Unit/TimelineEventProxy.cs index a8918e39..10dae57d 100644 --- a/Assets/Scripts/Unit/TimelineEventProxy.cs +++ b/Assets/Scripts/Unit/TimelineEventProxy.cs @@ -172,7 +172,8 @@ public partial class TimelineEventProxy if(owner != null) { Quaternion rot = owner.transform.rotation * Quaternion.Euler(effect.rotation); - onClear.Initialize(new PlayEffectInfo(path, EffectPlayTypes.Oneshot, m_Root, effect.position, rot.eulerAngles, effect.scale, 0, false)); + Debug.Log(effect.rotation); + onClear.Initialize(new PlayEffectInfo(path, EffectPlayTypes.Oneshot, m_Root, effect.position, effect.rotation, effect.scale, 0, false)); } else { -- cgit v1.1-26-g67d0