summaryrefslogtreecommitdiff
path: root/Assets
diff options
context:
space:
mode:
Diffstat (limited to 'Assets')
-rw-r--r--Assets/ActionTool/Editor/ActionPreviewEditor.cs21
-rw-r--r--Assets/Bundle/Unit/PC/Erika/AnimationData/Frank_RPG_Assassin_Combo02_1.asset2
-rw-r--r--Assets/Bundle/Unit/PC/Erika/AnimationData/Frank_RPG_Assassin_Combo02_2.asset7
-rw-r--r--Assets/Bundle/Unit/PC/Erika/AnimatorController/Erika_AnimatorControllerCrossFade.controller10
-rw-r--r--Assets/Scenes/Demo/AnimationEditScene.unity60
-rw-r--r--Assets/Scenes/Demo/AnimationEditScene_Profiles/GameObject Profile.asset6
-rw-r--r--Assets/Scripts/Unit/Components/UnitAnimation/UnitAnimation.cs20
-rw-r--r--Assets/Scripts/Unit/Components/UnitState/PCState.cs2
-rw-r--r--Assets/Scripts/Unit/Components/UnitState/UnitState.cs1
-rw-r--r--Assets/Scripts/Unit/Controller/UnitController.cs2
-rw-r--r--Assets/Scripts/Unit/Events/EventGame_TimeScale.cs12
-rw-r--r--Assets/Scripts/Unit/Events/EventGame_TimeScale.cs.meta11
-rw-r--r--Assets/Scripts/Unit/TimelineEventProxy.cs16
13 files changed, 129 insertions, 41 deletions
diff --git a/Assets/ActionTool/Editor/ActionPreviewEditor.cs b/Assets/ActionTool/Editor/ActionPreviewEditor.cs
index 6ff60ed5..5bb2e435 100644
--- a/Assets/ActionTool/Editor/ActionPreviewEditor.cs
+++ b/Assets/ActionTool/Editor/ActionPreviewEditor.cs
@@ -307,7 +307,9 @@ namespace ActionTool
GUI.Label(new Rect(xr, y, 510, 15), ActionManager.actionData.curAnimFrame.ToString("f2"), styles.textMiddleBold);
GUI.Label(new Rect(xl + 150, y, 105, 15), "Normalized Time:", styles.textMiddle);
GUI.Label(new Rect(xr + 150, y, 510, 15), ActionManager.actionData.curAnimTimeNormal.ToString("f2"), styles.textMiddleBold);
- y += 15;
+ GUI.Label(new Rect(xl + 150 * 2, y, 105, 15), "Event Frame:", styles.textMiddle);
+ GUI.Label(new Rect(xr + 150 + 125, y, 510, 15), ((int)ActionManager.actionData.curAnimFrame).ToString(), styles.textMiddleBold);
+ y += 15;
}
@@ -409,7 +411,7 @@ namespace ActionTool
float y = iy;
float contentHeight = ActionManager.eventAndBoxCount * kFrameHeight + 40;
- Rect content = new Rect(0, 0, action.totalFrame * kFrameWidth + 30, contentHeight);
+ Rect content = new Rect(0, 0, ((int)action.totalFrame + 1)* kFrameWidth + 30, contentHeight);
float height = 300;
if (position.height - kTimeLineViewYOffset > contentHeight + 15)
height = contentHeight + 15;
@@ -476,20 +478,20 @@ namespace ActionTool
ActionData action = ActionManager.actionData;
int sampleCount = (int)action.totalFrame + 1;
- Rect bgRect = new Rect(kTimeLineViewXOffset, y, action.totalFrame * kFrameWidth, ActionManager.eventAndBoxCount * kFrameHeight);
+ Rect bgRect = new Rect(kTimeLineViewXOffset, y, sampleCount * kFrameWidth, ActionManager.eventAndBoxCount * kFrameHeight);
GUI.Box(bgRect, "");
Color lineColor = new Color(0.3f, 0.3f, 0.3f);
Color lineColor2 = new Color(0.5f, 0.5f, 0.5f);
for (int i = 0; i < ActionManager.eventAndBoxCount + 1; i++)
{
- ui.DrawHorizontalLineFast(y + i * kFrameHeight, kTimeLineViewXOffset, kTimeLineViewXOffset + action.totalFrame * kFrameWidth, lineColor);
+ ui.DrawHorizontalLineFast(y + i * kFrameHeight, kTimeLineViewXOffset, kTimeLineViewXOffset + sampleCount * kFrameWidth, lineColor);
}
for(int i = 0; i <= sampleCount; ++i)
{
Color c = i % 5 == 0 ? lineColor2 : lineColor;
float x = kTimeLineViewXOffset + i * kFrameWidth;
- x = Mathf.Clamp(x, kTimeLineViewXOffset, kTimeLineViewXOffset + action.totalFrame * kFrameWidth);
+ //x = Mathf.Clamp(x, kTimeLineViewXOffset, kTimeLineViewXOffset + action.totalFrame * kFrameWidth);
ui.DrawVerticalLineFast(x, y, y + ActionManager.eventAndBoxCount * kFrameHeight, c);
}
@@ -548,11 +550,6 @@ namespace ActionTool
if (select)
{
ActionManager.OnSelectBox(box, index);
-
- //float length = action.totalFrame * kFrameWidth;
- //ui.DrawHorizontalLineFast(y, kTimeLineViewXOffset, kTimeLineViewXOffset + length, c * 0.7f);
- //ui.DrawHorizontalLineFast(y + kFrameHeight, kTimeLineViewXOffset, kTimeLineViewXOffset + length, c * 0.7f);
- //ui.DrawVerticalLineFast(kTimeLineViewXOffset + length + 1, y, y + kFrameHeight, c * 0.7f);
}
else if(selected && !select)
{
@@ -608,6 +605,7 @@ namespace ActionTool
if (e.button != 1 || !e.isMouse || e.type != EventType.MouseDown)
return;
ActionData action = ActionManager.actionData;
+ int sampleCount = (int)action.totalFrame + 1;
float y = m_GridY + ActionManager.kMaxEventsPerFrame * kFrameHeight;
Vector2 position = e.mousePosition;
int boxCount = ActionManager.animationData.GetBoxesCount();
@@ -855,8 +853,9 @@ namespace ActionTool
return;
ActionData action = ActionManager.actionData;
+ int sampleCount = (int)action.totalFrame + 1;
Vector2 position = Event.current.mousePosition;
- Rect eventRegion = new Rect(kTimeLineViewXOffset, m_GridY, action.totalFrame * kFrameWidth, TimelineEventProxy.kMaxEventsPerFrame * kFrameHeight);
+ Rect eventRegion = new Rect(kTimeLineViewXOffset, m_GridY, sampleCount * kFrameWidth, TimelineEventProxy.kMaxEventsPerFrame * kFrameHeight);
if (!eventRegion.Contains(position))
return;
diff --git a/Assets/Bundle/Unit/PC/Erika/AnimationData/Frank_RPG_Assassin_Combo02_1.asset b/Assets/Bundle/Unit/PC/Erika/AnimationData/Frank_RPG_Assassin_Combo02_1.asset
index aed0b017..df3d1d67 100644
--- a/Assets/Bundle/Unit/PC/Erika/AnimationData/Frank_RPG_Assassin_Combo02_1.asset
+++ b/Assets/Bundle/Unit/PC/Erika/AnimationData/Frank_RPG_Assassin_Combo02_1.asset
@@ -17,8 +17,6 @@ MonoBehaviour:
animationEvents:
- {fileID: 114964882930719632}
- {fileID: 114533364586825402}
- - {fileID: 114607369761710776}
- - {fileID: 114273515162279198}
hurtBoxes: []
hitBoxes:
- collider:
diff --git a/Assets/Bundle/Unit/PC/Erika/AnimationData/Frank_RPG_Assassin_Combo02_2.asset b/Assets/Bundle/Unit/PC/Erika/AnimationData/Frank_RPG_Assassin_Combo02_2.asset
index 3f3d141a..724a553f 100644
--- a/Assets/Bundle/Unit/PC/Erika/AnimationData/Frank_RPG_Assassin_Combo02_2.asset
+++ b/Assets/Bundle/Unit/PC/Erika/AnimationData/Frank_RPG_Assassin_Combo02_2.asset
@@ -10,7 +10,7 @@ MonoBehaviour:
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: cab6406109041434e890f22d6455172f, type: 3}
- m_Name: Frank_RPG_Assassin_Combo02_2(Clone)(Clone)
+ m_Name: Frank_RPG_Assassin_Combo02_2(Clone)
m_EditorClassIdentifier:
animationName: Frank_RPG_Assassin_Combo02_2
animationPath: Assets/Bundle/Unit/PC/Erika/AnimationClip/Frank_RPG_Assassin_Combo02_2.anim
@@ -18,9 +18,6 @@ MonoBehaviour:
- {fileID: 114347121473010800}
- {fileID: 114766687553299966}
- {fileID: 114312737581800856}
- - {fileID: 114376026760716050}
- - {fileID: 114330056635207858}
- - {fileID: 114201303160775736}
hurtBoxes: []
hitBoxes:
- collider:
@@ -173,7 +170,7 @@ MonoBehaviour:
toggles:
m_keys: 00000000
m_values:
- - from: 0.57
+ - from: 0.45
to: 0.83
parameters:
m_keys:
diff --git a/Assets/Bundle/Unit/PC/Erika/AnimatorController/Erika_AnimatorControllerCrossFade.controller b/Assets/Bundle/Unit/PC/Erika/AnimatorController/Erika_AnimatorControllerCrossFade.controller
index 2cede664..17b56b71 100644
--- a/Assets/Bundle/Unit/PC/Erika/AnimatorController/Erika_AnimatorControllerCrossFade.controller
+++ b/Assets/Bundle/Unit/PC/Erika/AnimatorController/Erika_AnimatorControllerCrossFade.controller
@@ -421,7 +421,7 @@ AnimatorState:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_Name: Attack3
+ m_Name: Attack2
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
@@ -434,7 +434,7 @@ AnimatorState:
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
- m_Motion: {fileID: 7400000, guid: 04b9fb69058af0f438a6e8a3022ff336, type: 2}
+ m_Motion: {fileID: 7400000, guid: 5dfb4ccf3e0777d4f84f764949fba8a6, type: 2}
m_Tag:
m_SpeedParameter: PlaybackSpeed0
m_MirrorParameter:
@@ -685,7 +685,7 @@ AnimatorState:
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
- m_Name: Attack2
+ m_Name: Attack3
m_Speed: 1
m_CycleOffset: 0
m_Transitions: []
@@ -900,10 +900,10 @@ AnimatorStateMachine:
m_Position: {x: 708, y: -552, z: 0}
- serializedVersion: 1
m_State: {fileID: 1102230929257620240}
- m_Position: {x: 1236, y: -456, z: 0}
+ m_Position: {x: 1236, y: -504, z: 0}
- serializedVersion: 1
m_State: {fileID: 1102642339950476984}
- m_Position: {x: 1236, y: -504, z: 0}
+ m_Position: {x: 1236, y: -456, z: 0}
- serializedVersion: 1
m_State: {fileID: 1102101182547217892}
m_Position: {x: 1236, y: -552, z: 0}
diff --git a/Assets/Scenes/Demo/AnimationEditScene.unity b/Assets/Scenes/Demo/AnimationEditScene.unity
index 1debe208..61639d25 100644
--- a/Assets/Scenes/Demo/AnimationEditScene.unity
+++ b/Assets/Scenes/Demo/AnimationEditScene.unity
@@ -1744,6 +1744,36 @@ PrefabInstance:
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 7ad9bdd473f2e5f49a7ec144e5b5c999, type: 3}
+--- !u!1 &1722379007
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 1722379008}
+ m_Layer: 0
+ m_Name: Root_Particles
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &1722379008
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 1722379007}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 8
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &2098653157
GameObject:
m_ObjectHideFlags: 0
@@ -1836,3 +1866,33 @@ Transform:
m_Father: {fileID: 0}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0}
+--- !u!1 &2111535279
+GameObject:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ serializedVersion: 6
+ m_Component:
+ - component: {fileID: 2111535280}
+ m_Layer: 0
+ m_Name: Root_Projectiles
+ m_TagString: Untagged
+ m_Icon: {fileID: 0}
+ m_NavMeshLayer: 0
+ m_StaticEditorFlags: 0
+ m_IsActive: 1
+--- !u!4 &2111535280
+Transform:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 2111535279}
+ m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+ m_LocalPosition: {x: 0, y: 0, z: 0}
+ m_LocalScale: {x: 1, y: 1, z: 1}
+ m_Children: []
+ m_Father: {fileID: 0}
+ m_RootOrder: 9
+ m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
diff --git a/Assets/Scenes/Demo/AnimationEditScene_Profiles/GameObject Profile.asset b/Assets/Scenes/Demo/AnimationEditScene_Profiles/GameObject Profile.asset
index 0fb7a199..06572bff 100644
--- a/Assets/Scenes/Demo/AnimationEditScene_Profiles/GameObject Profile.asset
+++ b/Assets/Scenes/Demo/AnimationEditScene_Profiles/GameObject Profile.asset
@@ -81,10 +81,10 @@ MonoBehaviour:
value: 1
shutterAngle:
overrideState: 1
- value: 270
+ value: 221
sampleCount:
overrideState: 1
- value: 10
+ value: 9
--- !u!114 &114858105996830806
MonoBehaviour:
m_ObjectHideFlags: 3
@@ -112,7 +112,7 @@ MonoBehaviour:
value: {x: 0.5, y: 0.5}
intensity:
overrideState: 1
- value: 0.451
+ value: 0.086
smoothness:
overrideState: 0
value: 0.2
diff --git a/Assets/Scripts/Unit/Components/UnitAnimation/UnitAnimation.cs b/Assets/Scripts/Unit/Components/UnitAnimation/UnitAnimation.cs
index 1a990252..a9c50ac3 100644
--- a/Assets/Scripts/Unit/Components/UnitAnimation/UnitAnimation.cs
+++ b/Assets/Scripts/Unit/Components/UnitAnimation/UnitAnimation.cs
@@ -216,22 +216,20 @@ public class AnimatorLayerInfo
public void OnCrossFade(string animState, float normalizedTransitionDuration, float normalizedTimeOffset, float normalizedTransitionTime )
{
- m_CurrentState = animState;
- m_Animator.CrossFade(animState.ToString(), normalizedTransitionDuration, layerIndex, normalizedTimeOffset, normalizedTransitionTime);
- }
-
- public void OnPlay(string animState, float normalizedTime)
+ m_CurrentState = animState;
+ m_Animator.CrossFade(animState.ToString(), normalizedTransitionDuration, layerIndex, normalizedTimeOffset, normalizedTransitionTime);
+ m_TimelineEventProxy.ResetPrevAnimationData();
+ }
+
+ public void OnPlay(string animState, float normalizedTime)
{
m_CurrentState = animState;
- m_Animator.Play(animState, layerIndex, normalizedTime);
- }
+ m_Animator.Play(animState, layerIndex, normalizedTime);
+ m_TimelineEventProxy.ResetPrevAnimationData();
+ }
}
-// 控制动画播放、执行动作timeline(包括执行事件和碰撞盒)
-// 每个layer同时只会有一个动画在播放,在执行transition时,current animation依然是
-// 这个动作,只有完全过渡完成后才会切到下一个动作
-// 当前是什么动作以ainmator的GetCurrentAnimatorStateInfo为准
[DisallowMultipleComponent]
public class UnitAnimation : UnitComponent
{
diff --git a/Assets/Scripts/Unit/Components/UnitState/PCState.cs b/Assets/Scripts/Unit/Components/UnitState/PCState.cs
index 6bd6fa78..54a48cc2 100644
--- a/Assets/Scripts/Unit/Components/UnitState/PCState.cs
+++ b/Assets/Scripts/Unit/Components/UnitState/PCState.cs
@@ -208,7 +208,7 @@ public class PCState : UnitState
IEnumerator Attack(SkillParam param)
{
- const int total = 3;
+ const int total = 4;
int id = 0;
m_Owner.pcAnimation.AnimAttack(id++);
yield return null;
diff --git a/Assets/Scripts/Unit/Components/UnitState/UnitState.cs b/Assets/Scripts/Unit/Components/UnitState/UnitState.cs
index 4896e255..aff1e0f3 100644
--- a/Assets/Scripts/Unit/Components/UnitState/UnitState.cs
+++ b/Assets/Scripts/Unit/Components/UnitState/UnitState.cs
@@ -9,4 +9,5 @@ using UnityEngine;
public class UnitState : UnitComponent
{
+
} \ No newline at end of file
diff --git a/Assets/Scripts/Unit/Controller/UnitController.cs b/Assets/Scripts/Unit/Controller/UnitController.cs
index 9b3ef6e5..63202f29 100644
--- a/Assets/Scripts/Unit/Controller/UnitController.cs
+++ b/Assets/Scripts/Unit/Controller/UnitController.cs
@@ -45,7 +45,7 @@ public class UnitController : MonoBehaviour/*, Interactable*/
{
get
{
- return transform.rotation.eulerAngles.y == 0 ? true : false;
+ return transform.rotation.eulerAngles.y == 0;
}
}
diff --git a/Assets/Scripts/Unit/Events/EventGame_TimeScale.cs b/Assets/Scripts/Unit/Events/EventGame_TimeScale.cs
new file mode 100644
index 00000000..df393a6b
--- /dev/null
+++ b/Assets/Scripts/Unit/Events/EventGame_TimeScale.cs
@@ -0,0 +1,12 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+public class EventGame_TimeScale : AnimationEventBase
+{
+ public override TimelineEventProxy.EEventType type { get { return TimelineEventProxy.EEventType.EventGame_TimeScale; } }
+ public override string shortName { get { return "T"; } }
+
+ public AnimationCurve curve;
+
+} \ No newline at end of file
diff --git a/Assets/Scripts/Unit/Events/EventGame_TimeScale.cs.meta b/Assets/Scripts/Unit/Events/EventGame_TimeScale.cs.meta
new file mode 100644
index 00000000..8b5d5745
--- /dev/null
+++ b/Assets/Scripts/Unit/Events/EventGame_TimeScale.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 227b9bc615c7c8044be9c4547dee5fcf
+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 e56f590a..de067455 100644
--- a/Assets/Scripts/Unit/TimelineEventProxy.cs
+++ b/Assets/Scripts/Unit/TimelineEventProxy.cs
@@ -16,7 +16,11 @@ public partial class TimelineEventProxy
get
{
if (m_Root_Particles == null)
- m_Root_Particles = new GameObject("Root_Particles");
+ {
+ m_Root_Particles = GameObject.Find("Root_Particles");
+ if(m_Root_Particles == null)
+ m_Root_Particles = new GameObject("Root_Particles");
+ }
return m_Root_Particles;
}
}
@@ -25,6 +29,7 @@ public partial class TimelineEventProxy
{
get
{
+ m_Root_Projectiles = GameObject.Find("Root_Projectiles");
if (m_Root_Projectiles == null)
m_Root_Projectiles = new GameObject("Root_Projectiles");
return m_Root_Projectiles;
@@ -41,7 +46,9 @@ public partial class TimelineEventProxy
#endif
public enum EEventType
- {
+ {
+ EventGame_TimeScale, // 缩放时间
+
EventCamera_Zoom, // 相机聚焦
EventCamera_Shake, // 相机晃动
EventCamera_Blur, // 相机模糊
@@ -91,6 +98,11 @@ public partial class TimelineEventProxy
return type;
}
+ public void ResetPrevAnimationData()
+ {
+ m_PrevAnimationData = null;
+ }
+
public void ExecuteAnimationEvents(AnimationData animData, float animFrame)
{
if (animData == null)