Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
706ad21ed1 |
@@ -484,8 +484,7 @@ MeshRenderer:
|
|||||||
m_RayTracingMode: 2
|
m_RayTracingMode: 2
|
||||||
m_RenderingLayerMask: 1
|
m_RenderingLayerMask: 1
|
||||||
m_RendererPriority: 0
|
m_RendererPriority: 0
|
||||||
m_Materials:
|
m_Materials: []
|
||||||
- {fileID: 2100000, guid: 727f61c75f8320d4ab79aaf01ab76181, type: 2}
|
|
||||||
m_StaticBatchInfo:
|
m_StaticBatchInfo:
|
||||||
firstSubMesh: 0
|
firstSubMesh: 0
|
||||||
subMeshCount: 0
|
subMeshCount: 0
|
||||||
@@ -542,29 +541,27 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
speed: 20
|
speed: 20
|
||||||
jumpHeight: 15
|
jumpSpeed: 20
|
||||||
gravity: 5
|
gravity: 5
|
||||||
rotationSpeed: 20
|
rotationSpeed: 20
|
||||||
pivot: {fileID: 1402695046}
|
pivot: {fileID: 1402695046}
|
||||||
playerModel: {fileID: 615882415}
|
playerModel: {fileID: 615882415}
|
||||||
--- !u!143 &741217458
|
--- !u!54 &741217458
|
||||||
CharacterController:
|
Rigidbody:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInstance: {fileID: 0}
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 741217452}
|
m_GameObject: {fileID: 741217452}
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_IsTrigger: 0
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Height: 2
|
m_Mass: 1
|
||||||
m_Radius: 0.5
|
m_Drag: 5
|
||||||
m_SlopeLimit: 45
|
m_AngularDrag: 0.05
|
||||||
m_StepOffset: 0.3
|
m_UseGravity: 1
|
||||||
m_SkinWidth: 0.08
|
m_IsKinematic: 0
|
||||||
m_MinMoveDistance: 0.001
|
m_Interpolate: 0
|
||||||
m_Center: {x: 0, y: 0, z: 0}
|
m_Constraints: 80
|
||||||
|
m_CollisionDetection: 0
|
||||||
--- !u!1 &876326172
|
--- !u!1 &876326172
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|||||||
@@ -9,53 +9,48 @@ using System.Collections;
|
|||||||
|
|
||||||
public class PlayerController : MonoBehaviour
|
public class PlayerController : MonoBehaviour
|
||||||
{
|
{
|
||||||
CharacterController characterController;
|
Rigidbody rb;
|
||||||
CapsuleCollider capsule;
|
|
||||||
|
|
||||||
public float speed;
|
public float speed;
|
||||||
public float jumpHeight;
|
public float jumpSpeed;
|
||||||
public float gravity;
|
public float gravity;
|
||||||
public float rotationSpeed;
|
public float rotationSpeed;
|
||||||
public Transform pivot;
|
public Transform pivot;
|
||||||
public GameObject playerModel;
|
public GameObject playerModel;
|
||||||
|
|
||||||
private int jump = 0;
|
private bool extraJump = true;
|
||||||
private float capsuleHeight;
|
private float distToGround;
|
||||||
private float controllerHeight;
|
|
||||||
private float transformHeight;
|
|
||||||
private Vector3 moveDirection;
|
private Vector3 moveDirection;
|
||||||
|
|
||||||
float startTime = 0.0f;
|
|
||||||
float oneSec = 1.0f;
|
|
||||||
|
|
||||||
void Start()
|
void Start()
|
||||||
{
|
{
|
||||||
characterController = GetComponent<CharacterController>();
|
rb = GetComponent<Rigidbody>();
|
||||||
capsule = GetComponent<CapsuleCollider>();
|
|
||||||
transformHeight = transform.localScale.y;
|
|
||||||
controllerHeight = characterController.height;
|
|
||||||
capsuleHeight = capsule.height;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Update()
|
bool IsGrounded(){
|
||||||
|
return Physics.Raycast(transform.position, -Vector3.up, distToGround + 0.1f);
|
||||||
|
}
|
||||||
|
|
||||||
|
void FixedUpdate()
|
||||||
{
|
{
|
||||||
|
|
||||||
float yStore = moveDirection.y;
|
float yStore = moveDirection.y;
|
||||||
//Need to switch to 'raw' when using keyboard
|
//Need to switch to 'raw' when using keyboard
|
||||||
moveDirection = (transform.forward * Input.GetAxis("Vertical")) + (transform.right * Input.GetAxis("Horizontal"));
|
moveDirection = (transform.forward * Input.GetAxis("Vertical")) + (transform.right * Input.GetAxis("Horizontal"));
|
||||||
|
|
||||||
if (jump <= 1)
|
if (extraJump == true)
|
||||||
{
|
{
|
||||||
moveDirection = moveDirection.normalized * speed; //Remove this line to make running diagonal the fastest standard run
|
moveDirection = moveDirection.normalized * speed; //Remove this line to make running diagonal the fastest standard run
|
||||||
} else {
|
} else
|
||||||
|
{
|
||||||
moveDirection = (moveDirection.normalized * speed)/4; //Remove this line to make running diagonal the fastest standard run
|
moveDirection = (moveDirection.normalized * speed)/4; //Remove this line to make running diagonal the fastest standard run
|
||||||
}
|
}
|
||||||
|
|
||||||
moveDirection.y = yStore;
|
moveDirection.y = yStore;
|
||||||
|
|
||||||
if (characterController.isGrounded)
|
if (IsGrounded())
|
||||||
{
|
{
|
||||||
jump = 0;
|
extraJump = true;
|
||||||
moveDirection.y = 0.0f;
|
moveDirection.y = 0.0f;
|
||||||
|
|
||||||
if(Input.GetKey(KeyCode.LeftShift))
|
if(Input.GetKey(KeyCode.LeftShift))
|
||||||
@@ -65,48 +60,24 @@ public class PlayerController : MonoBehaviour
|
|||||||
moveDirection = moveDirection.normalized * speed;
|
moveDirection = moveDirection.normalized * speed;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(Input.GetKey(KeyCode.LeftControl))
|
if (Input.GetButtonDown("Jump"))
|
||||||
{
|
{
|
||||||
|
moveDirection.y = jumpSpeed;
|
||||||
characterController.height /= 2;
|
|
||||||
capsule.height /= 2;
|
|
||||||
transform.localScale = new Vector3(transform.localScale.x, transformHeight/2, transform.localScale.z);
|
|
||||||
|
|
||||||
if(Input.GetKeyDown(KeyCode.LeftControl))
|
|
||||||
{
|
|
||||||
startTime = Time.time;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(characterController.velocity != new Vector3(0, 0, 0) && startTime + oneSec >= Time.time)
|
|
||||||
{
|
|
||||||
|
|
||||||
moveDirection = (moveDirection.normalized * speed * 2);
|
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
moveDirection = (moveDirection.normalized * speed/4);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
moveDirection = moveDirection.normalized * speed;
|
if (Input.GetButtonDown("Jump") && extraJump == true)
|
||||||
characterController.height = controllerHeight;
|
|
||||||
capsule.height = capsuleHeight;
|
|
||||||
transform.localScale = new Vector3(transform.localScale.x, transformHeight, transform.localScale.z);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Input.GetButtonDown("Jump") && jump <= 1)
|
|
||||||
{
|
{
|
||||||
moveDirection.y = jumpHeight;
|
moveDirection.y = jumpSpeed;
|
||||||
jump++;
|
extraJump = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
moveDirection.y += Physics.gravity.y * gravity * Time.deltaTime;
|
}
|
||||||
|
|
||||||
|
moveDirection.y = moveDirection.y + (Physics.gravity.y * gravity * Time.deltaTime);
|
||||||
|
|
||||||
// Move the controller
|
// Move the controller
|
||||||
characterController.Move(moveDirection * Time.deltaTime);
|
rb.AddForce(moveDirection * Time.deltaTime);
|
||||||
|
|
||||||
//Move the player in different directions based on camera look direction
|
//Move the player in different directions based on camera look direction
|
||||||
//Need to switch to 'raw' when using keyboard
|
//Need to switch to 'raw' when using keyboard
|
||||||
|
|||||||
Reference in New Issue
Block a user