Compare commits

...

3 Commits

Author SHA1 Message Date
Dominik G.
2435f0d27f Merge remote-tracking branch 'origin/master' 2025-10-27 12:59:19 +01:00
Dominik G.
352ba8a27b Animace 2+ 2025-10-27 12:58:27 +01:00
Dominik G.
501312e0c2 Animace 2+ 2025-10-27 12:57:52 +01:00
6 changed files with 540 additions and 382 deletions

View File

@@ -205,6 +205,8 @@ namespace MegaKoop.Game.EditorExtensions
var move = root.AddState("Move", new Vector3(250, 150, 0));
move.motion = CreateMoveBlendTree(controller);
move.speedParameterActive = true;
move.speedParameter = "MoveSpeedNormalized";
AnimatorState crouch = null;
if (crouchIdle != null)
@@ -262,11 +264,27 @@ namespace MegaKoop.Game.EditorExtensions
}
// Jump transitions: AnyState -> Jump Begin
var anyToJumpBegin = root.AddAnyStateTransition(jumpBeginState);
anyToJumpBegin.hasExitTime = false;
anyToJumpBegin.duration = 0.05f;
anyToJumpBegin.canTransitionToSelf = false;
anyToJumpBegin.AddCondition(AnimatorConditionMode.If, 0f, "Jump");
// Jump transitions from grounded states
var idleToJump = idle.AddTransition(jumpBeginState);
idleToJump.hasExitTime = false;
idleToJump.duration = 0.05f;
idleToJump.AddCondition(AnimatorConditionMode.If, 0f, "IsJumping");
idleToJump.AddCondition(AnimatorConditionMode.IfNot, 0f, "IsGrounded");
var moveToJump = move.AddTransition(jumpBeginState);
moveToJump.hasExitTime = false;
moveToJump.duration = 0.05f;
moveToJump.AddCondition(AnimatorConditionMode.If, 0f, "IsJumping");
moveToJump.AddCondition(AnimatorConditionMode.IfNot, 0f, "IsGrounded");
if (crouch != null)
{
var crouchToJump = crouch.AddTransition(jumpBeginState);
crouchToJump.hasExitTime = false;
crouchToJump.duration = 0.05f;
crouchToJump.AddCondition(AnimatorConditionMode.If, 0f, "IsJumping");
crouchToJump.AddCondition(AnimatorConditionMode.IfNot, 0f, "IsGrounded");
}
// Jump Begin -> Jump Fall (automatic after animation)
var jumpBeginToFall = jumpBeginState.AddTransition(jumpFallState);
@@ -330,10 +348,11 @@ namespace MegaKoop.Game.EditorExtensions
controller.AddParameter("MoveX", AnimatorControllerParameterType.Float);
controller.AddParameter("MoveZ", AnimatorControllerParameterType.Float);
controller.AddParameter("Speed", AnimatorControllerParameterType.Float);
controller.AddParameter("MoveSpeedNormalized", AnimatorControllerParameterType.Float);
controller.AddParameter("IsGrounded", AnimatorControllerParameterType.Bool);
controller.AddParameter("IsCrouching", AnimatorControllerParameterType.Bool);
controller.AddParameter("IsDead", AnimatorControllerParameterType.Bool);
controller.AddParameter("Jump", AnimatorControllerParameterType.Trigger);
controller.AddParameter("IsJumping", AnimatorControllerParameterType.Bool);
}
private Motion CreateMoveBlendTree(AnimatorController controller)

View File

@@ -734,6 +734,9 @@ MonoBehaviour:
gravity: -20
groundedGravity: -5
cameraTransform: {fileID: 6707832248248563092}
animator: {fileID: 9099213046038254594}
animationDamping: 0.075
crouchKey: 306
--- !u!114 &710593002191720509
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -939,7 +942,7 @@ MonoBehaviour:
m_EditorClassIdentifier: Assembly-CSharp::MegaKoop.Game.Networking.SteamLocalInputSender
characterNetwork: {fileID: 8235037133905039757}
sendInterval: 0.05
cameraTransform: {fileID: 0}
cameraTransform: {fileID: 6707832248248563092}
--- !u!114 &3442404066554451922
MonoBehaviour:
m_ObjectHideFlags: 0

View File

@@ -1947,8 +1947,12 @@ MonoBehaviour:
rotationSharpness: 15
airControlResponsiveness: 60
jumpHeight: 1.6
gravity: -1
gravity: -10
groundedGravity: -0.01
jumpBufferTime: 0.1
coyoteTime: 0.1
upwardGravityMultiplier: 1
fallGravityMultiplier: 10
cameraTransform: {fileID: 266386425542752718}
animator: {fileID: 3962868364137827229}
animationDamping: 0.075

View File

@@ -17,6 +17,10 @@ namespace MegaKoop.Game
[SerializeField] private float jumpHeight = 1.6f;
[SerializeField] private float gravity = -20f;
[SerializeField] private float groundedGravity = -5f;
[SerializeField, Range(0f, 0.3f)] private float jumpBufferTime = 0.1f;
[SerializeField, Range(0f, 0.3f)] private float coyoteTime = 0.1f;
[SerializeField, Min(0.5f)] private float upwardGravityMultiplier = 1f;
[SerializeField, Min(1f)] private float fallGravityMultiplier = 2.5f;
[Header("Camera Reference")]
[SerializeField] private Transform cameraTransform;
@@ -32,16 +36,20 @@ namespace MegaKoop.Game
private bool isGrounded;
private bool lastGrounded;
private bool isDead;
private bool isJumping;
private MegaKoop.Game.Networking.ICharacterInputSource inputSource;
private float lastJumpPressedTime = float.NegativeInfinity;
private float lastTimeGrounded = float.NegativeInfinity;
// Animator parameter hashes
private int hashMoveX;
private int hashMoveZ;
private int hashSpeed;
private int hashMoveSpeedNormalized;
private int hashIsGrounded;
private int hashIsCrouching;
private int hashIsDead;
private int hashJump;
private int hashIsJumping;
private bool animatorHashesInitialized;
private void Reset()
@@ -86,6 +94,8 @@ namespace MegaKoop.Game
InitializeAnimatorHashes();
Vector2 moveInput = ReadMovementInput();
TrackJumpInput();
Vector3 desiredMove = CalculateDesiredMove(moveInput);
bool hasMoveInput = desiredMove.sqrMagnitude > 0f;
@@ -192,39 +202,65 @@ namespace MegaKoop.Game
private void UpdateGroundedStateBeforeGravity()
{
if (isGrounded && verticalVelocity < 0f)
if (isGrounded)
{
verticalVelocity = groundedGravity;
lastTimeGrounded = Time.time;
}
}
private void HandleJumpInput()
{
if (!isGrounded)
bool bufferedJump = Time.time - lastJumpPressedTime <= jumpBufferTime;
bool coyoteAvailable = Time.time - lastTimeGrounded <= coyoteTime;
if (!bufferedJump)
{
return;
}
if (ShouldJumpThisFrame())
if (isGrounded || coyoteAvailable)
{
verticalVelocity = Mathf.Sqrt(jumpHeight * -2f * gravity);
isGrounded = false;
isJumping = true;
lastJumpPressedTime = float.NegativeInfinity;
}
}
private bool ShouldJumpThisFrame()
private void TrackJumpInput()
{
bool jumpPressed = false;
if (inputSource != null)
{
return inputSource.JumpPressed;
jumpPressed = inputSource.JumpPressed;
}
else if (Input.GetButtonDown("Jump"))
{
jumpPressed = true;
}
return Input.GetButtonDown("Jump");
if (jumpPressed)
{
lastJumpPressedTime = Time.time;
}
}
private void ApplyGravity()
{
verticalVelocity += gravity * Time.deltaTime;
float gravityMultiplier = verticalVelocity > 0f ? upwardGravityMultiplier : fallGravityMultiplier;
float currentGravity = gravity * gravityMultiplier;
if (isGrounded && verticalVelocity < 0f)
{
verticalVelocity = groundedGravity;
lastTimeGrounded = Time.time;
isJumping = false;
}
else
{
verticalVelocity += currentGravity * Time.deltaTime;
}
}
private void UpdateAnimator()
@@ -241,24 +277,21 @@ namespace MegaKoop.Game
float denom = Mathf.Max(0.01f, moveSpeed);
float moveX = Mathf.Clamp(localVelocity.x / denom, -1f, 1f);
float moveZ = Mathf.Clamp(localVelocity.z / denom, -1f, 1f);
float normalizedSpeed = Mathf.Clamp01(speed / moveSpeed);
// Update animator parameters
animator.SetFloat(hashSpeed, speed);
animator.SetFloat(hashMoveSpeedNormalized, normalizedSpeed);
animator.SetFloat(hashMoveX, moveX, animationDamping, Time.deltaTime);
animator.SetFloat(hashMoveZ, moveZ, animationDamping, Time.deltaTime);
animator.SetBool(hashIsGrounded, isGrounded);
animator.SetBool(hashIsJumping, isJumping);
// Crouch input (currently only supports local input, can be extended via inputSource)
bool isCrouching = !isDead && Input.GetKey(crouchKey);
animator.SetBool(hashIsCrouching, isCrouching);
// Jump trigger - when leaving ground with upward velocity
if (lastGrounded && !isGrounded && verticalVelocity > 0.1f)
{
animator.ResetTrigger(hashJump);
animator.SetTrigger(hashJump);
}
animator.SetBool(hashIsDead, isDead);
lastGrounded = isGrounded;
}
@@ -283,6 +316,10 @@ namespace MegaKoop.Game
gravity = Mathf.Min(-0.01f, gravity);
groundedGravity = Mathf.Clamp(groundedGravity, gravity, 0f);
animationDamping = Mathf.Max(0f, animationDamping);
jumpBufferTime = Mathf.Clamp(jumpBufferTime, 0f, 0.3f);
coyoteTime = Mathf.Clamp(coyoteTime, 0f, 0.3f);
upwardGravityMultiplier = Mathf.Max(0.5f, upwardGravityMultiplier);
fallGravityMultiplier = Mathf.Max(1f, fallGravityMultiplier);
EnsureAnimatorReference();
InitializeAnimatorHashes();
}
@@ -309,7 +346,8 @@ namespace MegaKoop.Game
hashIsGrounded = Animator.StringToHash("IsGrounded");
hashIsCrouching = Animator.StringToHash("IsCrouching");
hashIsDead = Animator.StringToHash("IsDead");
hashJump = Animator.StringToHash("Jump");
hashIsJumping = Animator.StringToHash("IsJumping");
hashMoveSpeedNormalized = Animator.StringToHash("MoveSpeedNormalized");
animatorHashesInitialized = true;
}
}

View File

@@ -1,6 +1,34 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1101 &-8653239217332838315
--- !u!1102 &-9159441798702175618
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Jump Land
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: 3313327580545924896}
- {fileID: 1851180482452469980}
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: 3094330708855449807, guid: c969c57136eab8b48b882fdc45e975c4, type: 3}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1101 &-5633800869693003173
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
@@ -15,7 +43,7 @@ AnimatorStateTransition:
m_ConditionEvent: Speed
m_EventTreshold: 0.1
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 2133809347797768411}
m_DstState: {fileID: 5754690394921863263}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
@@ -28,34 +56,116 @@ AnimatorStateTransition:
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &-8501351176590210390
--- !u!1101 &-5481894409494695167
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 2
m_ConditionEvent: IsCrouching
m_EventTreshold: 0
- m_ConditionMode: 3
m_ConditionEvent: Speed
m_EventTreshold: 0.1
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -4140020287260570153}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.1
m_TransitionOffset: 0
m_ExitTime: 0.9
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &-4182145420113595913
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 4
m_ConditionEvent: Speed
m_EventTreshold: 0.1
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 5754690394921863263}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.1
m_TransitionOffset: 0
m_ExitTime: 0.9
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &-4140020287260570153
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Jump Begin
m_Name: Move
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: 6106028750639478370}
- {fileID: -4182145420113595913}
- {fileID: 3230187453778429532}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
m_WriteDefaultValues: 1
m_Mirror: 0
m_SpeedParameterActive: 0
m_SpeedParameterActive: 1
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 3094330708855449807, guid: b1844fbe628f5bf4ab29e6c68912a708, type: 3}
m_Motion: {fileID: 1645608330671036843}
m_Tag:
m_SpeedParameter:
m_SpeedParameter: MoveSpeedNormalized
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &-6354293237005665956
--- !u!1101 &-2863568448335919091
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: IsJumping
m_EventTreshold: 0
- m_ConditionMode: 2
m_ConditionEvent: IsGrounded
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 7993235720092425232}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.05
m_TransitionOffset: 0
m_ExitTime: 0.9
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &-1553988547846161377
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
@@ -81,43 +191,20 @@ AnimatorState:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1101 &-4096702130486027139
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 4
m_ConditionEvent: Speed
m_EventTreshold: 0.1
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 2133809347797768411}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.1
m_TransitionOffset: 0
m_ExitTime: 0.9
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &-3837842955075777776
--- !u!1102 &-1281127197651375096
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Move
m_Name: Crouch
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: -4096702130486027139}
- {fileID: -5633800869693003173}
- {fileID: -5481894409494695167}
- {fileID: -2863568448335919091}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
@@ -127,12 +214,37 @@ AnimatorState:
m_MirrorParameterActive: 0
m_CycleOffsetParameterActive: 0
m_TimeParameterActive: 0
m_Motion: {fileID: 7292886750186029930}
m_Motion: {fileID: 3094330708855449807, guid: aa30e50360fde394fb96e9e6c0ba8e18, type: 3}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1101 &-1175380347819888189
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: IsGrounded
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -9159441798702175618}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.05
m_TransitionOffset: 0
m_ExitTime: 0.9
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!91 &9100000
AnimatorController:
m_ObjectHideFlags: 0
@@ -160,6 +272,12 @@ AnimatorController:
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 9100000}
- m_Name: MoveSpeedNormalized
m_Type: 1
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 9100000}
- m_Name: IsGrounded
m_Type: 4
m_DefaultFloat: 0
@@ -178,8 +296,8 @@ AnimatorController:
m_DefaultInt: 0
m_DefaultBool: 0
m_Controller: {fileID: 9100000}
- m_Name: Jump
m_Type: 9
- m_Name: IsJumping
m_Type: 4
m_DefaultFloat: 0
m_DefaultInt: 0
m_DefaultBool: 0
@@ -187,7 +305,7 @@ AnimatorController:
m_AnimatorLayers:
- serializedVersion: 5
m_Name: Base Layer
m_StateMachine: {fileID: 456980109897493105}
m_StateMachine: {fileID: 8917191963327386668}
m_Mask: {fileID: 0}
m_Motions: []
m_Behaviours: []
@@ -197,105 +315,7 @@ AnimatorController:
m_IKPass: 0
m_SyncedLayerAffectsTiming: 0
m_Controller: {fileID: 9100000}
--- !u!1102 &429358291008205178
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Jump Land
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: 6017886512958357952}
- {fileID: 9219489292818365840}
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: 3094330708855449807, guid: c969c57136eab8b48b882fdc45e975c4, type: 3}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1107 &456980109897493105
AnimatorStateMachine:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Base Layer
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: 2133809347797768411}
m_Position: {x: 250, y: 50, z: 0}
- serializedVersion: 1
m_State: {fileID: -3837842955075777776}
m_Position: {x: 250, y: 150, z: 0}
- serializedVersion: 1
m_State: {fileID: 3657533443322484474}
m_Position: {x: 250, y: 250, z: 0}
- serializedVersion: 1
m_State: {fileID: -8501351176590210390}
m_Position: {x: 500, y: 50, z: 0}
- serializedVersion: 1
m_State: {fileID: 4880998032211746345}
m_Position: {x: 500, y: 150, z: 0}
- serializedVersion: 1
m_State: {fileID: 429358291008205178}
m_Position: {x: 500, y: 250, z: 0}
- serializedVersion: 1
m_State: {fileID: -6354293237005665956}
m_Position: {x: 250, y: 350, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions:
- {fileID: 9054913250047092416}
- {fileID: 7541083490971539274}
- {fileID: 8366131237598160117}
m_EntryTransitions: []
m_StateMachineTransitions: {}
m_StateMachineBehaviours: []
m_AnyStatePosition: {x: 50, y: 20, z: 0}
m_EntryPosition: {x: 50, y: 120, z: 0}
m_ExitPosition: {x: 800, y: 120, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: 2133809347797768411}
--- !u!1102 &2133809347797768411
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Idle
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: 9167710540657582094}
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: -2576967968662016515, guid: 56fd86b76fc74d24d83522069f5deb9b, type: 3}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1101 &3448741829527053982
--- !u!1101 &254728727500707171
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
@@ -304,10 +324,38 @@ AnimatorStateTransition:
m_Name:
m_Conditions:
- m_ConditionMode: 1
m_ConditionEvent: IsCrouching
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -1281127197651375096}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.1
m_TransitionOffset: 0
m_ExitTime: 0.75
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &461524094991714154
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: IsJumping
m_EventTreshold: 0
- m_ConditionMode: 2
m_ConditionEvent: IsGrounded
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 429358291008205178}
m_DstState: {fileID: 7993235720092425232}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
@@ -320,35 +368,7 @@ AnimatorStateTransition:
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &3657533443322484474
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Crouch
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: -8653239217332838315}
- {fileID: 5152896216695493134}
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: 3094330708855449807, guid: aa30e50360fde394fb96e9e6c0ba8e18, type: 3}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &4880998032211746345
--- !u!1102 &861509553362583957
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
@@ -359,7 +379,7 @@ AnimatorState:
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: 3448741829527053982}
- {fileID: -1175380347819888189}
m_StateMachineBehaviours: []
m_Position: {x: 50, y: 50, z: 0}
m_IKOnFeet: 0
@@ -375,82 +395,7 @@ AnimatorState:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1101 &5152896216695493134
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 2
m_ConditionEvent: IsCrouching
m_EventTreshold: 0
- m_ConditionMode: 3
m_ConditionEvent: Speed
m_EventTreshold: 0.1
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -3837842955075777776}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.1
m_TransitionOffset: 0
m_ExitTime: 0.9
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &6017886512958357952
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 4
m_ConditionEvent: Speed
m_EventTreshold: 0.1
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 2133809347797768411}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.1
m_TransitionOffset: 0
m_ExitTime: 0.7
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &6106028750639478370
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: 4880998032211746345}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.05
m_TransitionOffset: 0
m_ExitTime: 0.8
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!206 &7292886750186029930
--- !u!206 &1645608330671036843
BlendTree:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@@ -529,82 +474,7 @@ BlendTree:
m_UseAutomaticThresholds: 0
m_NormalizedBlendValues: 0
m_BlendType: 3
--- !u!1101 &7541083490971539274
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: Jump
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -8501351176590210390}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.05
m_TransitionOffset: 0
m_ExitTime: 0.75
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 0
--- !u!1101 &8366131237598160117
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: IsDead
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -6354293237005665956}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.2
m_TransitionOffset: 0
m_ExitTime: 0.75
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &9054913250047092416
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: IsCrouching
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 3657533443322484474}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.1
m_TransitionOffset: 0
m_ExitTime: 0.75
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &9167710540657582094
--- !u!1101 &1851180482452469980
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
@@ -616,32 +486,7 @@ AnimatorStateTransition:
m_ConditionEvent: Speed
m_EventTreshold: 0.1
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -3837842955075777776}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.1
m_TransitionOffset: 0
m_ExitTime: 0.9
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &9219489292818365840
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 3
m_ConditionEvent: Speed
m_EventTreshold: 0.1
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -3837842955075777776}
m_DstState: {fileID: -4140020287260570153}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
@@ -654,3 +499,225 @@ AnimatorStateTransition:
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &3230187453778429532
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: IsJumping
m_EventTreshold: 0
- m_ConditionMode: 2
m_ConditionEvent: IsGrounded
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 7993235720092425232}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.05
m_TransitionOffset: 0
m_ExitTime: 0.9
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &3313327580545924896
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 4
m_ConditionEvent: Speed
m_EventTreshold: 0.1
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: 5754690394921863263}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.1
m_TransitionOffset: 0
m_ExitTime: 0.7
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &5754690394921863263
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Idle
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: 6463146362643610033}
- {fileID: 461524094991714154}
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: -2576967968662016515, guid: 56fd86b76fc74d24d83522069f5deb9b, type: 3}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1101 &6463146362643610033
AnimatorStateTransition:
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_Conditions:
- m_ConditionMode: 3
m_ConditionEvent: Speed
m_EventTreshold: 0.1
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -4140020287260570153}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.1
m_TransitionOffset: 0
m_ExitTime: 0.9
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1102 &7993235720092425232
AnimatorState:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Jump Begin
m_Speed: 1
m_CycleOffset: 0
m_Transitions:
- {fileID: 8546449291118487461}
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: 3094330708855449807, guid: b1844fbe628f5bf4ab29e6c68912a708, type: 3}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1101 &8415669427978378661
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: IsDead
m_EventTreshold: 0
m_DstStateMachine: {fileID: 0}
m_DstState: {fileID: -1553988547846161377}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.2
m_TransitionOffset: 0
m_ExitTime: 0.75
m_HasExitTime: 0
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1101 &8546449291118487461
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: 861509553362583957}
m_Solo: 0
m_Mute: 0
m_IsExit: 0
serializedVersion: 3
m_TransitionDuration: 0.05
m_TransitionOffset: 0
m_ExitTime: 0.8
m_HasExitTime: 1
m_HasFixedDuration: 1
m_InterruptionSource: 0
m_OrderedInterruption: 1
m_CanTransitionToSelf: 1
--- !u!1107 &8917191963327386668
AnimatorStateMachine:
serializedVersion: 6
m_ObjectHideFlags: 1
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Base Layer
m_ChildStates:
- serializedVersion: 1
m_State: {fileID: 5754690394921863263}
m_Position: {x: 250, y: 50, z: 0}
- serializedVersion: 1
m_State: {fileID: -4140020287260570153}
m_Position: {x: 250, y: 150, z: 0}
- serializedVersion: 1
m_State: {fileID: -1281127197651375096}
m_Position: {x: 250, y: 250, z: 0}
- serializedVersion: 1
m_State: {fileID: 7993235720092425232}
m_Position: {x: 500, y: 50, z: 0}
- serializedVersion: 1
m_State: {fileID: 861509553362583957}
m_Position: {x: 500, y: 150, z: 0}
- serializedVersion: 1
m_State: {fileID: -9159441798702175618}
m_Position: {x: 500, y: 250, z: 0}
- serializedVersion: 1
m_State: {fileID: -1553988547846161377}
m_Position: {x: 250, y: 350, z: 0}
m_ChildStateMachines: []
m_AnyStateTransitions:
- {fileID: 254728727500707171}
- {fileID: 8415669427978378661}
m_EntryTransitions: []
m_StateMachineTransitions: {}
m_StateMachineBehaviours: []
m_AnyStatePosition: {x: 50, y: 20, z: 0}
m_EntryPosition: {x: 50, y: 120, z: 0}
m_ExitPosition: {x: 800, y: 120, z: 0}
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
m_DefaultState: {fileID: 5754690394921863263}

File diff suppressed because one or more lines are too long