У меня возникла проблема в моей сцене. Что я делаю, есть две панели, на одной панели есть одна кнопка, которая выполняет OnClick()
прослушиватель с именем метода RotateCamera()
.Камера не плавно интерполирует свое вращение
Кроме того, в иерархии есть MainMenu
gameobject
, который крепится с помощью одного сценария. Когда я играю сцену и нажимаю на кнопку panel one
, чем MainCamera
, поверните на 90 градусов в направлении второй панели. Скрипт отлично работает, но я хочу плавно поворачивать камеру на эту панель, когда я нажимаю на эту кнопку - прямо сейчас она вращается мгновенно. Я не знаю, что я делаю неправильно в этом скрипте.
public class CameraSmooth : MonoBehaviour {
private bool check = false;
private Transform from;
private Transform to;
void Start(){
from = Camera.main.transform;
}
void Update(){
if (to != null) {
Camera.main.transform.rotation = Quaternion.Slerp (from.rotation, to.rotation, 3 * Time.deltaTime);
}
}
public void RotateCamera(){
if (!check) {
Camera.main.transform.Rotate (0,90f,0f);
to = Camera.main.transform;
check = true;
}
else if (check) {
Camera.main.transform.rotation = Quaternion.identity;
to = Camera.main.transform;
check = false;
}
}
}
Проблема в том, что ваша камера сразу вращается? Потому что похоже, что именно это делает ваш код. – Serlite
@Serlite да, это немедленно вращается! – hamel123