From 9d68af52448775811b0634314eddcd44623fde88 Mon Sep 17 00:00:00 2001 From: Vova Date: Mon, 10 Jul 2023 18:53:38 +0300 Subject: [PATCH] Movement is much better --- Assets/Animations/Player.controller | 173 +++++++--------- Assets/Scenes/SampleScene.unity | 4 +- Assets/Scenes/Test.unity | 305 +++++++++++++++++++++++++++- Assets/Scripts/Character.cs | 25 +-- 4 files changed, 387 insertions(+), 120 deletions(-) diff --git a/Assets/Animations/Player.controller b/Assets/Animations/Player.controller index a3b068e..ef2ecc5 100644 --- a/Assets/Animations/Player.controller +++ b/Assets/Animations/Player.controller @@ -59,7 +59,10 @@ AnimatorState: m_Name: Idle m_Speed: 1 m_CycleOffset: 0 - m_Transitions: [] + m_Transitions: + - {fileID: -7131451624850460235} + - {fileID: -4801324025412739620} + - {fileID: 2056430569369843266} m_StateMachineBehaviours: [] m_Position: {x: 50, y: 50, z: 0} m_IKOnFeet: 0 @@ -75,6 +78,31 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: +--- !u!1101 &-7131451624850460235 +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: Body_Walk + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: -8721553355552428637} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.875 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1101 &-6401425284554790374 AnimatorStateTransition: m_ObjectHideFlags: 1 @@ -100,6 +128,31 @@ AnimatorStateTransition: m_InterruptionSource: 0 m_OrderedInterruption: 1 m_CanTransitionToSelf: 0 +--- !u!1101 &-4801324025412739620 +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: Body_ThrowHammer + m_EventTreshold: 0 + m_DstStateMachine: {fileID: 0} + m_DstState: {fileID: 5948011480812328800} + m_Solo: 0 + m_Mute: 0 + m_IsExit: 0 + serializedVersion: 3 + m_TransitionDuration: 0.25 + m_TransitionOffset: 0 + m_ExitTime: 0.875 + m_HasExitTime: 0 + m_HasFixedDuration: 1 + m_InterruptionSource: 0 + m_OrderedInterruption: 1 + m_CanTransitionToSelf: 1 --- !u!1101 &-2992011771227686150 AnimatorStateTransition: m_ObjectHideFlags: 1 @@ -149,31 +202,6 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: ---- !u!1101 &-2539523418330037891 -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: Climb - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: -2656673392868499701} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0.25 - m_TransitionOffset: 0 - m_ExitTime: 0.75 - m_HasExitTime: 0 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 0 --- !u!1107 &-2368883651481428904 AnimatorStateMachine: serializedVersion: 6 @@ -188,25 +216,21 @@ AnimatorStateMachine: m_Position: {x: 170, y: 70, z: 0} - serializedVersion: 1 m_State: {fileID: -7806160175022390470} - m_Position: {x: -20, y: 320, z: 0} + m_Position: {x: 140, y: 310, z: 0} - serializedVersion: 1 m_State: {fileID: -8721553355552428637} - m_Position: {x: 490, y: 220, z: 0} + m_Position: {x: 540, y: 230, z: 0} - serializedVersion: 1 m_State: {fileID: 5948011480812328800} - m_Position: {x: 500, y: 340, z: 0} + m_Position: {x: 610, y: 350, z: 0} m_ChildStateMachines: [] - m_AnyStateTransitions: - - {fileID: 1280296965867937551} - - {fileID: 425514990500687967} - - {fileID: 7069537430626152372} - - {fileID: -2539523418330037891} + m_AnyStateTransitions: [] m_EntryTransitions: [] m_StateMachineTransitions: {} m_StateMachineBehaviours: [] - m_AnyStatePosition: {x: 160, y: 400, z: 0} - m_EntryPosition: {x: 90, y: 280, z: 0} - m_ExitPosition: {x: 420, y: 420, z: 0} + m_AnyStatePosition: {x: 180, y: 470, z: 0} + m_EntryPosition: {x: -130, y: 450, z: 0} + m_ExitPosition: {x: 640, y: 460, z: 0} m_ParentStateMachinePosition: {x: 800, y: 20, z: 0} m_DefaultState: {fileID: -7806160175022390470} --- !u!1107 &-1905273286904407067 @@ -243,7 +267,10 @@ AnimatorStateTransition: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: - m_Conditions: [] + m_Conditions: + - m_ConditionMode: 2 + m_ConditionEvent: Legs_Walk + m_EventTreshold: 0 m_DstStateMachine: {fileID: 0} m_DstState: {fileID: 8401539318113215908} m_Solo: 0 @@ -253,7 +280,7 @@ AnimatorStateTransition: m_TransitionDuration: 0.25 m_TransitionOffset: 0 m_ExitTime: 0.6666666 - m_HasExitTime: 1 + m_HasExitTime: 0 m_HasFixedDuration: 1 m_InterruptionSource: 0 m_OrderedInterruption: 1 @@ -265,7 +292,10 @@ AnimatorStateTransition: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: - m_Conditions: [] + m_Conditions: + - m_ConditionMode: 2 + m_ConditionEvent: Climb + m_EventTreshold: 0 m_DstStateMachine: {fileID: 0} m_DstState: {fileID: -7806160175022390470} m_Solo: 0 @@ -275,7 +305,7 @@ AnimatorStateTransition: m_TransitionDuration: 0.25 m_TransitionOffset: 0 m_ExitTime: 0.6666666 - m_HasExitTime: 1 + m_HasExitTime: 0 m_HasFixedDuration: 1 m_InterruptionSource: 0 m_OrderedInterruption: 1 @@ -293,7 +323,7 @@ AnimatorController: m_Type: 4 m_DefaultFloat: 0 m_DefaultInt: 0 - m_DefaultBool: 1 + m_DefaultBool: 0 m_Controller: {fileID: 0} - m_Name: Legs_Walk m_Type: 4 @@ -338,7 +368,7 @@ AnimatorController: m_IKPass: 0 m_SyncedLayerAffectsTiming: 0 m_Controller: {fileID: 9100000} ---- !u!1101 &425514990500687967 +--- !u!1101 &2056430569369843266 AnimatorStateTransition: m_ObjectHideFlags: 1 m_CorrespondingSourceObject: {fileID: 0} @@ -347,44 +377,22 @@ AnimatorStateTransition: m_Name: m_Conditions: - m_ConditionMode: 1 - m_ConditionEvent: Body_Walk + m_ConditionEvent: Climb m_EventTreshold: 0 m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: -8721553355552428637} + m_DstState: {fileID: -2656673392868499701} m_Solo: 0 m_Mute: 0 m_IsExit: 0 serializedVersion: 3 - m_TransitionDuration: 0 + m_TransitionDuration: 0.25 m_TransitionOffset: 0 - m_ExitTime: 0.000000001595634 + m_ExitTime: 0.875 m_HasExitTime: 1 m_HasFixedDuration: 1 m_InterruptionSource: 0 m_OrderedInterruption: 1 - m_CanTransitionToSelf: 0 ---- !u!1101 &1280296965867937551 -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: -7806160175022390470} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0 - m_TransitionOffset: 0 - m_ExitTime: 0.0000000065884236 - m_HasExitTime: 1 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 0 + m_CanTransitionToSelf: 1 --- !u!1102 &5948011480812328800 AnimatorState: serializedVersion: 6 @@ -412,31 +420,6 @@ AnimatorState: m_MirrorParameter: m_CycleOffsetParameter: m_TimeParameter: ---- !u!1101 &7069537430626152372 -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: Body_ThrowHammer - m_EventTreshold: 0 - m_DstStateMachine: {fileID: 0} - m_DstState: {fileID: 5948011480812328800} - m_Solo: 0 - m_Mute: 0 - m_IsExit: 0 - serializedVersion: 3 - m_TransitionDuration: 0 - m_TransitionOffset: 0 - m_ExitTime: 0.0000000030368514 - m_HasExitTime: 1 - m_HasFixedDuration: 1 - m_InterruptionSource: 0 - m_OrderedInterruption: 1 - m_CanTransitionToSelf: 0 --- !u!1101 &7829263994894864135 AnimatorStateTransition: m_ObjectHideFlags: 1 diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index 0191c3f..1cca812 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -2113,7 +2113,7 @@ CompositeCollider2D: m_UsedByEffector: 0 m_UsedByComposite: 0 m_Offset: {x: 0, y: 0} - m_GeometryType: 0 + m_GeometryType: 1 m_GenerationType: 0 m_EdgeRadius: 0 m_ColliderPaths: @@ -4959,7 +4959,7 @@ CompositeCollider2D: m_UsedByEffector: 0 m_UsedByComposite: 0 m_Offset: {x: 0, y: 0} - m_GeometryType: 0 + m_GeometryType: 1 m_GenerationType: 0 m_EdgeRadius: 0 m_ColliderPaths: diff --git a/Assets/Scenes/Test.unity b/Assets/Scenes/Test.unity index b09bbd1..6c02267 100644 --- a/Assets/Scenes/Test.unity +++ b/Assets/Scenes/Test.unity @@ -179,7 +179,7 @@ CompositeCollider2D: m_UsedByEffector: 0 m_UsedByComposite: 0 m_Offset: {x: 0, y: 0} - m_GeometryType: 0 + m_GeometryType: 1 m_GenerationType: 0 m_EdgeRadius: 0 m_ColliderPaths: @@ -1371,14 +1371,309 @@ Transform: m_ConstrainProportionsScale: 0 m_Children: - {fileID: 276473129} + - {fileID: 801411103} + - {fileID: 665691621} m_Father: {fileID: 0} - m_RootOrder: 2 + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!4 &619094828 stripped Transform: m_CorrespondingSourceObject: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} m_PrefabInstance: {fileID: 871569242} m_PrefabAsset: {fileID: 0} +--- !u!1 &665691620 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 665691621} + - component: {fileID: 665691625} + - component: {fileID: 665691624} + - component: {fileID: 665691623} + - component: {fileID: 665691622} + m_Layer: 3 + m_Name: Ladders + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &665691621 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 665691620} + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 617249160} + m_RootOrder: -1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &665691622 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 665691620} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: edf40d39eadb17a4ebb0368b3ac5399a, type: 3} + m_Name: + m_EditorClassIdentifier: + _elementSO: {fileID: 11400000, guid: 8a480e639bc6f0c44815c3b3dd16e0aa, type: 2} +--- !u!19719996 &665691623 +TilemapCollider2D: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 665691620} + m_Enabled: 1 + m_Density: 1 + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_ForceSendLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ForceReceiveLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_ContactCaptureLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_CallbackLayers: + serializedVersion: 2 + m_Bits: 4294967295 + m_IsTrigger: 1 + m_UsedByEffector: 0 + m_UsedByComposite: 0 + m_Offset: {x: 0, y: 0} + m_MaximumTileChangeCount: 1000 + m_ExtrusionFactor: 0.00001 + m_UseDelaunayMesh: 0 +--- !u!483693784 &665691624 +TilemapRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 665691620} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_RayTracingMode: 0 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a97c105638bdf8b4a8650670310a4cd3, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 0 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: -133646357 + m_SortingLayer: 2 + m_SortingOrder: 0 + m_ChunkSize: {x: 32, y: 32, z: 32} + m_ChunkCullingBounds: {x: 0.0153846145, y: 0.007692337, z: 0} + m_MaxChunkCount: 16 + m_MaxFrameAge: 16 + m_SortOrder: 0 + m_Mode: 0 + m_DetectChunkCullingBounds: 0 + m_MaskInteraction: 0 +--- !u!1839735485 &665691625 +Tilemap: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 665691620} + m_Enabled: 1 + m_Tiles: + - first: {x: -2, y: -5, z: 0} + second: + serializedVersion: 2 + m_TileIndex: 5 + m_TileSpriteIndex: 4 + m_TileMatrixIndex: 0 + m_TileColorIndex: 0 + m_TileObjectToInstantiateIndex: 65535 + dummyAlignment: 0 + m_AllTileFlags: 1073741825 + - first: {x: -2, y: -4, z: 0} + second: + serializedVersion: 2 + m_TileIndex: 5 + m_TileSpriteIndex: 4 + m_TileMatrixIndex: 0 + m_TileColorIndex: 0 + m_TileObjectToInstantiateIndex: 65535 + dummyAlignment: 0 + m_AllTileFlags: 1073741825 + - first: {x: -2, y: -3, z: 0} + second: + serializedVersion: 2 + m_TileIndex: 5 + m_TileSpriteIndex: 4 + m_TileMatrixIndex: 0 + m_TileColorIndex: 0 + m_TileObjectToInstantiateIndex: 65535 + dummyAlignment: 0 + m_AllTileFlags: 1073741825 + - first: {x: -2, y: -2, z: 0} + second: + serializedVersion: 2 + m_TileIndex: 5 + m_TileSpriteIndex: 4 + m_TileMatrixIndex: 0 + m_TileColorIndex: 0 + m_TileObjectToInstantiateIndex: 65535 + dummyAlignment: 0 + m_AllTileFlags: 1073741825 + - first: {x: -8, y: -1, z: 0} + second: + serializedVersion: 2 + m_TileIndex: 5 + m_TileSpriteIndex: 4 + m_TileMatrixIndex: 0 + m_TileColorIndex: 0 + m_TileObjectToInstantiateIndex: 65535 + dummyAlignment: 0 + m_AllTileFlags: 1073741825 + - first: {x: -8, y: 0, z: 0} + second: + serializedVersion: 2 + m_TileIndex: 5 + m_TileSpriteIndex: 4 + m_TileMatrixIndex: 0 + m_TileColorIndex: 0 + m_TileObjectToInstantiateIndex: 65535 + dummyAlignment: 0 + m_AllTileFlags: 1073741825 + - first: {x: -8, y: 1, z: 0} + second: + serializedVersion: 2 + m_TileIndex: 5 + m_TileSpriteIndex: 4 + m_TileMatrixIndex: 0 + m_TileColorIndex: 0 + m_TileObjectToInstantiateIndex: 65535 + dummyAlignment: 0 + m_AllTileFlags: 1073741825 + - first: {x: -8, y: 2, z: 0} + second: + serializedVersion: 2 + m_TileIndex: 5 + m_TileSpriteIndex: 4 + m_TileMatrixIndex: 0 + m_TileColorIndex: 0 + m_TileObjectToInstantiateIndex: 65535 + dummyAlignment: 0 + m_AllTileFlags: 1073741825 + m_AnimatedTiles: {} + m_TileAssetArray: + - m_RefCount: 0 + m_Data: {fileID: 0} + - m_RefCount: 0 + m_Data: {fileID: 0} + - m_RefCount: 0 + m_Data: {fileID: 0} + - m_RefCount: 0 + m_Data: {fileID: 0} + - m_RefCount: 0 + m_Data: {fileID: 0} + - m_RefCount: 8 + m_Data: {fileID: 11400000, guid: a01b3ed4763b6b948ad3cc337953ba62, type: 2} + m_TileSpriteArray: + - m_RefCount: 0 + m_Data: {fileID: 0} + - m_RefCount: 0 + m_Data: {fileID: 0} + - m_RefCount: 0 + m_Data: {fileID: 0} + - m_RefCount: 0 + m_Data: {fileID: 0} + - m_RefCount: 8 + m_Data: {fileID: -974747892, guid: 7c2d6acd22d2d0c40b84d99967afb42a, type: 3} + m_TileMatrixArray: + - m_RefCount: 8 + m_Data: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_TileColorArray: + - m_RefCount: 8 + m_Data: {r: 1, g: 1, b: 1, a: 1} + m_TileObjectToInstantiateArray: [] + m_AnimationFrameRate: 1 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Origin: {x: -11, y: -10, z: 0} + m_Size: {x: 28, y: 19, z: 1} + m_TileAnchor: {x: 0.5, y: 0.5, z: 0} + m_TileOrientation: 0 + m_TileOrientationMatrix: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 --- !u!4 &678844054 stripped Transform: m_CorrespondingSourceObject: {fileID: 7345322822309755345, guid: 3d1aa56cd139405448c73b1385177b04, type: 3} @@ -1428,8 +1723,8 @@ Transform: - {fileID: 1022517336} - {fileID: 678844054} - {fileID: 2134400060} - m_Father: {fileID: 0} - m_RootOrder: 1 + m_Father: {fileID: 617249160} + m_RootOrder: -1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1001 &871569242 PrefabInstance: @@ -2123,7 +2418,7 @@ Transform: - {fileID: 2142254919} - {fileID: 1923000538} m_Father: {fileID: 0} - m_RootOrder: 3 + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!4 &2133847487 stripped Transform: diff --git a/Assets/Scripts/Character.cs b/Assets/Scripts/Character.cs index 6c9d8ca..7c41011 100644 --- a/Assets/Scripts/Character.cs +++ b/Assets/Scripts/Character.cs @@ -40,8 +40,7 @@ public abstract class Character : MonoBehaviour _isOnBridge = mapElement == MapElementType.Bridge && !_isFalling; - if (mapElement == MapElementType.Wall) - //|| _isOnLadder || _isOnBridge || mapElement == MapElementType.BreakableWall) + if (mapElement == MapElementType.Wall || _isOnLadder || _isOnBridge || mapElement == MapElementType.BreakableWall) { var leftCheck = GetMapElement(Vector2.left); var rightCheck = GetMapElement(Vector2.right); @@ -60,29 +59,19 @@ public abstract class Character : MonoBehaviour SetWalkingAnimation(h_movement != 0); - _isOnLadder =leftCheck == MapElementType.Ladder && rightCheck== MapElementType.Ladder; + _isOnLadder = leftCheck == MapElementType.Ladder && rightCheck == MapElementType.Ladder; if (leftCheck == MapElementType.Ladder && rightCheck == MapElementType.Ladder) { float v_movement = inputVertical; - print($"On ladder v_speed {v_movement}"); isAllowVertical = true; - if (v_movement != 0) - { - //if (v_movement > 0 && mapElement != MapElementType.Ladder) - //{ - // v_movement = 0; - //} - - SetClimbingAnimation(v_movement != 0); - } + SetClimbingAnimation(v_movement != 0); _body.velocity = new Vector2(h_movement * MovementSpeed, v_movement * MovementSpeed); } else { - print("On ground"); _body.velocity = new Vector2(h_movement * MovementSpeed, _body.velocity.y); } } @@ -117,13 +106,13 @@ public abstract class Character : MonoBehaviour private MapElementType GetMapElement(Vector2 direction) { Vector2 rayStartPoint; - if (direction==Vector2.down) - rayStartPoint = new Vector2(_capsuleCollider.bounds.center.x + direction.x / 2, _capsuleCollider.bounds.min.y -0.1f); + if (direction == Vector2.down) + rayStartPoint = new Vector2(_capsuleCollider.bounds.center.x + direction.x / 2, _capsuleCollider.bounds.min.y - 0.1f); else - rayStartPoint = new Vector2(_capsuleCollider.bounds.center.x + direction.x / 2, _capsuleCollider.bounds.min.y+0.1f ); + rayStartPoint = new Vector2(_capsuleCollider.bounds.center.x, _capsuleCollider.bounds.min.y + 0.05f); var boundsSize = new Vector2(_capsuleCollider.bounds.size.x - 0.05f, 0.1f); - var raycastHit = Physics2D.BoxCast(rayStartPoint, boundsSize, 0f, direction, 0.9f, _mapLayer); + var raycastHit = Physics2D.BoxCast(rayStartPoint, boundsSize, 0f, direction, 0.1f, _mapLayer); MapElementType returnValue; Color color = Color.red; if (raycastHit)