Всем привет) Нужна небольшая помощь. Делаю передвижение объекта и необходимо сделать наклон его на бок при движении влево либо вправо
Код
public class PlayerController : MonoBehaviour {
public float speed;
public float tilt;
public Transform tr;
void Start(){
tr = GetComponent<Transform> ();
}
void FixedUpdate() {
float moveHorizontal = Input.GetAxis("Horizontal") * Time.deltaTime * speed;
float moveVertical = Input.GetAxis("Vertical")* Time.deltaTime * speed;
Vector3 movement = new Vector3 (moveHorizontal, 0.0f, moveVertical);
tr.position += movement;
tr.rotation = Quaternion.Euler (0.0f, 0.0f, Mathf.Clamp(tr.position.x*-tilt,-1.0f,1.0f));
}
}
Вращение было сделано с помощью Euler, но оно не было ничем ограниченно, при попытке ограничения через Mathf.Clamp вращение происходит пересекая лишь определенную позицию и не возвращается в исходное состояние. Подскажите как можно поворачивать объект лишь на небольшое значение и после прекращения движения вдоль данной оси возвращать его в обычное состояние.