Broken rotation (c#)
I'm trying to make a third person camera and controller but for some reason the character doesn't rotate properly.
The strange thing is the objects rotation in the inspector is changing so it should be rotating but isn't.
when I move the mouse (which rotates the camera) the rotation changes but the object doesn't move at all.
I have this script attached to the capsule object:
using UnityEngine;
using System.Collections;
public class PlayerController : MonoBehaviour {
public float movementSpeed = 10;
public float turningSpeed = 60;
public float jumpForce = 800;
private Rigidbody rb;
private bool canJump;
void Awake()
{
rb = gameObject.GetComponent<Rigidbody> ();
}
void Update()
{
float horizontal = Input.GetAxis("Mouse X") * turningSpeed * Time.deltaTime;
transform.Rotate(0, horizontal, 0);
float vertical = Input.GetAxis("Vertical") * movementSpeed * Time.deltaTime;
transform.Translate(0, 0, vertical);
float strafe = Input.GetAxis("Horizontal") * movementSpeed * Time.deltaTime;
transform.Translate(strafe, 0, 0);
if (Input.GetButtonDown ("Jump") == true)
{
if (canJump == true)
{
rb.AddForce (0,jumpForce,0);
canJump = false;
}
}
}
}
and this script on the camera, with the target being the empty child of the capsule:
using UnityEngine;
using System.Collections;
public class ThirdPersonCamera : MonoBehaviour {
public GameObject target;
public float rotateSpeed = 5;
Vector3 offset;
void Awake()
{
offset = target.transform.position - transform.position;
}
void LateUpdate()
{
float horizontal = Input.GetAxis("Mouse X") * rotateSpeed;
float vertical = Input.GetAxis("Mouse Y") * rotateSpeed;
target.transform.Rotate(vertical, horizontal, 0);
float desiredAngle_X = target.transform.eulerAngles.x;
float desiredAngle_Y = target.transform.eulerAngles.y;
Quaternion rotation = Quaternion.Euler(desiredAngle_X, desiredAngle_Y, 0);
transform.position = target.transform.position - (rotation * offset);
transform.LookAt (target.transform);
}
}
Why isn't this working and how do I fix it?
Your answer
Follow this Question
Related Questions
How to make platform to rotate player ? 0 Answers
Problem with halt with rotating on y axis 1 Answer
How to make the rotation of a child object of object A match the rotation of object B ? 0 Answers
How would I orient VTOL engines relative to the direction of a ship's movement? 1 Answer
Rotate Sphere? 1 Answer