In-Game-Geräusche

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Neben der Hintergrundmusik kann in-Game-Audio die Erlebniseines Spieler:inverbessern. Dieses Tutorial wird zwei Arten von In-Game-Sounds abdecken: positional und Feedback -Sounds.

Für das erste Beispiel erstellen Sie einen positorischen Sound für einen Wasserfall. Im zweiten Beispiel wird ein Skript verwendet, um ein Jingle abzuspielen, wenn Spieler einen Sammelbaum berühren.

Positionierte Sounds

Wenn ein Klang -Objekt mit einem Teil oder einer Anhangverknüpft wird, wird es positional. Audio wird von seinem Standort ausgestrahlt und wird lauter, wenn Spieler näher kommen, wie im Fall dieses Wasserfalls.

Einen Sound erstellen

  1. In einem beliebigen Teil erstellen Sie ein neues Klang-Objekt mit dem Namen WasserfallSound .

  2. In den Eigenschaften finden Sie SoundId und ändern Sie es in diese Wasserfall-Umgebung: rbxassetid://6564308795 .

  3. Für die kontinuierliche Wiedergabe, wenn das Spiel beginnt, schalten Sie Spielen und Looped um, um auf on zu sein.

  4. Testen Sie das Spiel, um sicherzustellen, dass Sie die Wasserfall-Atmosphäre hören.

Sound-Distanz anpassen

Beachten Sie beim Test, dass das Audio sofort abgespielt wird, auch wenn der Spieler weit vom Objekt entfernt ist. Mit den Roll-Off-Eigenschaften können Sie die Entfernung modifizieren, mit der ein Spieler ein Sound hört, um Verblassungseffekte zu erstellen.

  1. Ändere die RollOffMaxDistance zu 30 . Diese Eigenschaft wird in Studs gemessen.

  2. Für eine sanftere Verblasst, ändern Sie die RollOffMode zu InverseTapered . Dies macht das Heranfahren des Sounds weniger plötzlich.

  3. Führen Sie das Projekt. Beachten Sie, wie der Sound nur in der Nähe des Objekts gehört wird.

Feine Anpassung des Roll Off

Abhängig von Ihren Bedürfnissen möchten Sie möglicherweise verschiedene Eigenschaften für spezielle Effekte oder erhöhten Realismus anpassen. Siehe die folgenden Eigenschaften:

  • RollOffMinDistance - Die minimale Entfernung (in Studs) eines Sounds verringert sich in der Lautstärke.
  • SoundGroup - Wird verwendet, um die Lautstärke zwischen Gruppen von Sounds anzupassen und auszubalancieren, wie Hintergrundmusik und In-Game-Effekte.

Feedback-Sounds

Sounds können mit Skripten abgespielt werden. Du kannst Sounds mit Ereignissen verknüpfen, wie wenn Spieler ein Teil berühren oder mit einem Menü interagieren. Hier erstellen du ein Skript, das eine Glocke spielt, wenn Spieler ein sammelbares Objekt berühren.

Sammlerables einrichten

Der Rest dieses Tutorials verwendet ein vordefiniertes Modell. Dieses Modell enthält Teile und Skripte, damit Spieler Edelsteine sammeln können.

  1. In einem Browser, öffnen Sie die Sammelbare Edelsteine-Modell Seite und klicken Sie auf die Sammelbare Edelsteine-Schaltfläche.
  • In Studio, gehen Sie auf die Ansicht-Registerkarte und klicken Sie auf die Toolbox.
  • In dem Toolbox-Fenster, klicken Sie auf die Schaltfläche Inventar . Dann stellen Sie sicher, dass das Dropdown auf My Models ist.
  • Wähle das Sammelbare Edelsteine -Modell, um es in das Spiel einzufügen.
  1. In SoundService erstellen Sie ein neues Sound mit dem Namen FeedbackSound .

  2. In FeedbackSound, setzen Sie die SoundId auf rbxassetid://4110925712 - die SoundId der einfachen Chime, die vom Modell-Seite heruntergeladen wurde.

Konfigurieren Sie das Skript

  1. In StarterPlayer > StarterPlayerScripts erstellt ein neues lokales Skript mit dem Namen CollectableSounds .

  2. Der Code unten wird die partTouched Funktion ausführen, wenn der Spieler einen Sammelbaren berührt. Kopiere den Code in deinem Skript, das. PL: die Skripts.


    local pickupObjects = workspace.Collectables.Objects
    local objectsArray = pickupObjects:GetChildren()
    local function partTouched(otherPart, objectPart)
    local whichCharacter = otherPart.Parent
    local humanoid = whichCharacter:FindFirstChildWhichIsA("Humanoid")
    if humanoid and objectPart.CanCollide == true then
    end
    end
    -- Bindet jedes Objekt an die Touch-Funktion, damit es auf allen Objekten funktioniert
    for objectIndex = 1, #objectsArray do
    local objectPart = objectsArray[objectIndex]
    objectPart.Touched:Connect(function(otherPart)
    partTouched(otherPart, objectPart)
    end)
    end

Ein Sound abspielen

  1. Erstellen Sie eine Variable für SoundService und dann eine Variable, um den Feedback-Sound zu speichern .


    local pickupObjects = workspace.Collectables.Objects
    local objectsArray = pickupObjects:GetChildren()
    local SoundService = game:GetService("SoundService")
    local feedbackSound = SoundService:FindFirstChild("FeedbackSound")
    local function partTouched(otherPart, objectPart)
  2. Um den Chime zu spielen, finden Sie die Funktion partTouched . Within the if-Anweisung, rufen Sie feedbackSound:Play() auf, um den Sound zu spielen.


    local function partTouched(otherPart, objectPart)
    local whichCharacter = otherPart.Parent
    local humanoid = whichCharacter:FindFirstChildWhichIsA("Humanoid")
    -- Spiele den Ton, einmal fertig, zerstöre das Objekt
    if humanoid and objectPart.CanCollide == true then
    feedbackSound:Play()
    end
    end
  3. Testen Sie das Spiel, um zu bestätigen, dass, wenn der Spieler ein Sammlerstück berührt, beide verschwinden und ein Sound spielen.