Keep your place in this quest

Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.

Audio in Cave ist als sehr einfach gestaltet: Du importierst eine Audiodatei, hörst sie dir im Editor an und spielst sie aus deinem Spiel ab, wenn etwas passiert.

In dieser Lektion lernst du:

  • Wie Audio-Assets im Asset Browser funktionieren.
  • Wie man eine Audiodatei vorspielt.
  • Wie man Audio als .ogg exportiert oder ersetzt.
  • Wie man Audio aus Python abspielt.
  • Was Lautstärke und Tonhöhe bedeuten.
  • Wofür der zurückgegebene Audio-Handle verwendet werden kann.
  • Wie der Tab Audio Monitor beim Debuggen von Audio hilft.

Du benötigst kein komplexes Setup, um zu beginnen. Wenn du einen Ton importieren und abspielen kannst, wenn ein Knopf, eine Tür, ein Item oder eine Charakteraktion ausgelöst wird, verstehst du bereits den Kern-Workflow.

Audio importieren

Cave kann Audiodateien als Audio-Assets in das Projekt importieren. Wie im Abschnitt Importing Assets gezeigt, unterstützt Cave .ogg-Audiodateien.

Nach dem Import erscheint das Audio-Asset im Asset Browser wie deine anderen Projektinhalte. Von dort kannst du es in Skripten, UI-Callbacks, Logic Bricks, Timeline-Ereignissen oder jedem anderen System verwenden, das einen Sound abspielen muss.

Beispielsweise kann dein Projekt Audio-Assets enthalten wie:

  • Button Click
  • Door Open
  • Pickup Coin
  • Footstep
  • Forest Ambience

Lesbare Namen sind sehr hilfreich, da Audio oft per Name in Python referenziert wird.

Audio-Assets vorspielen

Nachdem du eine Audiodatei importiert hast, kannst du sie direkt in Cave vorspielen.

Es gibt zwei einfache Möglichkeiten:

  • Doppelklick auf das Audio-Asset im Asset Browser, um es schnell abzuspielen.
  • Einmal linker Mausklick, um es zu markieren und seine Eigenschaften einzusehen, wo du die Vorschau-Steuerung nutzen kannst.

Die Eigenschaftenansicht ist praktisch, weil sie dir mehr Kontrolle beim Vorspielen gibt. Du kannst zum Beispiel testen, wie das Audio mit verschiedenen Tonhöhen klingt, bevor du es im Spiel einsetzt.

Das ist besonders nützlich für Effekte wie Schritte, Aufprallgeräusche, UI-Klicks und Kreaturengeräusche. Eine kleine Tonhöhenänderung kann wiederholte Sounds weniger identisch wirken lassen.

Audio exportieren oder ersetzen

Audio-Assets können auch als .ogg-Dateien exportiert werden. Das ist nützlich, wenn du das Audio in einem externen Tool bearbeiten möchtest.

Du kannst das Audio-Asset auch durch eine andere .ogg-Datei ersetzen. Das ist praktisch, wenn die Logik bereits auf einen Asset-Namen verweist, du aber den tatsächlichen Sound ändern möchtest.

Beispielsweise nutzt dein Spiel möglicherweise schon ein Asset namens Door Open. Wenn du das Audio innerhalb dieses Assets ersetzt, funktionieren Skripte, die Door Open abspielen, weiter ohne Umbenennung.


Audio mit dem Audio Component abspielen

Manchmal willst du einen einfachen Loop-Sound für eine Ambient-Szene, Musik im Hauptmenü usw. In diesem Fall reicht das Audio Component aus:

image.png

Das Component spielt den angegebenen Ton endlos ab und ermöglicht die Steuerung von Lautstärke, Tonhöhe, ob der Sound 3D ist, und der maximalen Distanz. Beachte, dass es keine weiteren Optionen wie die Anzahl der Loops bietet. Wenn du mehr Anpassungen brauchst, solltest du das Audio per Code abspielen.

Audio aus Python abspielen

Der einfachste Weg, ein Audio-Asset aus Python abzuspielen, ist mit cave.playSound().

cave.playSound("Button Click")

Damit wird das Audio-Asset mit dem Namen Button Click abgespielt.

Du kannst auch eine Lautstärke mitgeben:

cave.playSound("Door Open", volume=0.8)

Die Standardlautstärke ist 1.0, was normale Lautstärke bedeutet. Kleinere Werte machen den Sound leiser.

Zum Beispiel:

Lautstärke Bedeutung
2.0 Besonders laut.
1.0 Normale Lautstärke.
0.5 Halbe Lautstärke.
0.0 Stumm.

Meist beginnst du mit 1.0 und passt dann an.

Lautstärke und Tonhöhe

  • Lautstärke bestimmt, wie laut der Sound ist.
  • Tonhöhe bestimmt, wie hoch oder tief der Sound klingt. Sie beeinflusst auch die Abspielgeschwindigkeit: höhere Tonhöhe klingt schneller und schärfer, niedrigere Tonhöhe langsamer und tiefer.

Der Standardwert beider ist 1.0.

Zum Beispiel:

Wert Lautstärke-Effekt Tonhöhe-Effekt
1.0 Normale Lautstärke. Normale Tonhöhe.
0.5 Leiser. Tiefer und langsamer.
1.5 Lauter, wenn als Lautstärke benutzt. Höher und schneller.

Beim Benutzen von cave.playSound() wird die Lautstärke beim Start direkt übergeben. Tonhöhe änderst du normalerweise über den zurückgegebenen Audio-Handle.

Der Audio-Handle

Bei einem Aufruf von cave.playSound() gibt Cave einen Audio-Handle zurück.

Dieser Handle steht für die gerade gespielte Sound-Instanz.

sound = cave.playSound("Footstep Stone", volume=0.8)
sound.pitch = 1.0

Mit diesem Handle kannst du den Sound nach dem Start steuern.

Beispielsweise:

sound = cave.playSound("Cave Ambience", volume=0.6, loop=True)

# Alternativ mit Getter und Setter:
sound.setPitch(0.9)
sound.setVolume(0.4)

Der Handle kann verwendet werden für:

  • Lautstärke ändern.
  • Tonhöhe ändern.
  • Sound pausieren.
  • Sound fortsetzen.
  • Sound stoppen.
  • Fortschritt prüfen.
  • Sound von einer 3D-Entity abspielen lassen.

Wenn z. B. ein Tür-Sound von der Tür-Entity kommen soll:

sound = cave.playSound("Door Open", volume=1.0)
sound.setSource3D(self.entity, maxDistance=20)

Du brauchst diesen Handle nicht für jeden Sound. Für einen schnellen Button-Klick reicht:

cave.playSound("Button Click")

Benutze den Handle, wenn du mehr Kontrolle benötigst.

Es ist sogar möglich, Schritte etwas zu variieren, um mehr Abwechslung zu schaffen, ohne mehr Sounds zu brauchen:

sd = cave.playSound("Footstep Stone")

# Setzen der 3D-Quelle auf die Entity, die spielt:
sd.setSource3D(entity, 20)

# Tonhöhe und Lautstärke zufällig variieren:
sd.pitch  = cave.random.uniform(0.5, 1.5)
sd.volume = cave.random.uniform(0.1, 0.3)

Der obige Code ist sehr ähnlich zu dem, was im Walk- und Run-Animationscallback des Standard-Proto-Characters in einem neuen Cave-Projekt verwendet wird.


Der Tab Audio Monitor

Cave enthält auch einen Audio Monitor Tab zum Debuggen von Audio während dein Spiel läuft.

image.png

Du kannst ihn über das Tabs-Menü oben links im Editor öffnen.

Der Audio Monitor zeigt Informationen zu aktuell abgespieltem Audio, einschließlich Fortschritt. Du kannst Einträge erweitern, um Details zu sehen – sehr hilfreich, wenn viele Sounds gleichzeitig abgespielt werden.

Beispielsweise hilft dir der Audio Monitor Fragen zu beantworten wie:

  • Wird dieser Sound tatsächlich abgespielt?
  • Läuft derselbe Sound zu oft?
  • Ist eine loopende Ambient-Musik noch aktiv?
  • Wie weit ist der Sound fortgeschritten?

Im kleinen Prototyp wirst du den Audio Monitor wahrscheinlich nicht ständig brauchen, aber bei komplexeren Szenen ist er sehr nützlich.

Was du dir merken solltest

Audio in Cave ist einfach: Audiodatei importieren, im Asset Browser vorspielen und mit cave.playSound() aus Python abspielen.

Nutze Lautstärke zur Steuerung der Lautstärke, Tonhöhe für die Höhe des Sounds und bewahre den zurückgegebenen Handle, wenn du den Sound nach Start noch kontrollieren willst.

Wenn Audio schwer zu überblicken ist, öffne den Audio Monitor Tab im Tabs-Menü und überprüfe, was gerade abgespielt wird.