Compare commits

..
Author SHA1 Message Date
Gregory CampbellandGitHub d84d484f8f Revert "Expand test area" 2019-12-07 15:33:13 -05:00
Gregory CampbellandGitHub 7dfaa0e4df Merge pull request #13 from gjcampbell777/expand_test_area
Expand test area
2019-12-07 15:25:00 -05:00
Gregory CampbellandGitHub a6c845e6bf Merge branch 'master' into expand_test_area 2019-12-07 15:24:48 -05:00
Gregory Campbell d8608b3d1e Renamed Test Scene so it may be easier to merge 2019-12-07 13:31:17 -05:00
Gregory Campbell 9de4193758 Added more crawling/sliding obstacles and updated unity version 2019-12-07 13:21:24 -05:00
Gregory Campbell 416f976587 Added new obstacles and platforms as well as a new material for prototyping 2019-12-07 00:37:06 -05:00
Gregory CampbellandGitHub 28bcba0680 Merge pull request #12 from gjcampbell777/crawl_slide_button
Crawl slide button
2019-12-06 22:36:03 -05:00
Gregory Campbell 645395a43c Added implementation so that crawling in differentiated from sliding through current player movement 2019-12-06 22:34:57 -05:00
Gregory Campbell ba63ebf72b Added sliding which reverts back to crouching/crawling after 1 second 2019-12-05 23:17:24 -05:00
Gregory Campbell 9c10ca695d Crouching/crawling functionality is working 2019-12-05 22:42:16 -05:00
Gregory CampbellandGitHub c13613ca25 Merge pull request #11 from gjcampbell777/rework_jump_counter
Cleaned up jumping and double jumping implementation
2019-12-05 21:58:53 -05:00
Gregory Campbell 2ade04fcba Cleaned up jumping and double jumping implementation 2019-12-05 21:57:29 -05:00
Gregory Campbell 1b3bf960e4 Initial push. Floating stationary platforms added. 2019-10-02 20:43:13 -04:00
2 changed files with 69 additions and 37 deletions
+15 -12
View File
@@ -484,7 +484,8 @@ MeshRenderer:
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials: []
m_Materials:
- {fileID: 2100000, guid: 727f61c75f8320d4ab79aaf01ab76181, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
@@ -541,27 +542,29 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
speed: 20
jumpSpeed: 20
jumpHeight: 15
gravity: 5
rotationSpeed: 20
pivot: {fileID: 1402695046}
playerModel: {fileID: 615882415}
--- !u!54 &741217458
Rigidbody:
--- !u!143 &741217458
CharacterController:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 741217452}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 2
m_Mass: 1
m_Drag: 5
m_AngularDrag: 0.05
m_UseGravity: 1
m_IsKinematic: 0
m_Interpolate: 0
m_Constraints: 80
m_CollisionDetection: 0
m_Height: 2
m_Radius: 0.5
m_SlopeLimit: 45
m_StepOffset: 0.3
m_SkinWidth: 0.08
m_MinMoveDistance: 0.001
m_Center: {x: 0, y: 0, z: 0}
--- !u!1 &876326172
GameObject:
m_ObjectHideFlags: 0
+53 -24
View File
@@ -9,48 +9,53 @@ using System.Collections;
public class PlayerController : MonoBehaviour
{
Rigidbody rb;
CharacterController characterController;
CapsuleCollider capsule;
public float speed;
public float jumpSpeed;
public float jumpHeight;
public float gravity;
public float rotationSpeed;
public Transform pivot;
public GameObject playerModel;
private bool extraJump = true;
private float distToGround;
private int jump = 0;
private float capsuleHeight;
private float controllerHeight;
private float transformHeight;
private Vector3 moveDirection;
float startTime = 0.0f;
float oneSec = 1.0f;
void Start()
{
rb = GetComponent<Rigidbody>();
characterController = GetComponent<CharacterController>();
capsule = GetComponent<CapsuleCollider>();
transformHeight = transform.localScale.y;
controllerHeight = characterController.height;
capsuleHeight = capsule.height;
}
bool IsGrounded(){
return Physics.Raycast(transform.position, -Vector3.up, distToGround + 0.1f);
}
void FixedUpdate()
void Update()
{
float yStore = moveDirection.y;
//Need to switch to 'raw' when using keyboard
moveDirection = (transform.forward * Input.GetAxis("Vertical")) + (transform.right * Input.GetAxis("Horizontal"));
if (extraJump == true)
if (jump <= 1)
{
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.y = yStore;
if (IsGrounded())
if (characterController.isGrounded)
{
extraJump = true;
jump = 0;
moveDirection.y = 0.0f;
if(Input.GetKey(KeyCode.LeftShift))
@@ -60,24 +65,48 @@ public class PlayerController : MonoBehaviour
moveDirection = moveDirection.normalized * speed;
}
if (Input.GetButtonDown("Jump"))
if(Input.GetKey(KeyCode.LeftControl))
{
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 {
if (Input.GetButtonDown("Jump") && extraJump == true)
moveDirection = moveDirection.normalized * speed;
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 = jumpSpeed;
extraJump = false;
moveDirection.y = jumpHeight;
jump++;
}
}
moveDirection.y = moveDirection.y + (Physics.gravity.y * gravity * Time.deltaTime);
moveDirection.y += Physics.gravity.y * gravity * Time.deltaTime;
// Move the controller
rb.AddForce(moveDirection * Time.deltaTime);
characterController.Move(moveDirection * Time.deltaTime);
//Move the player in different directions based on camera look direction
//Need to switch to 'raw' when using keyboard