Я работаю над прототипом игры оборона башни , и у меня возникла проблема с вращением башни. Я сделал так, чтобы у каждой башни была вращающаяся часть, которая вращается по горизонтали и удерживает основной корпус башни с пушкой , которая вращается 1012 * вертикально *. Я придумал простой сценарий для этого, но он, кажется, работает только для ротатора , а не для пушки , по крайней мере, не так, как должно.
Вот код из скрипта:
void Update () {
if (target != null) {
Vector3 tempRotatorRotation = rotator.transform.localEulerAngles;
rotator.transform.LookAt (target.transform);
rotator.transform.localEulerAngles = new Vector3 (tempRotatorRotation.x, rotator.transform.localEulerAngles.y, tempRotatorRotation.z);
Vector3 tempCannonRotation = cannon.transform.localEulerAngles;
cannon.transform.LookAt (target.transform);
cannon.transform.localEulerAngles = new Vector3 (cannon.transform.localEulerAngles.x, tempCannonRotation.y, tempCannonRotation.z);
}
}
А вот изображение того, как это получается. Вращатель отлично вращается, но, как вы видите, пушка 1027 * почему-то смотрит вниз.
(синий - это пьедестал, который не двигается. Зеленый - вращатель. Красный - корпус башни. Голубой - пушка)
Происхождение пушки 3D-модели установлено почти в начале ее.
Вот скриншот выбранного канона, показывающий его ось и данные преобразования