Updateloop, Rotate, deltaTime

Wichtige Code-Konzepte

  • Start() wird einmal beim Starten des Objekts aufgerufen und sollte Code enthalten, wenn das Objekt mit seinem Verhalten loslegt.
  • Awake() ähnlich Start(), wird jedoch noch vor dem Start aufgerufen und kann für frühe Initialisierungen und Wertzuweisungen verwendet werden.
  • Update() wird in jedem Frame einmal aufgerufen. Daher hier nur die allernötigsten Berechnungen durchführen, sonst geht schnell die Framerate runter.
  • Insbesondere innerhalb von Update sollen Berechnungen oft framerateunabhängig geschehen. Time.deltaTime enthält die Zeit seit dem letzten Aufruf von Update(). Um z.B. innerhalb von 2 Sekunden um 90° zu drehen, könnte folgender Code verwendet werden:
using UnityEngine;

public class Affe : MonoBehaviour
{
    private void Update()
    {
        transform.Rotate(new Vector3(0, (90 / 2f) * Time.deltaTime));
        // Rotiere um 90° in 2 Sekunden gemäß aktueller Framerate
    }
}

Die hier gezeigten Lektionen sind eine Auswahl von Inhalten aus mehreren verschiedenen kostenpflichtigen Kursen. Um alle Inhalte zu sehen, müssen mehrere Kurse gekauft werden. Änderungen und Aktualisierungen der Kursinhalte werden auf dieser Seite möglicherweise nicht oder nicht sofort dargestellt. Die kostenpflichtigen Udemy-Kurse enthalten neben den Videos auch Übungen, Textartikel, weitere Materialien, sowie ein Support-Forum für Fragen. Vereinzelt kann eine Lektion im mehreren Kursen gleichzeitig enthalten sein. Wenn etwas unklar ist, stelle Deine Frage per E-Mail an rene@gamedev-profi.de .