PlayerController

-Set up the player Prefab
-Added sprinting
-Added speed up and speed down
This commit is contained in:
juliuse98
2021-10-22 11:09:11 +02:00
parent 18d90a2119
commit e59f509df6
4 changed files with 68 additions and 20 deletions

View File

@@ -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}

View File

@@ -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

View File

@@ -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()
{
@@ -109,7 +114,31 @@ 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);

View File

@@ -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