Sound abspielen

Einfache Sound-Integration

  • Sound-Datei in die Assets des Projekts kopieren.
  • Objekt, z.B. das Affe-Modell auswählen.
  • Das Sound-Asset aus dem Project-Tab in den Inspector des Affen ziehen. Es wird automatisch eine Audio Source-Komponente angelegt. Alternativer Weg: Klick auf Add Component und dann die Audio-Source suchen, auswählen und Eigenschaften im Inspector befüllen.

Komponenten verknüpfen

  • Verwenden Sie Felder (Klassenvariablen) vom Typ der Komponente, die Sie ansprechen möchten und stellen Sie die Verbindung über den Inspector her.
  • Prüfen Sie innerhalb von Start oder Awake, ob eine benötigtes Feld auch wirklich zugewiesen wurde und geben Sie ansonsten einen Fehler mit Debug.LogError() aus.
  • Tipp: Debug.LogError pausiert den Player, wenn im Console-Tab der Schalter Error Pause gedrückt ist.

Beispiel Audio bei Tastendruck spielen

Folgendes Script erlaubt die Verbindung zu einer Audio-Quelle und spielt diese ab, wenn Leertaste gedrückt wird (Fokus muss im Game-Fenster liegen!).

using UnityEngine;

public class Affe : MonoBehaviour
{

    public AudioSource audioPlayer; // Zeiger vom Typ AudioSource

    private void Start()
    {
        if (audioPlayer == null) // Beim Start fehlt das Feld -> Problem zeigen!
            Debug.LogError("Du hast vergessen den AudioPlayer dem Affen zuzuweisen!");
    }

    private void Update()
    {
        if (Input.GetKeyUp(KeyCode.Space))
            audioPlayer.Play();
    }
}

Beispiel Komponente automatisch finden

Es ist möglich eine Komponente mittels FindComponent zu suchen. Weil Suchläufe immer teuer sind (Rechenaufwand), sollte diese Funktion möglichst sparsam genutzt werden!

Folgendes Script findet automatisch die Geschwisterkomponente vom Typ AudioSource, wenn diese nicht ausdrücklich im Inspector zugewiesen wurde.

using UnityEngine;

public class Affe : MonoBehaviour
{

    public AudioSource audioPlayer; // Zeiger vom Typ AudioSource

    private void Start()
    {
        if (audioPlayer == null) // Beim Start fehlt das Feld -> suchen
        {
            audioPlayer = GetComponent<AudioSource>();//suche Geschwister vom Typ A.S.
            if (audioPlayer==null) //noch immer null, heißt nix gefunden
                Debug.LogError("AudioPlayer fehlt dem Affen!");
        }
    }

    private void Update()
    {
        if (Input.GetKeyUp(KeyCode.Space))
            audioPlayer.Play();
    }
}

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 .