diff --git a/Assets/Player.prefab b/Assets/Player.prefab index ccbe389..10f7748 100644 --- a/Assets/Player.prefab +++ b/Assets/Player.prefab @@ -78,11 +78,13 @@ MonoBehaviour: lockCursor: 1 walkSpeed: 6 sprintSpeed: 10 + speedUpVal: 0.3 + speedDownVal: 0.1 moveSmoothTime: 0.05 gravity: -13 jumpHeight: 1 groundCheck: {fileID: 6272346182417644039} - groundDistance: 0.2 + groundDistance: 0.3 groundMask: serializedVersion: 2 m_Bits: 64 @@ -174,7 +176,7 @@ Camera: y: 0 width: 1 height: 1 - near clip plane: 0.3 + near clip plane: 0.15 far clip plane: 1000 field of view: 61.4 orthographic: 0 @@ -274,7 +276,6 @@ GameObject: - component: {fileID: 2458562619286483438} - component: {fileID: 390397068222218691} - component: {fileID: 8824871639981994016} - - component: {fileID: 5472825146870239901} m_Layer: 0 m_Name: Capsule m_TagString: Untagged @@ -311,7 +312,7 @@ MeshRenderer: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 8690889598169456425} - m_Enabled: 0 + m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 @@ -346,17 +347,3 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!136 &5472825146870239901 -CapsuleCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8690889598169456425} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 0 - m_Radius: 0.5 - m_Height: 2 - m_Direction: 1 - m_Center: {x: 0, y: 0, z: 0} diff --git a/Assets/Scenes/TestScene.unity b/Assets/Scenes/TestScene.unity index d59cd39..a480d39 100644 --- a/Assets/Scenes/TestScene.unity +++ b/Assets/Scenes/TestScene.unity @@ -1080,6 +1080,18 @@ PrefabInstance: propertyPath: m_Name value: Player objectReference: {fileID: 0} + - target: {fileID: 6272346181302961294, guid: 2935eead9a075fd489d6a6dc273a5999, type: 3} + propertyPath: speedUpVal + value: 0.3 + objectReference: {fileID: 0} + - target: {fileID: 6272346181302961294, guid: 2935eead9a075fd489d6a6dc273a5999, type: 3} + propertyPath: sprintSpeed + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 6272346181302961294, guid: 2935eead9a075fd489d6a6dc273a5999, type: 3} + propertyPath: groundDistance + value: 0.3 + objectReference: {fileID: 0} - target: {fileID: 6272346181302961296, guid: 2935eead9a075fd489d6a6dc273a5999, type: 3} propertyPath: m_RootOrder value: 6 @@ -1124,6 +1136,10 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 6272346181657429395, guid: 2935eead9a075fd489d6a6dc273a5999, type: 3} + propertyPath: near clip plane + value: 0.15 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 2935eead9a075fd489d6a6dc273a5999, type: 3} --- !u!1 &1960893053 diff --git a/Assets/Scripts/Player/PlayerController.cs b/Assets/Scripts/Player/PlayerController.cs index 0ddf024..8d8fa6c 100644 --- a/Assets/Scripts/Player/PlayerController.cs +++ b/Assets/Scripts/Player/PlayerController.cs @@ -23,6 +23,8 @@ public class PlayerController : MonoBehaviour [Header("Movement")] [SerializeField] private float walkSpeed = 6.0f; [SerializeField] private float sprintSpeed = 10.0f; + [SerializeField]private float speedUpVal = 0.2f; + [SerializeField]private float speedDownVal = 0.1f; [SerializeField][Range(0.0f, 0.5f)] private float moveSmoothTime = 0.05f; [SerializeField] float gravity = -13.0f; [SerializeField] private float jumpHeight; @@ -35,6 +37,7 @@ public class PlayerController : MonoBehaviour public bool isGrounded; private float viewPitch = 0f; private float velocityY = 0.0f; + private float speed; private CharacterController controller; private Vector2 currentDir = Vector2.zero; @@ -66,7 +69,9 @@ public class PlayerController : MonoBehaviour private void Grounded() { //Check every frame if the player stands on the ground - isGrounded = Physics.CheckSphere(groundCheck.position, groundDistance, groundMask); + Vector3 groundCheckPos = groundCheck.position; + groundCheckPos += new Vector3(0,0,0); + isGrounded = Physics.CheckSphere(groundCheckPos, groundDistance, groundMask); } private void UpdateMouseLook() { @@ -108,8 +113,32 @@ public class PlayerController : MonoBehaviour currentDir = Vector2.SmoothDamp(currentDir, targetDir, ref currentDirVelocity, moveSmoothTime); //Smooth movement change + - Vector3 velocity = (transform.forward * currentDir.y + transform.right * currentDir.x) * walkSpeed + (Vector3.up * velocityY); + if (Input.GetButton("Sprint") && isGrounded) + { //If Sprint button is pressed the speed is switched form walking to sprinting + if (speed <= sprintSpeed) + { + speed += sprintSpeed * speedUpVal; + } + else + { + speed = sprintSpeed; + } + } + else + { + if (speed <= sprintSpeed) + { + speed += walkSpeed * speedDownVal; + } + else + { + speed = walkSpeed; + } + } + + Vector3 velocity = (transform.forward * currentDir.y + transform.right * currentDir.x) * speed + (Vector3.up * velocityY); controller.Move(velocity * Time.deltaTime); diff --git a/ProjectSettings/InputManager.asset b/ProjectSettings/InputManager.asset index 17c8f53..35b00f0 100644 --- a/ProjectSettings/InputManager.asset +++ b/ProjectSettings/InputManager.asset @@ -293,3 +293,19 @@ InputManager: type: 0 axis: 0 joyNum: 0 + - serializedVersion: 3 + m_Name: Sprint + descriptiveName: + descriptiveNegativeName: + negativeButton: + positiveButton: left shift + altNegativeButton: + altPositiveButton: joystick button 1 + gravity: 1000 + dead: 0.001 + sensitivity: 1000 + snap: 0 + invert: 0 + type: 0 + axis: 0 + joyNum: 0