feat: Phase 1 complete - attack system, enemy damage, timers, and study notes summary

This commit is contained in:
2026-05-27 10:42:39 +08:00
parent c2b93486c5
commit 18394a6b46
18 changed files with 1885 additions and 56 deletions

View File

@@ -1,5 +1,30 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1101 &-8820503692433972253
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 1
m_ConditionEvent: attack
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 4761740218506164828}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0
m_TransitionOffset: 0
m_ExitTime: 0.61206895
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1107 &-7853685596089614426
AnimatorStateMachine:
serializedVersion: 6
@@ -10,11 +35,14 @@ AnimatorStateMachine:
m_Name: Base Layer
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: -2999887273125739820}
m_Position: {x: 320, y: 40, z: 0}
m_State: {fileID: 8428018393159066403}
m_Position: {x: 550, y: 110, z: 0}
- serializedVersion: 1
m_State: {fileID: 8541810184871255671}
m_Position: {x: 315, y: 175, z: 0}
m_State: {fileID: 2731809886444445990}
m_Position: {x: 270, y: 110, z: 0}
- serializedVersion: 1
m_State: {fileID: 4761740218506164828}
m_Position: {x: 270, y: 230, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions: []
m_EntryTransitions: []
@@ -22,37 +50,41 @@ AnimatorStateMachine:
m_StateMachineBehaviours: []
m_AnyStatePosition: {x: 50, y: 20, z: 0}
m_EntryPosition: {x: 50, y: 120, z: 0}
m_ExitPosition: {x: 610, y: 110, z: 0}
m_ExitPosition: {x: 770, y: 90, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: -2999887273125739820}
--- !u!1102 &-2999887273125739820
AnimatorState:
serializedVersion: 6
m_DefaultState: {fileID: 2731809886444445990}
--- !u!206 &-7108901356451733881
BlendTree:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: playerIdle
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: -1263164013022993944}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: fe96eea6ebc2c8b4dbe787f4b59ef43f, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1101 &-1263164013022993944
m_Name: Blend Tree
m_Childs:
- serializedVersion: 2
m_Motion: {fileID: 7400000, guid: 122b1fcaba4d2944e908c03459129cbf, type: 2}
m_Threshold: -1
m_Position: {x: 0, y: 0}
m_TimeScale: 1
m_CycleOffset: 0
m_DirectBlendParameter: Blend
m_Mirror: 0
- serializedVersion: 2
m_Motion: {fileID: 7400000, guid: d11062b0858b3c64cb6c4406048bbd03, type: 2}
m_Threshold: 1
m_Position: {x: 0, y: 0}
m_TimeScale: 1
m_CycleOffset: 0
m_DirectBlendParameter: Blend
m_Mirror: 0
m_BlendParameter: yVelocity
m_BlendParameterY: Blend
m_MinThreshold: -1
m_MaxThreshold: 1
m_UseAutomaticThresholds: 0
m_NormalizedBlendValues: 0
m_BlendType: 0
--- !u!1101 &-1775290645410636153
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
@@ -60,23 +92,62 @@ AnimatorStateTransition:
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 1
m_ConditionEvent: isMoving
- m_ConditionMode: 2
m_ConditionEvent: isGrounded
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 8541810184871255671}
m_DstState: {fileID: 8428018393159066403}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0
m_TransitionOffset: 0
m_ExitTime: 0.5833334
m_ExitTime: 0.61206895
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!206 &-1313122025294676891
BlendTree:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Blend Tree
m_Childs:
- serializedVersion: 2
m_Motion: {fileID: 7400000, guid: ac4d453786085a145949201d8c33f0e0, type: 2}
m_Threshold: -1
m_Position: {x: 0, y: 0}
m_TimeScale: 1
m_CycleOffset: 0
m_DirectBlendParameter: yVelocity
m_Mirror: 0
- serializedVersion: 2
m_Motion: {fileID: 7400000, guid: fe96eea6ebc2c8b4dbe787f4b59ef43f, type: 2}
m_Threshold: 0
m_Position: {x: 0, y: 0}
m_TimeScale: 1
m_CycleOffset: 0
m_DirectBlendParameter: yVelocity
m_Mirror: 0
- serializedVersion: 2
m_Motion: {fileID: 7400000, guid: ac4d453786085a145949201d8c33f0e0, type: 2}
m_Threshold: 1
m_Position: {x: 0, y: 0}
m_TimeScale: 1
m_CycleOffset: 0
m_DirectBlendParameter: yVelocity
m_Mirror: 0
m_BlendParameter: xVelocity
m_BlendParameterY: yVelocity
m_MinThreshold: -1
m_MaxThreshold: 1
m_UseAutomaticThresholds: 0
m_NormalizedBlendValues: 0
m_BlendType: 0
--- !u!91 &9100000
AnimatorController:
m_ObjectHideFlags: 0
@@ -86,12 +157,30 @@ AnimatorController:
m_Name: Player
serializedVersion: 5
m_AnimatorParameters:
- m_Name: isMoving
- m_Name: isGrounded
m_Type: 4
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 9100000}
- m_Name: yVelocity
m_Type: 1
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 9100000}
- m_Name: xVelocity
m_Type: 1
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 9100000}
- m_Name: attack
m_Type: 9
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 9100000}
m_AnimatorLayers:
- serializedVersion: 5
m_Name: Base Layer
@@ -105,7 +194,7 @@ AnimatorController:
m_IKPass: 0
m_SyncedLayerAffectsTiming: 0
m_Controller: {fileID: 9100000}
--- !u!1101 &7343199574911539791
--- !u!1101 &563274122570338863
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
@@ -113,35 +202,36 @@ AnimatorStateTransition:
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 2
m_ConditionEvent: isMoving
- m_ConditionMode: 1
m_ConditionEvent: isGrounded
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -2999887273125739820}
m_DstState: {fileID: 2731809886444445990}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0
m_TransitionOffset: 0
m_ExitTime: 0.625
m_ExitTime: 0.1428572
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &8541810184871255671
--- !u!1102 &2731809886444445990
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: PlayerMove
m_Name: idle/move
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: 7343199574911539791}
- {fileID: -1775290645410636153}
- {fileID: -8820503692433972253}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
@@ -151,7 +241,83 @@ AnimatorState:
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: ac4d453786085a145949201d8c33f0e0, type: 2}
m_Motion: {fileID: -1313122025294676891}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &4761740218506164828
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: playerAttack
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: 7527007860389132503}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7400000, guid: 4963fd28dae460640a761546b7b5c596, type: 2}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1101 &7527007860389132503
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions: []
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 2731809886444445990}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0
m_TransitionOffset: 0
m_ExitTime: 1
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &8428018393159066403
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: jump/fall
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: 563274122570338863}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: -7108901356451733881}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:

View File

@@ -0,0 +1,123 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!74 &7400000
AnimationClip:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: playerAttack
serializedVersion: 7
m_Legacy: 0
m_Compressed: 0
m_UseHighQualityCurve: 1
m_RotationCurves: []
m_CompressedRotationCurves: []
m_EulerCurves: []
m_PositionCurves: []
m_ScaleCurves: []
m_FloatCurves: []
m_PPtrCurves:
- serializedVersion: 2
curve:
- time: 0
value: {fileID: -1059185708, guid: 2a192e342a6409b4d9677ef04a238b79, type: 3}
- time: 0.06666667
value: {fileID: 558846297, guid: 2a192e342a6409b4d9677ef04a238b79, type: 3}
- time: 0.13333334
value: {fileID: 752029924, guid: 2a192e342a6409b4d9677ef04a238b79, type: 3}
- time: 0.2
value: {fileID: 184008166, guid: 2a192e342a6409b4d9677ef04a238b79, type: 3}
- time: 0.26666668
value: {fileID: 820566783, guid: 2a192e342a6409b4d9677ef04a238b79, type: 3}
- time: 0.33333334
value: {fileID: 590827802, guid: 2a192e342a6409b4d9677ef04a238b79, type: 3}
- time: 0.4
value: {fileID: -1161772646, guid: 2a192e342a6409b4d9677ef04a238b79, type: 3}
- time: 0.46666667
value: {fileID: 180173413, guid: 2a192e342a6409b4d9677ef04a238b79, type: 3}
- time: 0.53333336
value: {fileID: 32573988, guid: 2a192e342a6409b4d9677ef04a238b79, type: 3}
- time: 0.6
value: {fileID: 820566783, guid: 2a192e342a6409b4d9677ef04a238b79, type: 3}
- time: 0.6666667
value: {fileID: 184008166, guid: 2a192e342a6409b4d9677ef04a238b79, type: 3}
attribute: m_Sprite
path:
classID: 212
script: {fileID: 0}
flags: 2
m_SampleRate: 15
m_WrapMode: 0
m_Bounds:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 0, y: 0, z: 0}
m_ClipBindingConstant:
genericBindings:
- serializedVersion: 2
path: 0
attribute: 0
script: {fileID: 0}
typeID: 212
customType: 23
isPPtrCurve: 1
isIntCurve: 0
isSerializeReferenceCurve: 0
pptrCurveMapping:
- {fileID: -1059185708, guid: 2a192e342a6409b4d9677ef04a238b79, type: 3}
- {fileID: 558846297, guid: 2a192e342a6409b4d9677ef04a238b79, type: 3}
- {fileID: 752029924, guid: 2a192e342a6409b4d9677ef04a238b79, type: 3}
- {fileID: 184008166, guid: 2a192e342a6409b4d9677ef04a238b79, type: 3}
- {fileID: 820566783, guid: 2a192e342a6409b4d9677ef04a238b79, type: 3}
- {fileID: 590827802, guid: 2a192e342a6409b4d9677ef04a238b79, type: 3}
- {fileID: -1161772646, guid: 2a192e342a6409b4d9677ef04a238b79, type: 3}
- {fileID: 180173413, guid: 2a192e342a6409b4d9677ef04a238b79, type: 3}
- {fileID: 32573988, guid: 2a192e342a6409b4d9677ef04a238b79, type: 3}
- {fileID: 820566783, guid: 2a192e342a6409b4d9677ef04a238b79, type: 3}
- {fileID: 184008166, guid: 2a192e342a6409b4d9677ef04a238b79, type: 3}
m_AnimationClipSettings:
serializedVersion: 2
m_AdditiveReferencePoseClip: {fileID: 0}
m_AdditiveReferencePoseTime: 0
m_StartTime: 0
m_StopTime: 0.73333335
m_OrientationOffsetY: 0
m_Level: 0
m_CycleOffset: 0
m_HasAdditiveReferencePose: 0
m_LoopTime: 1
m_LoopBlend: 0
m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0
m_LoopBlendPositionXZ: 0
m_KeepOriginalOrientation: 0
m_KeepOriginalPositionY: 1
m_KeepOriginalPositionXZ: 0
m_HeightFromFeet: 0
m_Mirror: 0
m_EditorCurves: []
m_EulerEditorCurves: []
m_HasGenericRootTransform: 0
m_HasMotionFloatCurves: 0
m_Events:
- time: 0
functionName: DisableMovementAndJump
data:
objectReferenceParameter: {fileID: 0}
floatParameter: 0
intParameter: 0
messageOptions: 0
- time: 0.33333334
functionName: DamageEnemies
data:
objectReferenceParameter: {fileID: 0}
floatParameter: 0
intParameter: 0
messageOptions: 0
- time: 0.6666667
functionName: EnableMovementAndJump
data:
objectReferenceParameter: {fileID: 0}
floatParameter: 0
intParameter: 0
messageOptions: 0

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 4963fd28dae460640a761546b7b5c596
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,78 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!74 &7400000
AnimationClip:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: playerFall
serializedVersion: 7
m_Legacy: 0
m_Compressed: 0
m_UseHighQualityCurve: 1
m_RotationCurves: []
m_CompressedRotationCurves: []
m_EulerCurves: []
m_PositionCurves: []
m_ScaleCurves: []
m_FloatCurves: []
m_PPtrCurves:
- serializedVersion: 2
curve:
- time: 0
value: {fileID: -270005676, guid: 2a192e342a6409b4d9677ef04a238b79, type: 3}
- time: 0.083333336
value: {fileID: -963690940, guid: 2a192e342a6409b4d9677ef04a238b79, type: 3}
- time: 0.16666667
value: {fileID: -1648917730, guid: 2a192e342a6409b4d9677ef04a238b79, type: 3}
attribute: m_Sprite
path:
classID: 212
script: {fileID: 0}
flags: 2
m_SampleRate: 12
m_WrapMode: 0
m_Bounds:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 0, y: 0, z: 0}
m_ClipBindingConstant:
genericBindings:
- serializedVersion: 2
path: 0
attribute: 0
script: {fileID: 0}
typeID: 212
customType: 23
isPPtrCurve: 1
isIntCurve: 0
isSerializeReferenceCurve: 0
pptrCurveMapping:
- {fileID: -270005676, guid: 2a192e342a6409b4d9677ef04a238b79, type: 3}
- {fileID: -963690940, guid: 2a192e342a6409b4d9677ef04a238b79, type: 3}
- {fileID: -1648917730, guid: 2a192e342a6409b4d9677ef04a238b79, type: 3}
m_AnimationClipSettings:
serializedVersion: 2
m_AdditiveReferencePoseClip: {fileID: 0}
m_AdditiveReferencePoseTime: 0
m_StartTime: 0
m_StopTime: 0.25
m_OrientationOffsetY: 0
m_Level: 0
m_CycleOffset: 0
m_HasAdditiveReferencePose: 0
m_LoopTime: 1
m_LoopBlend: 0
m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0
m_LoopBlendPositionXZ: 0
m_KeepOriginalOrientation: 0
m_KeepOriginalPositionY: 1
m_KeepOriginalPositionXZ: 0
m_HeightFromFeet: 0
m_Mirror: 0
m_EditorCurves: []
m_EulerEditorCurves: []
m_HasGenericRootTransform: 0
m_HasMotionFloatCurves: 0
m_Events: []

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 122b1fcaba4d2944e908c03459129cbf
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,78 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!74 &7400000
AnimationClip:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: playerJump
serializedVersion: 7
m_Legacy: 0
m_Compressed: 0
m_UseHighQualityCurve: 1
m_RotationCurves: []
m_CompressedRotationCurves: []
m_EulerCurves: []
m_PositionCurves: []
m_ScaleCurves: []
m_FloatCurves: []
m_PPtrCurves:
- serializedVersion: 2
curve:
- time: 0
value: {fileID: 1486326522, guid: 2a192e342a6409b4d9677ef04a238b79, type: 3}
- time: 0.083333336
value: {fileID: 284068559, guid: 2a192e342a6409b4d9677ef04a238b79, type: 3}
- time: 0.16666667
value: {fileID: 2143798682, guid: 2a192e342a6409b4d9677ef04a238b79, type: 3}
attribute: m_Sprite
path:
classID: 212
script: {fileID: 0}
flags: 2
m_SampleRate: 12
m_WrapMode: 0
m_Bounds:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 0, y: 0, z: 0}
m_ClipBindingConstant:
genericBindings:
- serializedVersion: 2
path: 0
attribute: 0
script: {fileID: 0}
typeID: 212
customType: 23
isPPtrCurve: 1
isIntCurve: 0
isSerializeReferenceCurve: 0
pptrCurveMapping:
- {fileID: 1486326522, guid: 2a192e342a6409b4d9677ef04a238b79, type: 3}
- {fileID: 284068559, guid: 2a192e342a6409b4d9677ef04a238b79, type: 3}
- {fileID: 2143798682, guid: 2a192e342a6409b4d9677ef04a238b79, type: 3}
m_AnimationClipSettings:
serializedVersion: 2
m_AdditiveReferencePoseClip: {fileID: 0}
m_AdditiveReferencePoseTime: 0
m_StartTime: 0
m_StopTime: 0.25
m_OrientationOffsetY: 0
m_Level: 0
m_CycleOffset: 0
m_HasAdditiveReferencePose: 0
m_LoopTime: 1
m_LoopBlend: 0
m_LoopBlendOrientation: 0
m_LoopBlendPositionY: 0
m_LoopBlendPositionXZ: 0
m_KeepOriginalOrientation: 0
m_KeepOriginalPositionY: 1
m_KeepOriginalPositionXZ: 0
m_HeightFromFeet: 0
m_Mirror: 0
m_EditorCurves: []
m_EulerEditorCurves: []
m_HasGenericRootTransform: 0
m_HasMotionFloatCurves: 0
m_Events: []

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: d11062b0858b3c64cb6c4406048bbd03
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 7400000
userData:
assetBundleName:
assetBundleVariant: