Перемещение камеры вокруг объекта в UnityC#

Место общения программистов C#
Ответить
Anonymous
 Перемещение камеры вокруг объекта в Unity

Сообщение Anonymous »

Предыдущие сообщения, похоже, не решили мою проблему.

Я пытаюсь заставить камеру перемещаться вокруг определенной точки, называемой «цель». Цель — это пустой игровой объект, расположенный в центре моей игры. Идея состоит в том, что камера не будет приближаться к цели или удаляться от нее, а будет просто вращаться вокруг цели, как если бы она двигалась по невидимой сфере. Камера всегда должна быть направлена ​​на цель. Transform.LookAt(target) отлично справляется с наведением камеры на цель, но я не могу добиться правильного движения. Двигаюсь ли я по горизонтальной или вертикальной оси, он всегда движется по спирали прямо к цели, а не просто движется вокруг нее. Есть идеи?

public class CameraController : MonoBehaviour {

public float speed;
public Transform target;

void Update () {
transform.LookAt(target);

if(Input.GetAxis("Vertical") != 0)
{
transform.Translate(transform.up * Input.GetAxis("Vertical") * Time.deltaTime * speed); //.up = positive y
}

if(Input.GetAxis("Horizontal") != 0)
{
transform.Translate(transform.right * Input.GetAxis("Horizontal") * Time.deltaTime * speed); //.right = positive x
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/431 ... t-in-unity
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»