Ich versuche, meine Kamera dazu zu bringen, sich um einen bestimmten Punkt namens „Ziel“ zu bewegen. Ziel ist ein leeres Spielobjekt im Zentrum meines Spiels. Die Idee dahinter ist, dass sich die Kamera nicht näher an das Ziel heranbewegt oder sich davon entfernt, sondern sich einfach um das Ziel dreht, als würde sie sich um eine unsichtbare Kugel bewegen. Die Kamera sollte immer auf das Ziel gerichtet sein. transform.LookAt(target) hält die Kamera ganz gut auf das Ziel gerichtet, aber ich kann die Bewegung nicht richtig hinbekommen. Unabhängig davon, ob ich mich entlang der horizontalen oder vertikalen Achse bewege, bewegt es sich immer spiralförmig direkt auf das Ziel zu und nicht nur um es herum. Irgendwelche Ideen?
Code: Select all
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
}
}
}