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 darauf ausgelegt, sehr unkompliziert zu sein: Sie importieren eine Audiodatei, zeigen sie im Editor an und spielen sie in Ihrem Spiel ab, wenn etwas passiert.

In dieser Lektion lernen Sie:

  • Wie Audiomaterialien im Asset-Browser funktionieren.
  • Wie Sie eine Audiodatei vorhören.
  • Wie Sie Audio als .ogg exportieren oder ersetzen.
  • Wie Sie Audio aus Python abspielen.
  • Was Lautstärke und Tonhöhe bedeuten.
  • Wofür der zurückgegebene Audio-Handle verwendet werden kann.
  • Wie der Audio-Monitor-Tab hilft, Audio zu debuggen.

Sie benötigen kein komplexes Setup, um zu beginnen. Wenn Sie einen Sound importieren und ihn abspielen können, wenn eine Schaltfläche, eine Tür, ein Sammelobjekt oder eine Charakteraktion passiert, verstehen Sie bereits den grundlegenden Workflow.

Audio importieren

Cave kann Audiodateien als Audioressourcen in das Projekt importieren. Wie Sie im Abschnitt Assets importieren gesehen haben, unterstützt Cave .ogg Audiodateien.

Sobald die Audiodatei importiert ist, erscheint sie im Asset-Browser wie Ihr anderer Projektinhalt. Von dort aus können Sie sie in Skripten, UI-Rückrufen, Logic Bricks, Zeitlinienevents oder jedem anderen System verwenden, das einen Sound abspielen muss.

Beispielsweise kann Ihr Projekt Audioressourcen wie:

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

Lesbare Namen sind hier sehr nützlich, da Audio oft in Python nach Namen referenziert wird.

Audiomaterialien vorhören

Nach dem Import einer Audiodatei können Sie diese direkt in Cave vorhören.

Es gibt zwei einfache Möglichkeiten, dies zu tun:

  • Doppelklicken Sie auf die Audioressource im Asset-Browser, um schnell eine Vorschau abzuspielen.
  • Einmal klicken um sie auszuwählen und ihre Eigenschaften anzuzeigen, wo Sie die Vorschau-Steuerungen verwenden können, um sie abzuspielen.

Die Eigenschaftenansicht ist nützlich, da sie Ihnen mehr Kontrolle beim Vorhören gibt. Zum Beispiel können Sie testen, wie der Sound mit unterschiedlichen Tonhöhenwerten klingt, bevor Sie diesen Sound im Spiel verwenden.

Dies ist besonders hilfreich für Effekte wie Schritte, Einschläge, UI-Klicks und Tiergeräusche. Eine kleine Änderung der Tonhöhe kann wiederholte Klänge weniger identisch erscheinen lassen.

Audio exportieren oder ersetzen

Audioressourcen können auch als .ogg-Dateien exportiert werden. Dies ist nützlich, wenn Sie das Audio in einem externen Tool bearbeiten möchten.

Sie können die Audioressource auch durch eine andere .ogg-Datei ersetzen. Dies ist praktisch, wenn die Logik bereits auf einen Ressourcennamen verweist, Sie aber den tatsächlichen Sound ändern möchten.

Beispielsweise verwendet Ihr Spiel möglicherweise bereits eine Ressource mit dem Namen Door Open. Wenn Sie das Audio innerhalb dieser Ressource ersetzen, können Skripte, die Door Open abspielen, weiterhin funktionieren, ohne umbenannt werden zu müssen.


Audio mit der Audio-Komponente abspielen

Manchmal möchten Sie einen einfachen Loop-Sound für eine Umgebung, Musik für das Hauptmenü usw. abspielen. In diesem Fall reicht die Audiokomponente:

image.png

Sie spielt unendlich den Sound ab, den Sie ihr angeben, und ermöglicht es Ihnen, die Lautstärke, die Tonhöhe, ob der Sound 3D ist und den maximalen Abstand zu steuern. Beachten Sie, dass sie keine weiteren Optionen bietet, wie oft wir den Sound loopen möchten usw. Wenn Sie mehr Anpassungen wünschen, müssen Sie das Audio über Code abspielen.

Audio aus Python abspielen

Der einfachste Weg, eine Audioressource aus Python abzuspielen, ist mit cave.playSound().

cave.playSound("Button Click")

Dies spielt die Audioressource mit dem Namen Button Click ab.

Sie können auch einen Lautstärkewert übergeben:

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

Der Standardwert für die Lautstärke ist 1.0, was bedeutet, dass die Lautstärke normal ist. Niedrigere Werte machen den Sound leiser.

Zum Beispiel:

Lautstärke Bedeutung
2.0 Sehr laute Lautstärke.
1.0 Normale Lautstärke.
0.5 Halbe Lautstärke.
0.0 Stumm.

In den meisten Fällen beginnen Sie mit 1.0 und passen von dort an.

Lautstärke und Tonhöhe

  • Lautstärke steuert, wie laut der Sound ist.
  • Tonhöhe steuert, wie hoch oder niedrig der Sound wahrgenommen wird. Sie beeinflusst auch die Wiedergabegeschwindigkeit, sodass höhere Tonhöhen schneller und schärfer klingen, während tiefere Tonhöhen langsamer und tiefer klingen.

Der Standardwert für Lautstärke und Tonhöhe beträgt 1.0.

Zum Beispiel:

Wert Lautstärkeergebnis Tonhöhen Ergebnis
1.0 Normale Lautstärke. Normale Tonhöhe.
0.5 Leiser. Tiefer und langsamer.
1.5 Lauter, wenn als Lautstärke verwendet. Höher und schneller.

Beim Aufrufen von cave.playSound() wird die Lautstärke direkt beim Start des Sounds übergeben. Die Tonhöhe wird normalerweise über den beim Funktionsaufruf zurückgegebenen Audio-Handle geändert.

Der Audio-Handle

Wenn Sie cave.playSound() aufrufen, gibt Cave einen Audio-Handle zurück.

Dieser Handle repräsentiert das Soundereignis, das derzeit abgespielt wird.

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

Sie können diesen Handle verwenden, um den Sound zu steuern, nachdem er gestartet wurde.

Zum Beispiel:

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

# Alternativ können Sie den Getter und Setter verwenden:
sound.setPitch(0.9)
sound.setVolume(0.4)

Der Handle kann verwendet werden für:

  • Lautstärke ändern.
  • Tonhöhe ändern.
  • Den Sound pausieren.
  • Den Sound fortsetzen.
  • Den Sound stoppen.

  • Fortschritt überprüfen.

  • Den Sound von einem 3D-Element abspielen lassen.

Beispielsweise, wenn ein Türensound von der Türen-Entity kommen soll:

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

Sie benötigen diesen Handle nicht für jeden Sound. Wenn Sie nur einen schnellen Mausklick abspielen möchten, reicht das:

cave.playSound("Button Click")

Verwenden Sie den Handle, wenn Sie zusätzliche Kontrolle benötigen.

Es ist sogar möglich, die Schritte ein wenig zu randomisieren, um mehr Vielfalt zu bieten, ohne mehr Sounds zu verwenden:

sd = cave.playSound("Footstep Stone")

# Den 3D-Quellpunkt für die Entity festlegen, die ihn abspielt:
sd.setSource3D(entity, 20)

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

Der obige Code ist dem sehr ähnlich, den Sie im Walk- und Run-Animationsrückruf des Standard-Prototyp-Charakters finden, wenn Sie ein neues Cave-Projekt erstellen.


Der Audio-Monitor-Tab

Cave beinhaltet auch einen Audio-Monitor-Tab zur Fehlersuche von Audio, während Ihr Spiel läuft.

image.png

Sie können ihn über das Menü Tabs oben links im Editor öffnen.

Der Audio-Monitor zeigt Informationen über aktuell abgespielte Audioinhalte, einschließlich Fortschritt der Wiedergabe. Sie können Einträge erweitern, um mehr Details zu prüfen, was sehr hilfreich ist, wenn ein Projekt beginnt, viele Sounds gleichzeitig abzuspielen.

Beispielsweise kann der Audio-Monitor Ihnen helfen, Fragen zu beantworten wie:

  • Wird dieser Sound tatsächlich abgespielt?
  • Wird derselbe Sound zu oft abgespielt?
  • Ist eine sich wiederholende Ambience noch aktiv?
  • Wie weit ist die Wiedergabe des Sounds?

Sie benötigen den Audio-Monitor wahrscheinlich nicht ständig in einem kleinen Prototyp, aber er wird bei der Fehlersuche von komplexeren Szenen sehr nützlich.

Was Sie sich merken sollten

Audio in Cave ist einfach: Importieren Sie eine Audiodatei, zeigen Sie sie im Asset-Browser an und spielen Sie sie aus Python mit cave.playSound() ab.

Verwenden Sie die Lautstärke, um die Lautstärke zu steuern, die Tonhöhe, um zu steuern, wie hoch oder niedrig der Sound wirkt, und behalten Sie den zurückgegebenen Handle, wenn Sie den Sound nach dem Start steuern müssen.