Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public CharacterController controller;
- public Transform cam;
- public float speed;
- public float turnSmoothTime = 0.1f;
- //------------EDIT---------------
- //set Gravitasi nya
- private float gravity = 9.8f;
- private float verticalVelocity;
- private Vector3 moveDir = Vector3.zero;
- //---------------------------
- float turnSmoothVelocity;
- void Update()
- {
- float horiz = Input.GetAxisRaw("Horizontal");
- float vertic = Input.GetAxisRaw("Vertical");
- Vector3 direction = new Vector3(horiz, 0f, vertic).normalized;
- //------------EDIT---------------
- // cek grounded gak?
- if (characterController.isGrounded )
- {
- //kalo iya jangan di tarik
- verticalVelocity = 0f;
- }
- else
- {
- //klo nga, ditarik gravitasi
- verticalVelocity -= gravity * Time.deltaTime;
- }
- //---------------------------
- if(direction.magnitude >= 0.1f)
- {
- float targetAngle = Mathf.Atan2(direction.x, direction.z) * Mathf.Rad2Deg + cam.eulerAngles.y;
- float angle = Mathf.SmoothDampAngle(transform.eulerAngles.y, targetAngle, ref turnSmoothVelocity, turnSmoothTime);
- transform.rotation = Quaternion.Euler(0f, angle, 0f);
- moveDir = Quaternion.Euler(0f, targetAngle, 0f) * Vector3.forward;
- }
- //---------EDIT------------------
- else
- {
- moveDir = Vector3.zero;
- }
- //masukin gravitasinya
- moveDir.y = verticalVelocity;
- controller.Move(moveDir.normalized * speed * Time.deltaTime);
- //---------------------------
- }
Add Comment
Please, Sign In to add comment