From 4d44695638dccbb648f5d781a0c5c40f813bb3e5 Mon Sep 17 00:00:00 2001 From: chai Date: Sat, 29 Jan 2022 10:08:03 +0800 Subject: + walljump --- JamTools/Assets/JamTools/Prefabs/Player.prefab | 85 ++++++++++ .../JamTools/Scenes/FPSCharacterController.unity | 176 ++++++--------------- .../FPSCharacterController.cs | 73 +++++---- .../FPSCharacterController/WallChecker.cs | 104 +++++++----- JamTools/Assets/JamTools/Scripts/Props.meta | 8 + .../Assets/JamTools/Scripts/Props/SliderDoor.cs | 18 +++ .../JamTools/Scripts/Props/SliderDoor.cs.meta | 11 ++ JamTools/ProjectSettings/EditorBuildSettings.asset | 5 +- .../Packages/com.unity.probuilder/Settings.json | 5 + JamTools/ProjectSettings/ProjectSettings.asset | 5 +- 10 files changed, 288 insertions(+), 202 deletions(-) create mode 100644 JamTools/Assets/JamTools/Scripts/Props.meta create mode 100644 JamTools/Assets/JamTools/Scripts/Props/SliderDoor.cs create mode 100644 JamTools/Assets/JamTools/Scripts/Props/SliderDoor.cs.meta diff --git a/JamTools/Assets/JamTools/Prefabs/Player.prefab b/JamTools/Assets/JamTools/Prefabs/Player.prefab index 7d50a3c..daed565 100644 --- a/JamTools/Assets/JamTools/Prefabs/Player.prefab +++ b/JamTools/Assets/JamTools/Prefabs/Player.prefab @@ -30,6 +30,89 @@ Transform: m_Father: {fileID: 3755607822235943213} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &963194225 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 963194228} + - component: {fileID: 963194227} + - component: {fileID: 963194226} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &963194228 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 3755607823435741754} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!20 &963194227 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 439 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!81 &963194226 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 963194225} + m_Enabled: 1 --- !u!1 &1514607782 GameObject: m_ObjectHideFlags: 0 @@ -312,6 +395,7 @@ MonoBehaviour: m_Bits: 4294967295 m_ShotInfiniteDistance: 100 m_WallJumpForce: 1 + m_WallJumpPower: 10000 m_ExtraGravity: {x: 0, y: 0, z: 0} --- !u!114 &104493165 MonoBehaviour: @@ -436,6 +520,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: - {fileID: 3755607823301764077} + - {fileID: 963194228} m_Father: {fileID: 3755607823128161140} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/JamTools/Assets/JamTools/Scenes/FPSCharacterController.unity b/JamTools/Assets/JamTools/Scenes/FPSCharacterController.unity index f00cef5..8a8d2f3 100644 --- a/JamTools/Assets/JamTools/Scenes/FPSCharacterController.unity +++ b/JamTools/Assets/JamTools/Scenes/FPSCharacterController.unity @@ -38,7 +38,7 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 705507994} - m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_IndirectSpecularColor: {r: 0.44657826, g: 0.49641263, b: 0.57481676, a: 1} m_UseRadianceAmbientProbe: 0 --- !u!157 &3 LightmapSettings: @@ -749,7 +749,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh17036 + m_Name: pb_Mesh70236 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -1000,7 +1000,7 @@ Transform: m_LocalScale: {x: 5, y: 1, z: 5} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 12 + m_RootOrder: 11 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &190189551 GameObject: @@ -1509,7 +1509,7 @@ Transform: - {fileID: 1304633276} - {fileID: 459152570} m_Father: {fileID: 0} - m_RootOrder: 7 + m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &239987018 GameObject: @@ -1575,7 +1575,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 3 + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &279687859 GameObject: @@ -1696,7 +1696,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh17048 + m_Name: pb_Mesh70260 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -2110,7 +2110,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh16990 + m_Name: pb_Mesh70154 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -2979,7 +2979,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 1 + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} --- !u!1 &729325353 GameObject: @@ -6221,7 +6221,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 8 + m_RootOrder: 7 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &830429033 GameObject: @@ -6944,7 +6944,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh109932 + m_Name: pb_Mesh69896 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -7108,7 +7108,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh17122 + m_Name: pb_Mesh70356 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -7297,7 +7297,7 @@ Transform: - {fileID: 961102767} - {fileID: 1213064841} m_Father: {fileID: 0} - m_RootOrder: 11 + m_RootOrder: 10 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &961102761 GameObject: @@ -7448,111 +7448,18 @@ Transform: m_Father: {fileID: 896524441} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &963194225 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 963194228} - - component: {fileID: 963194227} - - component: {fileID: 963194226} - - component: {fileID: 963194229} - m_Layer: 0 - m_Name: Main Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!81 &963194226 -AudioListener: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 963194225} - m_Enabled: 1 ---- !u!20 &963194227 +--- !u!20 &963194227 stripped Camera: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 963194225} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} - m_projectionMatrixMode: 1 - m_GateFitMode: 2 - m_FOVAxisMode: 0 - m_SensorSize: {x: 36, y: 24} - m_LensShift: {x: 0, y: 0} - m_FocalLength: 50 - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: 0.3 - far clip plane: 1000 - field of view: 60 - orthographic: 0 - orthographic size: 5 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 439 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 1 - m_AllowMSAA: 1 - m_AllowDynamicResolution: 0 - m_ForceIntoRT: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: 0.022 ---- !u!4 &963194228 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 963194225} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &963194229 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} + m_CorrespondingSourceObject: {fileID: 963194227, guid: 9fe5972a3b043bf459d903bda86ae2ba, type: 3} + m_PrefabInstance: {fileID: 1293970797} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 963194225} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 941c680575cd4044891a853d36911609, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Target: {fileID: 1293970798} - m_Offset: {x: 0, y: 0, z: 0} --- !u!43 &994454689 Mesh: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh-17712 + m_Name: pb_Mesh70048 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -7747,7 +7654,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh17088 + m_Name: pb_Mesh70310 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -7911,7 +7818,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh16926 + m_Name: pb_Mesh70060 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -8162,7 +8069,7 @@ RectTransform: m_Children: - {fileID: 1086095811} m_Father: {fileID: 0} - m_RootOrder: 4 + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 0, y: 0} @@ -8403,7 +8310,7 @@ Transform: m_LocalScale: {x: 10, y: 5, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 10 + m_RootOrder: 9 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!54 &1124696510 Rigidbody: @@ -8450,7 +8357,7 @@ Rigidbody: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1156133196} serializedVersion: 2 - m_Mass: 1 + m_Mass: 1000 m_Drag: 0 m_AngularDrag: 0.05 m_UseGravity: 1 @@ -8756,7 +8663,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh17024 + m_Name: pb_Mesh70202 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -9070,9 +8977,21 @@ PrefabInstance: m_Modification: m_TransformParent: {fileID: 0} m_Modifications: + - target: {fileID: 3755607823128161098, guid: 9fe5972a3b043bf459d903bda86ae2ba, type: 3} + propertyPath: m_MoveSmooth + value: 0.1 + objectReference: {fileID: 0} + - target: {fileID: 3755607823128161098, guid: 9fe5972a3b043bf459d903bda86ae2ba, type: 3} + propertyPath: m_LookSensitive + value: 500 + objectReference: {fileID: 0} + - target: {fileID: 3755607823128161098, guid: 9fe5972a3b043bf459d903bda86ae2ba, type: 3} + propertyPath: m_MoveSmoothWithTime + value: 1 + objectReference: {fileID: 0} - target: {fileID: 3755607823128161140, guid: 9fe5972a3b043bf459d903bda86ae2ba, type: 3} propertyPath: m_RootOrder - value: 13 + value: 12 objectReference: {fileID: 0} - target: {fileID: 3755607823128161140, guid: 9fe5972a3b043bf459d903bda86ae2ba, type: 3} propertyPath: m_LocalPosition.x @@ -9120,11 +9039,6 @@ PrefabInstance: objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 9fe5972a3b043bf459d903bda86ae2ba, type: 3} ---- !u!4 &1293970798 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 3755607823435741754, guid: 9fe5972a3b043bf459d903bda86ae2ba, type: 3} - m_PrefabInstance: {fileID: 1293970797} - m_PrefabAsset: {fileID: 0} --- !u!1 &1304633275 GameObject: m_ObjectHideFlags: 0 @@ -13163,7 +13077,7 @@ Transform: m_LocalScale: {x: 1, y: 1, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 9 + m_RootOrder: 8 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1537433337 GameObject: @@ -13814,7 +13728,7 @@ Rigidbody: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1621878133} serializedVersion: 2 - m_Mass: 1 + m_Mass: 1000 m_Drag: 0 m_AngularDrag: 0.05 m_UseGravity: 1 @@ -14120,7 +14034,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh16908 + m_Name: pb_Mesh70026 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -14396,7 +14310,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh16858 + m_Name: pb_Mesh69952 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -14560,7 +14474,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh-22726 + m_Name: pb_Mesh70214 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -14753,7 +14667,7 @@ Transform: - {fileID: 1719779269} - {fileID: 1002245355} m_Father: {fileID: 0} - m_RootOrder: 6 + m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1839905729 GameObject: @@ -14848,7 +14762,7 @@ Transform: m_LocalScale: {x: 5, y: 5, z: 1} m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 14 + m_RootOrder: 13 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1861258020 GameObject: @@ -14884,7 +14798,7 @@ Transform: - {fileID: 1537433342} - {fileID: 666827294} m_Father: {fileID: 0} - m_RootOrder: 5 + m_RootOrder: 4 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1893547452 GameObject: @@ -15768,7 +15682,7 @@ Rigidbody: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2137460919} serializedVersion: 2 - m_Mass: 1 + m_Mass: 1000 m_Drag: 0 m_AngularDrag: 0.05 m_UseGravity: 1 @@ -16081,7 +15995,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 6462871305178900895, guid: b338d16f2565167408259c170d8f52b3, type: 3} propertyPath: m_RootOrder - value: 2 + value: 1 objectReference: {fileID: 0} - target: {fileID: 6462871305178900895, guid: b338d16f2565167408259c170d8f52b3, type: 3} propertyPath: m_LocalPosition.x diff --git a/JamTools/Assets/JamTools/Scripts/Character/FPSCharacterController/FPSCharacterController.cs b/JamTools/Assets/JamTools/Scripts/Character/FPSCharacterController/FPSCharacterController.cs index a396ea0..1f40e34 100644 --- a/JamTools/Assets/JamTools/Scripts/Character/FPSCharacterController/FPSCharacterController.cs +++ b/JamTools/Assets/JamTools/Scripts/Character/FPSCharacterController/FPSCharacterController.cs @@ -67,8 +67,10 @@ namespace JamTools [Header("WallJump")] [SerializeField] private float m_WallJumpForce = 1; + [SerializeField] private float m_WallJumpPower = 1000; - [Header("ExtraGravity")] + + [Header("ExtraGravity")] [SerializeField] private Vector3 m_ExtraGravity; #endregion @@ -145,21 +147,21 @@ namespace JamTools m_MoveDirection = right * moveX + forward * moveZ; - if (IsModuleActive(CharacterModule.WalkOnSlope)) - { - if (m_GroundChecker.isOnGround) - { - RaycastHit hitInfo; - if (Physics.Raycast(m_GroundChecker.foot.position, Vector3.down, out hitInfo)) - { - Vector3 normal = hitInfo.normal; - m_MoveDirection = Vector3.ProjectOnPlane(m_MoveDirection, normal); - GizmosHandle.Instance.DoGizmos(() => { - Gizmos.DrawLine(hitInfo.point + new Vector3(0, 0.1f, 0), hitInfo.point + m_MoveDirection); - }); - } - } - } + //if (IsModuleActive(CharacterModule.WalkOnSlope)) + //{ + // if (m_GroundChecker.isOnGround) + // { + // RaycastHit hitInfo; + // if (Physics.Raycast(m_GroundChecker.foot.position, Vector3.down, out hitInfo)) + // { + // Vector3 normal = hitInfo.normal; + // m_MoveDirection = Vector3.ProjectOnPlane(m_MoveDirection, normal); + // GizmosHandle.Instance.DoGizmos(() => { + // Gizmos.DrawLine(hitInfo.point + new Vector3(0, 0.1f, 0), hitInfo.point + m_MoveDirection); + // }); + // } + // } + //} m_MoveDirection = m_MoveDirection.normalized; } @@ -176,8 +178,9 @@ namespace JamTools Vector3 velocity = new Vector3(m_MoveDirection.x * Time.deltaTime * m_MoveSpeed, vy, m_MoveDirection.z * Time.deltaTime * m_MoveSpeed); float t = m_MoveSmoothWithTime ? Time.deltaTime : 1; - m_Rigidbody.velocity = Vector3.Lerp(m_Rigidbody.velocity, velocity, m_MoveSmooth * t * m_MoveSmoothMultiplier); - } + //m_Rigidbody.velocity = Vector3.Lerp(m_Rigidbody.velocity, velocity, m_MoveSmooth * t * m_MoveSmoothMultiplier); + m_Rigidbody.AddForce(velocity * m_MoveSmoothMultiplier, ForceMode.VelocityChange); + } void MoveInAirUpdate() { @@ -190,8 +193,7 @@ namespace JamTools float moveX = Input.GetAxis("Horizontal"); float moveZ = Input.GetAxis("Vertical"); - m_MoveDirection = transform.right * moveX + transform.forward * moveZ; - m_MoveDirection = m_MoveDirection.normalized; + m_MoveDirection = Vector3.ClampMagnitude(transform.right * moveX + transform.forward * moveZ, 1); } void MoveInAirFixedUpdate() @@ -271,16 +273,27 @@ namespace JamTools void WallJump() { - if (!IsModuleActive(CharacterModule.WallJump)) - return; - - if (!m_WallChecker.IsOnWall) - return; - - if(Input.GetButtonDown("Jump")) - { - } - } + if (!IsModuleActive(CharacterModule.WallJump)) + return; + + if (!m_WallChecker.IsOnWall) + return; + + if (m_GroundChecker.isOnGround) + return; + + if (Input.GetButtonDown("Jump")) + { + Vector3 poc; + if (m_WallChecker.GetCollisionPoint(out poc)) + { + Vector3 dir = Vector3.ClampMagnitude(transform.position - poc, 1f); + Vector3 wallJumpDirection = new Vector3(dir.x, 1, dir.z); + m_Rigidbody.velocity = Vector3.zero; + m_Rigidbody.AddForce(wallJumpDirection * m_WallJumpPower); + } + } + } void WallRun() { diff --git a/JamTools/Assets/JamTools/Scripts/Character/FPSCharacterController/WallChecker.cs b/JamTools/Assets/JamTools/Scripts/Character/FPSCharacterController/WallChecker.cs index 946c326..8137670 100644 --- a/JamTools/Assets/JamTools/Scripts/Character/FPSCharacterController/WallChecker.cs +++ b/JamTools/Assets/JamTools/Scripts/Character/FPSCharacterController/WallChecker.cs @@ -2,45 +2,73 @@ using System.Collections; using System.Collections.Generic; using UnityEngine; -public class WallChecker : MonoBehaviour +namespace JamTools { - private bool m_IsOnWall; - public bool IsOnWall - { - get - { - return m_IsOnWall; - } - } - - private List m_Colliders = new List(); - - private void Update() - { - if (m_IsOnWall && m_Colliders.Count == 0) - { - m_IsOnWall = false; - } - } - - private void OnTriggerEnter(Collider other) - { - m_IsOnWall = true; - - m_Colliders.Add(other); - } - - private void OnTriggerStay(Collider other) - { - } - - private void OnTriggerExit(Collider other) - { - if(m_Colliders.Contains(other)) - { - m_Colliders.Remove(other); - } - } + + public class WallChecker : MonoBehaviour + { + + private bool m_IsOnWall; + public bool IsOnWall + { + get + { + return m_IsOnWall; + } + } + + private List m_Colliders = new List(); + + private void Update() + { + if (m_IsOnWall && m_Colliders.Count == 0) + { + m_IsOnWall = false; + } + } + + public bool GetCollisionPoint(out Vector3 point) + { + bool result = false; + point = Vector3.zero; + if (m_Colliders.Count > 0) + { + float dist = 100f; + for (int i = 0; i < m_Colliders.Count; ++i) + { + Collider col = m_Colliders[i]; + Vector3 p = ColliderUtility.FindClosestPoint(col, transform.position); + if (Vector3.Distance(p, transform.position) <= dist) + { + dist = Vector3.Distance(p, transform.position); + point = p; + result = true; + } + } + } + return result; + } + + private void OnTriggerEnter(Collider other) + { + m_IsOnWall = true; + + m_Colliders.Add(other); + } + + private void OnTriggerStay(Collider other) + { + } + + private void OnTriggerExit(Collider other) + { + if (m_Colliders.Contains(other)) + { + m_Colliders.Remove(other); + } + } + + } } diff --git a/JamTools/Assets/JamTools/Scripts/Props.meta b/JamTools/Assets/JamTools/Scripts/Props.meta new file mode 100644 index 0000000..2c6be10 --- /dev/null +++ b/JamTools/Assets/JamTools/Scripts/Props.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3e5567d87e40a064b9defd283282150c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JamTools/Assets/JamTools/Scripts/Props/SliderDoor.cs b/JamTools/Assets/JamTools/Scripts/Props/SliderDoor.cs new file mode 100644 index 0000000..0438b58 --- /dev/null +++ b/JamTools/Assets/JamTools/Scripts/Props/SliderDoor.cs @@ -0,0 +1,18 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class SliderDoor : MonoBehaviour +{ + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } +} diff --git a/JamTools/Assets/JamTools/Scripts/Props/SliderDoor.cs.meta b/JamTools/Assets/JamTools/Scripts/Props/SliderDoor.cs.meta new file mode 100644 index 0000000..45b033f --- /dev/null +++ b/JamTools/Assets/JamTools/Scripts/Props/SliderDoor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4dc113f39388b8d4a8f1fb38cbf5cbd3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JamTools/ProjectSettings/EditorBuildSettings.asset b/JamTools/ProjectSettings/EditorBuildSettings.asset index 0147887..251a9f0 100644 --- a/JamTools/ProjectSettings/EditorBuildSettings.asset +++ b/JamTools/ProjectSettings/EditorBuildSettings.asset @@ -4,5 +4,8 @@ EditorBuildSettings: m_ObjectHideFlags: 0 serializedVersion: 2 - m_Scenes: [] + m_Scenes: + - enabled: 1 + path: Assets/JamTools/Scenes/FPSCharacterController.unity + guid: 9fc0d4010bbf28b4594072e72b8655ab m_configObjects: {} diff --git a/JamTools/ProjectSettings/Packages/com.unity.probuilder/Settings.json b/JamTools/ProjectSettings/Packages/com.unity.probuilder/Settings.json index 51db298..92438e6 100644 --- a/JamTools/ProjectSettings/Packages/com.unity.probuilder/Settings.json +++ b/JamTools/ProjectSettings/Packages/com.unity.probuilder/Settings.json @@ -88,6 +88,11 @@ "key": "editor.extrudeEdgesAsGroup", "value": "{\"m_Value\":true}" }, + { + "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089", + "key": "editor.stripProBuilderScriptsOnBuild", + "value": "{\"m_Value\":true}" + }, { "type": "UnityEngine.ProBuilder.SelectionModifierBehavior, Unity.ProBuilder, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", "key": "editor.rectSelectModifier", diff --git a/JamTools/ProjectSettings/ProjectSettings.asset b/JamTools/ProjectSettings/ProjectSettings.asset index f982ff5..a5ad1e5 100644 --- a/JamTools/ProjectSettings/ProjectSettings.asset +++ b/JamTools/ProjectSettings/ProjectSettings.asset @@ -99,7 +99,7 @@ PlayerSettings: xboxEnableFitness: 0 visibleInBackground: 1 allowFullscreenSwitch: 1 - fullscreenMode: 1 + fullscreenMode: 3 xboxSpeechDB: 0 xboxEnableHeadOrientation: 0 xboxEnableGuest: 0 @@ -152,7 +152,8 @@ PlayerSettings: resolutionScalingMode: 0 androidSupportedAspectRatio: 1 androidMaxAspectRatio: 2.1 - applicationIdentifier: {} + applicationIdentifier: + Standalone: com.DefaultCompany.JamTools buildNumber: Standalone: 0 iPhone: 0 -- cgit v1.1-26-g67d0