diff options
author | chai <chaifix@163.com> | 2022-01-29 10:08:03 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2022-01-29 10:08:03 +0800 |
commit | 4d44695638dccbb648f5d781a0c5c40f813bb3e5 (patch) | |
tree | 312c1b0fa650ab5910e0b2542b8bc3c22f80086e | |
parent | 43daf7b4654d69426ade3da5ab81960dd6faf065 (diff) |
+ walljump
10 files changed, 288 insertions, 202 deletions
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<Collider> m_Colliders = new List<Collider>();
-
- 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<Collider> m_Colliders = new List<Collider>();
+
+ 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 @@ -89,6 +89,11 @@ "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", "value": "{\"m_Value\":2}" 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 |