У меня есть игровой объект, который движется и вращается.Я хочу, чтобы камера постоянно находилась за объектом, поэтому, когда пользователь нажимает кнопку w, будет выглядеть, как игровой объект движется вперед.Это мой сценарий движения камеры.
public Transform target;
public Vector3 offset;
public void FixedUpdate()
{
transform.position = target.TransformPoint(offset);
transform.LookAt(target);
}
Но камера вращается вокруг игрока недостаточно быстро, поэтому, похоже, он движется вбок.
Это движение игрокасценарий, но я не вижу там никакой ошибки.
public float smoothSpeed = 0.125f;
public float forwardSpeed;
public float sideSpeed;
// Start is called before the first frame update
void Start()
{
}
void FixedUpdate()
{
if (Input.GetKey("w"))
{
Vector3 movement = transform.rotation * Vector3.forward / (100 / forwardSpeed);
transform.Translate(movement);
}
else if (Input.GetKey("s"))
{
Vector3 movement = transform.rotation * Vector3.back / (100 / sideSpeed);
transform.Translate(movement);
}
else if (Input.GetKey("a"))
{
Vector3 movement = transform.rotation * Vector3.left / (100 / sideSpeed);
transform.Translate(movement);
}
else if (Input.GetKey("d"))
{
Vector3 movement = transform.rotation * Vector3.right / (100 / sideSpeed);
transform.Translate(movement);
}
else if (Input.GetKey("e"))
{
transform.Rotate(0, 1, 0);
}
else if (Input.GetKey("q"))
{
transform.Rotate(0, -1, 0);
}
}
Спасибо за вашу помощь ] 1
Когда объект перемещается в сторону, он должендвигаться вперед.Вот мои настройки в Unity: