У меня проблема с плавным вращением, пытаюсь сделать игру с системой вращения как в Temple Run. Я понятия не имею, как плавное вращение с помощью lerp, например, привязать к смещению.
//Position
public GameObject player;
private Vector3 offSet;
//Rotation
//Quaternion localRotation;
Quaternion leftRotation = Quaternion.Euler(new Vector3 (0, 90, 0));
Quaternion rightRotation = Quaternion.Euler(new Vector3 (0, -90, 0));
Vector3 lRotation = new Vector3(0.0f, -90f, 0.0f);
Vector3 rRotation = new Vector3(0.0f, 90f, 0.0f);
void Start () {
offSet = transform.position - player.transform.position;
}
void Update () {
}
void LateUpdate(){
transform.position = player.transform.position + offSet;
transform.LookAt (player.transform);
if (Input.GetKeyDown (KeyCode.LeftArrow) && GameObject.Find("Player").GetComponent<PlayerMovement>().turn) {
offSet = Quaternion.Euler(lRotation)*offSet;
transform.position = player.transform.position + offSet;
transform.LookAt (player.transform);
} else if (Input.GetKeyDown (KeyCode.RightArrow) && GameObject.Find("Player").GetComponent<PlayerMovement>().turn) {
offSet = Quaternion.Euler(rRotation)*offSet;
transform.position = player.transform.position + offSet;
transform.LookAt (player.transform);
}
}
}