This commit is contained in:
parent
05f51f9d83
commit
88a032c39b
@ -1,5 +1,27 @@
|
|||||||
%YAML 1.1
|
%YAML 1.1
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1101 &-8008422709658283192
|
||||||
|
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: 0}
|
||||||
|
m_Solo: 0
|
||||||
|
m_Mute: 0
|
||||||
|
m_IsExit: 1
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TransitionDuration: 0
|
||||||
|
m_TransitionOffset: 0
|
||||||
|
m_ExitTime: 0.94
|
||||||
|
m_HasExitTime: 1
|
||||||
|
m_HasFixedDuration: 0
|
||||||
|
m_InterruptionSource: 0
|
||||||
|
m_OrderedInterruption: 1
|
||||||
|
m_CanTransitionToSelf: 1
|
||||||
--- !u!1101 &-7177139180987167045
|
--- !u!1101 &-7177139180987167045
|
||||||
AnimatorStateTransition:
|
AnimatorStateTransition:
|
||||||
m_ObjectHideFlags: 1
|
m_ObjectHideFlags: 1
|
||||||
@ -13,7 +35,7 @@ AnimatorStateTransition:
|
|||||||
m_EventTreshold: 0
|
m_EventTreshold: 0
|
||||||
m_DstStateMachine: {fileID: 0}
|
m_DstStateMachine: {fileID: 0}
|
||||||
m_DstState: {fileID: -3543533935865275089}
|
m_DstState: {fileID: -3543533935865275089}
|
||||||
m_Solo: 0
|
m_Solo: 1
|
||||||
m_Mute: 0
|
m_Mute: 0
|
||||||
m_IsExit: 0
|
m_IsExit: 0
|
||||||
serializedVersion: 3
|
serializedVersion: 3
|
||||||
@ -24,31 +46,6 @@ AnimatorStateTransition:
|
|||||||
m_HasFixedDuration: 1
|
m_HasFixedDuration: 1
|
||||||
m_InterruptionSource: 0
|
m_InterruptionSource: 0
|
||||||
m_OrderedInterruption: 1
|
m_OrderedInterruption: 1
|
||||||
m_CanTransitionToSelf: 0
|
|
||||||
--- !u!1101 &-6818529094234887481
|
|
||||||
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: 6469307968501949992}
|
|
||||||
m_Solo: 0
|
|
||||||
m_Mute: 0
|
|
||||||
m_IsExit: 0
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TransitionDuration: 0.105819285
|
|
||||||
m_TransitionOffset: 0
|
|
||||||
m_ExitTime: 0.000000016145702
|
|
||||||
m_HasExitTime: 1
|
|
||||||
m_HasFixedDuration: 1
|
|
||||||
m_InterruptionSource: 0
|
|
||||||
m_OrderedInterruption: 1
|
|
||||||
m_CanTransitionToSelf: 1
|
m_CanTransitionToSelf: 1
|
||||||
--- !u!1101 &-6298246179504697329
|
--- !u!1101 &-6298246179504697329
|
||||||
AnimatorStateTransition:
|
AnimatorStateTransition:
|
||||||
@ -57,44 +54,16 @@ AnimatorStateTransition:
|
|||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_Conditions:
|
m_Conditions: []
|
||||||
- m_ConditionMode: 2
|
|
||||||
m_ConditionEvent: dance
|
|
||||||
m_EventTreshold: 0
|
|
||||||
m_DstStateMachine: {fileID: 0}
|
m_DstStateMachine: {fileID: 0}
|
||||||
m_DstState: {fileID: 0}
|
m_DstState: {fileID: 0}
|
||||||
m_Solo: 0
|
m_Solo: 0
|
||||||
m_Mute: 0
|
m_Mute: 0
|
||||||
m_IsExit: 1
|
m_IsExit: 1
|
||||||
serializedVersion: 3
|
serializedVersion: 3
|
||||||
m_TransitionDuration: 0.25
|
m_TransitionDuration: 0
|
||||||
m_TransitionOffset: 0
|
m_TransitionOffset: 0
|
||||||
m_ExitTime: 0.9632353
|
m_ExitTime: 0.9632353
|
||||||
m_HasExitTime: 0
|
|
||||||
m_HasFixedDuration: 1
|
|
||||||
m_InterruptionSource: 0
|
|
||||||
m_OrderedInterruption: 1
|
|
||||||
m_CanTransitionToSelf: 1
|
|
||||||
--- !u!1101 &-5992129908580872030
|
|
||||||
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: 6469307968501949992}
|
|
||||||
m_Solo: 0
|
|
||||||
m_Mute: 0
|
|
||||||
m_IsExit: 0
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TransitionDuration: 0.25
|
|
||||||
m_TransitionOffset: 0
|
|
||||||
m_ExitTime: 0.94186044
|
|
||||||
m_HasExitTime: 1
|
m_HasExitTime: 1
|
||||||
m_HasFixedDuration: 1
|
m_HasFixedDuration: 1
|
||||||
m_InterruptionSource: 0
|
m_InterruptionSource: 0
|
||||||
@ -107,7 +76,7 @@ AnimatorState:
|
|||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_Name: z fall to bite and stand 0
|
m_Name: stunned
|
||||||
m_Speed: 1
|
m_Speed: 1
|
||||||
m_CycleOffset: 0
|
m_CycleOffset: 0
|
||||||
m_Transitions:
|
m_Transitions:
|
||||||
@ -179,28 +148,6 @@ AnimatorState:
|
|||||||
m_MirrorParameter:
|
m_MirrorParameter:
|
||||||
m_CycleOffsetParameter:
|
m_CycleOffsetParameter:
|
||||||
m_TimeParameter: speed
|
m_TimeParameter: speed
|
||||||
--- !u!1101 &-3088080077202337175
|
|
||||||
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: 1102751178008254848}
|
|
||||||
m_Solo: 0
|
|
||||||
m_Mute: 0
|
|
||||||
m_IsExit: 0
|
|
||||||
serializedVersion: 3
|
|
||||||
m_TransitionDuration: 0.25
|
|
||||||
m_TransitionOffset: 0
|
|
||||||
m_ExitTime: 0.94
|
|
||||||
m_HasExitTime: 1
|
|
||||||
m_HasFixedDuration: 1
|
|
||||||
m_InterruptionSource: 0
|
|
||||||
m_OrderedInterruption: 1
|
|
||||||
m_CanTransitionToSelf: 1
|
|
||||||
--- !u!1101 &-2680946984351937023
|
--- !u!1101 &-2680946984351937023
|
||||||
AnimatorStateTransition:
|
AnimatorStateTransition:
|
||||||
m_ObjectHideFlags: 1
|
m_ObjectHideFlags: 1
|
||||||
@ -210,15 +157,15 @@ AnimatorStateTransition:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_Conditions:
|
m_Conditions:
|
||||||
- m_ConditionMode: 1
|
- m_ConditionMode: 1
|
||||||
m_ConditionEvent: damage
|
m_ConditionEvent: stunned
|
||||||
m_EventTreshold: 0
|
m_EventTreshold: 0
|
||||||
m_DstStateMachine: {fileID: 0}
|
m_DstStateMachine: {fileID: 0}
|
||||||
m_DstState: {fileID: -5914887121904355405}
|
m_DstState: {fileID: -5914887121904355405}
|
||||||
m_Solo: 0
|
m_Solo: 1
|
||||||
m_Mute: 0
|
m_Mute: 0
|
||||||
m_IsExit: 0
|
m_IsExit: 0
|
||||||
serializedVersion: 3
|
serializedVersion: 3
|
||||||
m_TransitionDuration: 1.10299
|
m_TransitionDuration: 0.25
|
||||||
m_TransitionOffset: 0
|
m_TransitionOffset: 0
|
||||||
m_ExitTime: 0.080844834
|
m_ExitTime: 0.080844834
|
||||||
m_HasExitTime: 0
|
m_HasExitTime: 0
|
||||||
@ -284,20 +231,20 @@ AnimatorController:
|
|||||||
m_DefaultInt: 0
|
m_DefaultInt: 0
|
||||||
m_DefaultBool: 0
|
m_DefaultBool: 0
|
||||||
m_Controller: {fileID: 0}
|
m_Controller: {fileID: 0}
|
||||||
- m_Name: stun
|
- m_Name: stunned
|
||||||
m_Type: 4
|
|
||||||
m_DefaultFloat: 0
|
|
||||||
m_DefaultInt: 0
|
|
||||||
m_DefaultBool: 0
|
|
||||||
m_Controller: {fileID: 0}
|
|
||||||
- m_Name: attack
|
|
||||||
m_Type: 9
|
m_Type: 9
|
||||||
m_DefaultFloat: 0
|
m_DefaultFloat: 0
|
||||||
m_DefaultInt: 0
|
m_DefaultInt: 0
|
||||||
m_DefaultBool: 0
|
m_DefaultBool: 0
|
||||||
m_Controller: {fileID: 0}
|
m_Controller: {fileID: 0}
|
||||||
- m_Name: dance
|
- m_Name: dance
|
||||||
m_Type: 4
|
m_Type: 9
|
||||||
|
m_DefaultFloat: 0
|
||||||
|
m_DefaultInt: 0
|
||||||
|
m_DefaultBool: 0
|
||||||
|
m_Controller: {fileID: 0}
|
||||||
|
- m_Name: attack
|
||||||
|
m_Type: 9
|
||||||
m_DefaultFloat: 0
|
m_DefaultFloat: 0
|
||||||
m_DefaultInt: 0
|
m_DefaultInt: 0
|
||||||
m_DefaultBool: 0
|
m_DefaultBool: 0
|
||||||
@ -417,7 +364,6 @@ AnimatorState:
|
|||||||
m_Transitions:
|
m_Transitions:
|
||||||
- {fileID: 1101976969126293670}
|
- {fileID: 1101976969126293670}
|
||||||
- {fileID: -4063881565528374387}
|
- {fileID: -4063881565528374387}
|
||||||
- {fileID: 8378993677699007574}
|
|
||||||
m_StateMachineBehaviours: []
|
m_StateMachineBehaviours: []
|
||||||
m_Position: {x: 50, y: 50, z: 0}
|
m_Position: {x: 50, y: 50, z: 0}
|
||||||
m_IKOnFeet: 0
|
m_IKOnFeet: 0
|
||||||
@ -445,7 +391,6 @@ AnimatorState:
|
|||||||
m_CycleOffset: 0
|
m_CycleOffset: 0
|
||||||
m_Transitions:
|
m_Transitions:
|
||||||
- {fileID: 1101067943808544730}
|
- {fileID: 1101067943808544730}
|
||||||
- {fileID: -5992129908580872030}
|
|
||||||
m_StateMachineBehaviours: []
|
m_StateMachineBehaviours: []
|
||||||
m_Position: {x: 50, y: 50, z: 0}
|
m_Position: {x: 50, y: 50, z: 0}
|
||||||
m_IKOnFeet: 0
|
m_IKOnFeet: 0
|
||||||
@ -479,28 +424,26 @@ AnimatorStateMachine:
|
|||||||
- serializedVersion: 1
|
- serializedVersion: 1
|
||||||
m_State: {fileID: 2316826469527330622}
|
m_State: {fileID: 2316826469527330622}
|
||||||
m_Position: {x: 120, y: -170, z: 0}
|
m_Position: {x: 120, y: -170, z: 0}
|
||||||
- serializedVersion: 1
|
|
||||||
m_State: {fileID: 3530830070236652748}
|
|
||||||
m_Position: {x: 560, y: 440, z: 0}
|
|
||||||
- serializedVersion: 1
|
- serializedVersion: 1
|
||||||
m_State: {fileID: -5914887121904355405}
|
m_State: {fileID: -5914887121904355405}
|
||||||
m_Position: {x: 650, y: 10, z: 0}
|
m_Position: {x: 800, y: 100, z: 0}
|
||||||
- serializedVersion: 1
|
- serializedVersion: 1
|
||||||
m_State: {fileID: 6469307968501949992}
|
m_State: {fileID: 6469307968501949992}
|
||||||
m_Position: {x: 540, y: -170, z: 0}
|
m_Position: {x: 800, y: 150, z: 0}
|
||||||
- serializedVersion: 1
|
- serializedVersion: 1
|
||||||
m_State: {fileID: -3543533935865275089}
|
m_State: {fileID: -3543533935865275089}
|
||||||
m_Position: {x: 500, y: 210, z: 0}
|
m_Position: {x: 800, y: 50, z: 0}
|
||||||
m_ChildStateMachines: []
|
m_ChildStateMachines: []
|
||||||
m_AnyStateTransitions:
|
m_AnyStateTransitions:
|
||||||
- {fileID: -2680946984351937023}
|
- {fileID: -2680946984351937023}
|
||||||
- {fileID: -7177139180987167045}
|
- {fileID: -7177139180987167045}
|
||||||
|
- {fileID: 5837019369696166552}
|
||||||
m_EntryTransitions: []
|
m_EntryTransitions: []
|
||||||
m_StateMachineTransitions: {}
|
m_StateMachineTransitions: {}
|
||||||
m_StateMachineBehaviours: []
|
m_StateMachineBehaviours: []
|
||||||
m_AnyStatePosition: {x: 520, y: 100, z: 0}
|
m_AnyStatePosition: {x: 500, y: 100, z: 0}
|
||||||
m_EntryPosition: {x: 140, y: 120, z: 0}
|
m_EntryPosition: {x: 140, y: 120, z: 0}
|
||||||
m_ExitPosition: {x: 864, y: 144, z: 0}
|
m_ExitPosition: {x: 1100, y: 100, z: 0}
|
||||||
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
|
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
|
||||||
m_DefaultState: {fileID: 1102751178008254848}
|
m_DefaultState: {fileID: 1102751178008254848}
|
||||||
--- !u!1102 &2316826469527330622
|
--- !u!1102 &2316826469527330622
|
||||||
@ -515,7 +458,6 @@ AnimatorState:
|
|||||||
m_CycleOffset: 0
|
m_CycleOffset: 0
|
||||||
m_Transitions:
|
m_Transitions:
|
||||||
- {fileID: -1746738016173991043}
|
- {fileID: -1746738016173991043}
|
||||||
- {fileID: -6818529094234887481}
|
|
||||||
m_StateMachineBehaviours: []
|
m_StateMachineBehaviours: []
|
||||||
m_Position: {x: 50, y: 50, z: 0}
|
m_Position: {x: 50, y: 50, z: 0}
|
||||||
m_IKOnFeet: 0
|
m_IKOnFeet: 0
|
||||||
@ -531,32 +473,6 @@ AnimatorState:
|
|||||||
m_MirrorParameter:
|
m_MirrorParameter:
|
||||||
m_CycleOffsetParameter:
|
m_CycleOffsetParameter:
|
||||||
m_TimeParameter:
|
m_TimeParameter:
|
||||||
--- !u!1102 &3530830070236652748
|
|
||||||
AnimatorState:
|
|
||||||
serializedVersion: 6
|
|
||||||
m_ObjectHideFlags: 1
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_Name: z fall to bite and stand
|
|
||||||
m_Speed: 1
|
|
||||||
m_CycleOffset: 0
|
|
||||||
m_Transitions: []
|
|
||||||
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: -203655887218126122, guid: 9175fddd2326b1545ac71cf4346baa83, type: 3}
|
|
||||||
m_Tag:
|
|
||||||
m_SpeedParameter:
|
|
||||||
m_MirrorParameter:
|
|
||||||
m_CycleOffsetParameter:
|
|
||||||
m_TimeParameter:
|
|
||||||
--- !u!1101 &4133929114904890219
|
--- !u!1101 &4133929114904890219
|
||||||
AnimatorStateTransition:
|
AnimatorStateTransition:
|
||||||
m_ObjectHideFlags: 1
|
m_ObjectHideFlags: 1
|
||||||
@ -564,52 +480,22 @@ AnimatorStateTransition:
|
|||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_Conditions:
|
m_Conditions: []
|
||||||
- m_ConditionMode: 2
|
|
||||||
m_ConditionEvent: stun
|
|
||||||
m_EventTreshold: 0
|
|
||||||
m_DstStateMachine: {fileID: 0}
|
m_DstStateMachine: {fileID: 0}
|
||||||
m_DstState: {fileID: 0}
|
m_DstState: {fileID: 0}
|
||||||
m_Solo: 0
|
m_Solo: 0
|
||||||
m_Mute: 0
|
m_Mute: 0
|
||||||
m_IsExit: 1
|
m_IsExit: 1
|
||||||
serializedVersion: 3
|
serializedVersion: 3
|
||||||
m_TransitionDuration: 0.25
|
m_TransitionDuration: 0
|
||||||
m_TransitionOffset: 0
|
m_TransitionOffset: 0
|
||||||
m_ExitTime: 0.9639423
|
m_ExitTime: 0.9639423
|
||||||
m_HasExitTime: 1
|
m_HasExitTime: 1
|
||||||
m_HasFixedDuration: 1
|
m_HasFixedDuration: 0
|
||||||
m_InterruptionSource: 0
|
m_InterruptionSource: 0
|
||||||
m_OrderedInterruption: 1
|
m_OrderedInterruption: 1
|
||||||
m_CanTransitionToSelf: 1
|
m_CanTransitionToSelf: 1
|
||||||
--- !u!1102 &6469307968501949992
|
--- !u!1101 &5837019369696166552
|
||||||
AnimatorState:
|
|
||||||
serializedVersion: 6
|
|
||||||
m_ObjectHideFlags: 1
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_Name: zNeckBite
|
|
||||||
m_Speed: 1
|
|
||||||
m_CycleOffset: 0
|
|
||||||
m_Transitions:
|
|
||||||
- {fileID: -3088080077202337175}
|
|
||||||
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: -203655887218126122, guid: 44e7c5a9d9018944591bb3f85d64726b, type: 3}
|
|
||||||
m_Tag:
|
|
||||||
m_SpeedParameter:
|
|
||||||
m_MirrorParameter:
|
|
||||||
m_CycleOffsetParameter:
|
|
||||||
m_TimeParameter:
|
|
||||||
--- !u!1101 &8378993677699007574
|
|
||||||
AnimatorStateTransition:
|
AnimatorStateTransition:
|
||||||
m_ObjectHideFlags: 1
|
m_ObjectHideFlags: 1
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
@ -628,9 +514,36 @@ AnimatorStateTransition:
|
|||||||
serializedVersion: 3
|
serializedVersion: 3
|
||||||
m_TransitionDuration: 0.25
|
m_TransitionDuration: 0.25
|
||||||
m_TransitionOffset: 0
|
m_TransitionOffset: 0
|
||||||
m_ExitTime: 0.9375
|
m_ExitTime: 0.75
|
||||||
m_HasExitTime: 1
|
m_HasExitTime: 0
|
||||||
m_HasFixedDuration: 1
|
m_HasFixedDuration: 1
|
||||||
m_InterruptionSource: 0
|
m_InterruptionSource: 0
|
||||||
m_OrderedInterruption: 1
|
m_OrderedInterruption: 1
|
||||||
m_CanTransitionToSelf: 1
|
m_CanTransitionToSelf: 0
|
||||||
|
--- !u!1102 &6469307968501949992
|
||||||
|
AnimatorState:
|
||||||
|
serializedVersion: 6
|
||||||
|
m_ObjectHideFlags: 1
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: attack
|
||||||
|
m_Speed: 1
|
||||||
|
m_CycleOffset: 0
|
||||||
|
m_Transitions:
|
||||||
|
- {fileID: -8008422709658283192}
|
||||||
|
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: -203655887218126122, guid: 44e7c5a9d9018944591bb3f85d64726b, type: 3}
|
||||||
|
m_Tag:
|
||||||
|
m_SpeedParameter:
|
||||||
|
m_MirrorParameter:
|
||||||
|
m_CycleOffsetParameter:
|
||||||
|
m_TimeParameter:
|
||||||
|
@ -4,6 +4,7 @@ using Mirror;
|
|||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using UnityEngine.AI;
|
using UnityEngine.AI;
|
||||||
using UnityEngine.Animations.Rigging;
|
using UnityEngine.Animations.Rigging;
|
||||||
|
using UnityEngine.Serialization;
|
||||||
|
|
||||||
namespace Characters.Enemy
|
namespace Characters.Enemy
|
||||||
{
|
{
|
||||||
@ -19,13 +20,14 @@ namespace Characters.Enemy
|
|||||||
|
|
||||||
[HideInInspector] public bool canAttack;
|
[HideInInspector] public bool canAttack;
|
||||||
|
|
||||||
[SyncVar(hook = nameof(OnStateChanged))] public EnemyState state = EnemyState.Idle;
|
[SyncVar] public EnemyState state = EnemyState.Idle;
|
||||||
[SyncVar, HideInInspector] public float aimRigWeight;
|
[SyncVar, HideInInspector] public float aimRigWeight;
|
||||||
|
|
||||||
public readonly StateMachine<EnemyState> stateMachine = new StateMachine<EnemyState>();
|
public readonly StateMachine<EnemyState> stateMachine = new StateMachine<EnemyState>();
|
||||||
|
|
||||||
public Transform target;
|
[FormerlySerializedAs("target")] public Transform targetTransform;
|
||||||
public NetworkAnimator networkAnimator;
|
public NetworkAnimator networkAnimator;
|
||||||
|
public float DistanceToTarget => Vector3.Distance(targetTransform.transform.position, transform.position);
|
||||||
|
|
||||||
private CustomNetworkManager _networkManager;
|
private CustomNetworkManager _networkManager;
|
||||||
private NetworkGameManager _networkGameManager;
|
private NetworkGameManager _networkGameManager;
|
||||||
@ -50,6 +52,7 @@ namespace Characters.Enemy
|
|||||||
stateMachine.Add(new PatrolState(this));
|
stateMachine.Add(new PatrolState(this));
|
||||||
stateMachine.Add(new ChaseState(this));
|
stateMachine.Add(new ChaseState(this));
|
||||||
stateMachine.Add(new StunnedState(this));
|
stateMachine.Add(new StunnedState(this));
|
||||||
|
stateMachine.Add(new AttackState(this));
|
||||||
|
|
||||||
stateMachine.SetCurrentState(state);
|
stateMachine.SetCurrentState(state);
|
||||||
}
|
}
|
||||||
@ -58,13 +61,16 @@ namespace Characters.Enemy
|
|||||||
{
|
{
|
||||||
Footsteps();
|
Footsteps();
|
||||||
|
|
||||||
stateMachine.Update();
|
if (isServer)
|
||||||
|
{
|
||||||
|
agent.speed = _speedMul * RunSpeed;
|
||||||
|
animator.SetFloat(SpeedAnimHash, agent.velocity.magnitude);
|
||||||
|
}
|
||||||
|
|
||||||
agent.speed = _speedMul * RunSpeed;
|
|
||||||
aimRigWeight = isServer ? Mathf.Lerp(aimRigWeight, _targetAimRigWeight, Time.deltaTime) : aimRigWeight;
|
aimRigWeight = isServer ? Mathf.Lerp(aimRigWeight, _targetAimRigWeight, Time.deltaTime) : aimRigWeight;
|
||||||
aimRig.weight = aimRigWeight;
|
aimRig.weight = aimRigWeight;
|
||||||
|
|
||||||
animator.SetFloat(SpeedAnimHash, agent.velocity.magnitude);
|
stateMachine.Update();
|
||||||
}
|
}
|
||||||
|
|
||||||
void FixedUpdate()
|
void FixedUpdate()
|
||||||
@ -92,24 +98,54 @@ namespace Characters.Enemy
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[ClientRpc]
|
||||||
|
public void RpcKillTarget(Transform target)
|
||||||
|
{
|
||||||
|
Interactions interactions = target.GetComponent<Interactions>();
|
||||||
|
|
||||||
|
if (interactions != null) interactions.DropProp();
|
||||||
|
|
||||||
|
target.GetComponent<Pawn>().Die();
|
||||||
|
}
|
||||||
|
|
||||||
|
[ServerCallback]
|
||||||
public override void TakeDamage()
|
public override void TakeDamage()
|
||||||
{
|
{
|
||||||
base.TakeDamage();
|
base.TakeDamage();
|
||||||
|
|
||||||
if (state == EnemyState.Stunned)
|
ChangeState(EnemyState.Stunned);
|
||||||
{
|
|
||||||
stateMachine.GetCurrentState().ReEnter();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
state = EnemyState.Stunned;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void OnStateChanged(EnemyState _, EnemyState newState)
|
public void ChangeState(EnemyState newState)
|
||||||
{
|
{
|
||||||
Debug.Log($"{_} -> {newState}");
|
state = newState;
|
||||||
stateMachine.SetCurrentState(newState);
|
stateMachine.SetCurrentState(newState);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Transform GetClosestTarget()
|
||||||
|
{
|
||||||
|
var alivePlayers = _networkManager.alive;
|
||||||
|
|
||||||
|
if (targetTransform != null && alivePlayers.Count == 1 && alivePlayers[0].transform == targetTransform)
|
||||||
|
{
|
||||||
|
return targetTransform;
|
||||||
|
}
|
||||||
|
|
||||||
|
Transform closestTarget = null;
|
||||||
|
|
||||||
|
float sortDistance = float.MaxValue;
|
||||||
|
foreach (var player in _networkManager.alive)
|
||||||
|
{
|
||||||
|
float distance = Vector3.Distance(player.transform.position, transform.position);
|
||||||
|
|
||||||
|
if (distance <= aggressionDistance && distance < sortDistance && agent.SetDestination(player.transform.position))
|
||||||
|
{
|
||||||
|
sortDistance = distance;
|
||||||
|
closestTarget = player.transform;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return closestTarget;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
37
Assets/Scripts/Characters/Enemy/States/AttackState.cs
Normal file
37
Assets/Scripts/Characters/Enemy/States/AttackState.cs
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
using Koptilnya.StateMachine;
|
||||||
|
using Mirror;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace Characters.Enemy.States
|
||||||
|
{
|
||||||
|
public class AttackState : State<EnemyState>
|
||||||
|
{
|
||||||
|
private readonly Enemy _enemy;
|
||||||
|
private static readonly int AttackAnimHash = Animator.StringToHash("attack");
|
||||||
|
|
||||||
|
public AttackState(Enemy enemy) : base(EnemyState.Attack)
|
||||||
|
{
|
||||||
|
_enemy = enemy;
|
||||||
|
}
|
||||||
|
|
||||||
|
[ServerCallback]
|
||||||
|
public override void Enter()
|
||||||
|
{
|
||||||
|
_enemy.SetSpeedMul(1f);
|
||||||
|
}
|
||||||
|
|
||||||
|
[ServerCallback]
|
||||||
|
public override void Update()
|
||||||
|
{
|
||||||
|
_enemy.networkAnimator.SetTrigger(AttackAnimHash);
|
||||||
|
_enemy.RpcKillTarget(_enemy.targetTransform);
|
||||||
|
_enemy.ChangeState(EnemyState.Patrol);
|
||||||
|
}
|
||||||
|
|
||||||
|
[ServerCallback]
|
||||||
|
public override void Exit()
|
||||||
|
{
|
||||||
|
_enemy.targetTransform = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 3e9f5beb8e3e4632a4fb963810a1386f
|
||||||
|
timeCreated: 1710870974
|
@ -1,4 +1,5 @@
|
|||||||
using Koptilnya.StateMachine;
|
using Koptilnya.StateMachine;
|
||||||
|
using Mirror;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
namespace Characters.Enemy.States
|
namespace Characters.Enemy.States
|
||||||
@ -12,48 +13,41 @@ namespace Characters.Enemy.States
|
|||||||
_enemy = enemy;
|
_enemy = enemy;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[ServerCallback]
|
||||||
public override void Enter()
|
public override void Enter()
|
||||||
{
|
{
|
||||||
if (!_enemy.isServer) return;
|
|
||||||
|
|
||||||
_enemy.SetSpeedMul(1f);
|
_enemy.SetSpeedMul(1f);
|
||||||
_enemy.SetAimRigWeight(1f);
|
_enemy.SetAimRigWeight(1f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[ServerCallback]
|
||||||
public override void Update()
|
public override void Update()
|
||||||
{
|
{
|
||||||
if (!_enemy.isServer) return;
|
_enemy.agent.destination = _enemy.targetTransform.position;
|
||||||
|
|
||||||
|
var distanceToTarget = _enemy.DistanceToTarget;
|
||||||
|
|
||||||
_enemy.agent.destination = _enemy.target.position;
|
if (distanceToTarget < _enemy.aggressionDistance)
|
||||||
|
|
||||||
float distance = Vector3.Distance(_enemy.target.transform.position, _enemy.transform.position);
|
|
||||||
|
|
||||||
if (distance < _enemy.aggressionDistance)
|
|
||||||
{
|
{
|
||||||
_enemy.aimTransform.position = _enemy.target.position + _enemy.target.up * 1.2f;
|
_enemy.aimTransform.position = _enemy.targetTransform.position + _enemy.targetTransform.up * 1.2f;
|
||||||
|
|
||||||
// if (distance < 1f)
|
if (distanceToTarget < 1f)
|
||||||
// {
|
{
|
||||||
// if (canAttack && !isKilling)
|
_enemy.ChangeState(EnemyState.Attack);
|
||||||
// {
|
}
|
||||||
// RpcKillPlayer(_target);
|
|
||||||
// animator.SetTrigger("attack");
|
|
||||||
//
|
|
||||||
// StartCoroutine(AfterKillTimer());
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_enemy.state = EnemyState.Idle;
|
_enemy.ChangeState(EnemyState.Idle);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_enemy.targetTransform = _enemy.GetClosestTarget();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[ServerCallback]
|
||||||
public override void Exit()
|
public override void Exit()
|
||||||
{
|
{
|
||||||
if (!_enemy.isServer) return;
|
_enemy.targetTransform = null;
|
||||||
|
|
||||||
_enemy.target = null;
|
|
||||||
|
|
||||||
_enemy.SetAimRigWeight(0f);
|
_enemy.SetAimRigWeight(0f);
|
||||||
}
|
}
|
||||||
|
@ -15,34 +15,32 @@ namespace Characters.Enemy.States
|
|||||||
{
|
{
|
||||||
_enemy = enemy;
|
_enemy = enemy;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[ServerCallback]
|
||||||
public override void Enter()
|
public override void Enter()
|
||||||
{
|
{
|
||||||
if (!_enemy.isServer) return;
|
|
||||||
|
|
||||||
_enemy.SetSpeedMul(0f);
|
_enemy.SetSpeedMul(0f);
|
||||||
_enemy.networkAnimator.SetTrigger("dance");
|
_enemy.networkAnimator.SetTrigger(DanceAnimHash);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[ServerCallback]
|
||||||
public override void Update()
|
public override void Update()
|
||||||
{
|
{
|
||||||
if (!_enemy.isServer) return;
|
|
||||||
|
|
||||||
var stateInfo = _enemy.animator.GetCurrentAnimatorStateInfo(0);
|
var stateInfo = _enemy.animator.GetCurrentAnimatorStateInfo(0);
|
||||||
|
|
||||||
bool inAnim = stateInfo.shortNameHash == DanceAnimHash;
|
bool inAnim = stateInfo.shortNameHash == DanceAnimHash;
|
||||||
|
|
||||||
if (!_entered && inAnim) _entered = true;
|
if (!_entered && inAnim) _entered = true;
|
||||||
|
|
||||||
if (_entered && !inAnim) _enemy.state = EnemyState.Patrol;
|
if (_entered && !inAnim) _enemy.ChangeState(EnemyState.Patrol);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[ServerCallback]
|
||||||
public override void Exit()
|
public override void Exit()
|
||||||
{
|
{
|
||||||
if (!_enemy.isServer) return;
|
|
||||||
|
|
||||||
_entered = false;
|
_entered = false;
|
||||||
_enemy.networkAnimator.ResetTrigger("dance");
|
|
||||||
|
_enemy.networkAnimator.ResetTrigger(DanceAnimHash);
|
||||||
_enemy.SetSpeedMul(1f);
|
_enemy.SetSpeedMul(1f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -19,33 +19,20 @@ namespace Characters.Enemy.States
|
|||||||
_networkManager = NetworkManager.singleton.GetComponent<CustomNetworkManager>();
|
_networkManager = NetworkManager.singleton.GetComponent<CustomNetworkManager>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[ServerCallback]
|
||||||
public override void Enter()
|
public override void Enter()
|
||||||
{
|
{
|
||||||
if (!_enemy.isServer) return;
|
|
||||||
|
|
||||||
_enemy.SetSpeedMul(1f);
|
_enemy.SetSpeedMul(1f);
|
||||||
_enemy.SetAimRigWeight(0f);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[ServerCallback]
|
||||||
public override void Update()
|
public override void Update()
|
||||||
{
|
{
|
||||||
if (!_enemy.isServer) return;
|
_enemy.targetTransform = _enemy.GetClosestTarget();
|
||||||
|
|
||||||
float sortDistance = float.MaxValue;
|
|
||||||
foreach (var player in _networkManager.alive)
|
|
||||||
{
|
|
||||||
float distance = Vector3.Distance(player.transform.position, _enemy.transform.position);
|
|
||||||
|
|
||||||
if (distance <= _enemy.aggressionDistance && distance < sortDistance && _enemy.agent.SetDestination(player.transform.position))
|
|
||||||
{
|
|
||||||
sortDistance = distance;
|
|
||||||
_enemy.target = player.transform;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (_enemy.target != null)
|
if (_enemy.targetTransform != null)
|
||||||
{
|
{
|
||||||
_enemy.state = EnemyState.Chase;
|
_enemy.ChangeState(EnemyState.Chase);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -25,10 +25,10 @@ namespace Characters.Enemy.States
|
|||||||
if (_enemy.isServer)
|
if (_enemy.isServer)
|
||||||
{
|
{
|
||||||
_enemy.canAttack = false;
|
_enemy.canAttack = false;
|
||||||
_enemy.target = null;
|
_enemy.targetTransform = null;
|
||||||
|
|
||||||
_enemy.SetSpeedMul(0f);
|
_enemy.SetSpeedMul(0f);
|
||||||
_enemy.networkAnimator.SetTrigger("stunned");
|
_enemy.networkAnimator.SetTrigger(StunnedAnimHash);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(_enemy.isClient)
|
if(_enemy.isClient)
|
||||||
@ -38,36 +38,30 @@ namespace Characters.Enemy.States
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[Server]
|
[ServerCallback]
|
||||||
public override void ReEnter()
|
public override void ReEnter()
|
||||||
{
|
{
|
||||||
Debug.Log("Reenter stunned state");
|
_enemy.networkAnimator.SetTrigger(StunnedAnimHash);
|
||||||
|
|
||||||
_enemy.networkAnimator.SetTrigger("stunned");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[ServerCallback]
|
||||||
public override void Update()
|
public override void Update()
|
||||||
{
|
{
|
||||||
if (!_enemy.isServer) return;
|
|
||||||
|
|
||||||
var stateInfo = _enemy.animator.GetCurrentAnimatorStateInfo(0);
|
var stateInfo = _enemy.animator.GetCurrentAnimatorStateInfo(0);
|
||||||
|
|
||||||
bool inAnim = stateInfo.shortNameHash == StunnedAnimHash;
|
bool inAnim = stateInfo.shortNameHash == StunnedAnimHash;
|
||||||
|
|
||||||
if (!_entered && inAnim) _entered = true;
|
if (!_entered && inAnim) _entered = true;
|
||||||
|
|
||||||
if (_entered && !inAnim)
|
if (_entered && !inAnim) _enemy.ChangeState(EnemyState.Patrol);
|
||||||
{
|
|
||||||
_enemy.state = EnemyState.Patrol;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[ServerCallback]
|
||||||
public override void Exit()
|
public override void Exit()
|
||||||
{
|
{
|
||||||
if (!_enemy.isServer) return;
|
|
||||||
|
|
||||||
_entered = false;
|
_entered = false;
|
||||||
_enemy.networkAnimator.ResetTrigger("stunned");
|
|
||||||
|
_enemy.networkAnimator.ResetTrigger(StunnedAnimHash);
|
||||||
_enemy.SetSpeedMul(1f);
|
_enemy.SetSpeedMul(1f);
|
||||||
|
|
||||||
_enemy.canAttack = true;
|
_enemy.canAttack = true;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user