- Home /
Question by
onlineight · Jun 14, 2020 at 07:54 PM ·
rotationcharactercontroller
I cannot rotate my character controller with the rest of the players body
using System.Collections; using System.Collections.Generic; using UnityEngine;
public class movement : MonoBehaviour {
public GameObject Planet;
Vector3 Groundnormal;
public float speed = 4;
public float JumpHeight = 1.2f;
bool OnGround = false;
public float Gravity = -10;
Vector3 velocity;
float distanceToGround;
//private Rigidbody rb;
public CharacterController controller;
Vector3 move;
public GameObject playerbody;
Vector3 moveDirection;
Quaternion Quaternion;
// Start is called before the first frame update
void Start()
{
//rb = GetComponent<Rigidbody>();
//rb.freezeRotation = true;
}
// Update is called once per frame
private void FixedUpdate()
{
float x = Input.GetAxis("Horizontal") * Time.deltaTime;
float z = Input.GetAxis("Vertical") * Time.deltaTime;
Vector3 move = transform.right * x + transform.forward * z;
controller.Move(move * Time.deltaTime);
//velocity.y += Gravity * Time.deltaTime;
//transform.Translate(velocity * Time.deltaTime);
RaycastHit hit = new RaycastHit();
if (Physics.Raycast(transform.position, -transform.up, out hit, 10))
{
distanceToGround = hit.distance;
Groundnormal = hit.normal;
if (distanceToGround <= 1.2f)
{
OnGround = true;
}
else
{
OnGround = false;
}
}
else
{
OnGround = false;
}
//GRAVITY and ROTATION
Vector3 gravDirection = (transform.position - Planet.transform.position).normalized;
transform.rotation = Quaternion.FromToRotation(transform.up, gravDirection) * transform.rotation;
if (OnGround == false)
{
// rb.AddForce(transform.up * Gravity * Time.deltaTime);
velocity += transform.up * Gravity * Time.deltaTime;
}else
{
velocity = transform.up * -1;
if (Input.GetKeyDown(KeyCode.Space))
{
velocity = transform.up * JumpHeight * Time.deltaTime;
}
}
controller.Move(velocity * Time.deltaTime);
}
}
Comment
Your answer
Follow this Question
Related Questions
Player model rotates forward with camera 0 Answers
Rotation of character resets when joystick is released 3 Answers
How to change the angle my character falls at 1 Answer
How do I lock the Y rotation on a first person character controller 1 Answer
character wont rotate and is stuck to the one position. 0 Answers