Die Wiedergabe von Audio erfolgt durch Sound Objekte, die Audio innerhalb einer Erlebnissenden.Roblox weist jedem Audiowert eine eindeutige ID zu, die du an Sound zuweisen kannst, um einen bestimmten Soundeffekt oder Musikstück abzuspielen.Du kannst dieses Audio entweder automatisch zur Laufzeit abspielen lassen oder es aus Skripten abspielen lassen.
Um die Wiedergabe mehrerer Sound Objekte zu modifizieren, kannst du sie einer Klanggruppe zuweisen und die Lautstärke der gesamten Gruppe sowie die Anwendung von dynamischen Effekten kontrollieren.
Erstelle Klangobjekte
Es gibt drei Standorte, an denen du ein Sound Objekt erstellen kannst, und jede Position bestimmt, wie Audio emittiert und Lautstärkeänderungen in Bezug auf die Position des Benutzers innerhalb der Erlebnisausgegeben werden.
Standort | Wie Audio emittiert wird | Wie sich Lautstärke ändert |
---|---|---|
Kind eines Blöcke, einer Kugel oder eines Zylinders BasePart . | Audio strahlt von der gesamten Oberfläche des Teils nach außen. | Lautstärkeänderungen hängen von der Entfernung zwischen dem Sound-Listen des Benutzers und der Position des Teils sowie seiner Größe ab. |
Kind von einem Attachment , MeshPart , TrussPart , WedgePart oder CornerWedgePart . | Audio geht nach außen vom einzelnen Anhangspunkt oder Teilzentrum aus. | Lautstärkeänderungen hängen von der Entfernung zwischen dem Sound-Listen des Benutzers und der Anbauten-/Teilposition ab. |
Innerhalb von SoundService oder Workspace. | Audio wird während der Erlebnisemittiert. | Die Lautstärke und die Pan-Position bleiben unabhängig von der Sound-Listenposition oder -Rotation des Benutzers gleich. |
Positives Audiodateien
Positives Audio ist Audio, das Benutzer nur in der Nähe einer bestimmten Position innerhalb der Erlebnishören können.Es gibt zwei Arten von positionalem Audio, die du nutzen kannst: volumetrisch und Ausgangstext.
Volumetrische
Volumetrisches Audio ist die realistischste Audiooption, da es dynamisch abhängig von der Position des Benutzers zur Ausgangstextgeändert wird.Wenn der Benutzer sich zum Beispiel in einem BasePart mit einem Kind Sound Objekt befindet, spielt Audio rund um den Benutzer, ähnlich wie Musik in Kopfhörern, die mit demselben Lautstärke in jedem Lautsprecher abgespielt wird.Wenn der Benutzer das Teil verlässt, nimmt die Audio allmählich ab und wird pro Sprecher zielgerichteter, wenn sich ihr Zuhörer dreht.Für Informationen über die Eigenschaften, die kontrollieren, wie laut dein Audio auf verschiedenen Entfernungen vom Teil ist, siehe RollOffMinDistance und RollOffMaxDistance.
Die Größe des BasePart wirkt sich auch auf die Lautstärke des Audiodateienaus, da größere BaseParts ein größeres Gebiet erzeugen, in dem Benutzer das Audio hören können, und wenn ein Benutzer von einem großen BasePart weg navigiert, die Lautstärke langsamer sinkt.Das folgende Beispiel zeigt ein BasePart, das die Größe einer Stadt mit einem Sound Objekt hat, das ambienten Audiodateienspielt.Benutzer A und B erleben das Audio unterschiedlich: Benutzer B ist näher am großen BasePart, und sie hören das Audio meistens auf der gleichen Lautstärke in beiden Lautsprechern.Umgekehrt ist Benutzer A weiter von der Stadt entfernt, so dass das Audio, das er hört, leiser und zielgerichteter ist als Benutzer B, der bei unterschiedlicher Lautstärke in jedem seiner Lautsprecher spielt.

Volumetrisches Audio ist nützlich für jedes Audio, das um einen Benutzer herum immersiv sein muss und sich dynamisch ändert, abhängig von der Position des Benutzers, wie ein Konzertbühne oder Ambientzonen wie Regen.Wenn du experimentierst, ein Sound Objekt auf BaseParts verschiedener Größe und Position von Benutzern zu platzieren, kannst du hören, wie immersives volumetrisches Audio sein kann.
Um ein Sound Objekt für volumetrisches Audiodateienzu erstellen:
Wählen Sie im Explorer -Fenster SoundService .
Im Eigenschaften -Fenster navigieren Sie zur VolumetricAudio -Eigenschaft und stellen sie dann auf Aktiviert ein.
In dem Explorer -Fenster bewegen Sie den Mauszeiger über ein BasePart und klicken dann auf die Schaltfläche ⊕. Ein Kontextmenü wird angezeigt.
Aus dem Menü, fügen Sie ein Klang ein.
Im Eigenschaften -Fenster navigieren Sie zur Eigenschaft SoundId und geben eine gültige Audio-Asset-ID ein.
(Optional) Wenn du möchtest, dass das Audio beginnt zu spielen, wenn die Erfahrung beginnt, aktiviere die Eigenschaft Eigenschaften.
Ausgangstext
Im Gegensatz zu volumetrischen Audiodateiensendet point-source-Audio nur von einer einzigen Ausgangstextaus.Diese Art von Audio ist für Explosionen, Störgeräusche, elektronische Geräte und Dialoge nützlich.
Um ein Sound Objekt für Audiodateienzu erstellen:
- In dem Explorer -Fenster bewegen Sie den Mauszeiger über ein Anhang, Strebe, Keil oder Eckenkeil, dann klicken Sie auf die ⊕-Taste. Ein Kontextmenü wird angezeigt.
- Aus dem Menü, fügen Sie ein Klang ein.
- Im Eigenschaften -Fenster navigieren Sie zur Eigenschaft SoundId und geben eine gültige Audio-Asset-ID ein.
- (Optional) Wenn du möchtest, dass das Audio beginnt zu spielen, wenn die Erfahrung beginnt, aktiviere die Eigenschaft Eigenschaften.
Audiodateien
Hintergrund-Audio spielt mit derselben Lautstärke, egal wo der Benutzer innerhalb deiner Erlebnisreist.Diese Art von Audio ist nützlich für Musik, die du für Benutzer spielen möchtest, insbesondere wenn du einen Soundtrack aus mehreren Audiodateien erstellen möchtest.
Es ist am besten, alle Sound Objekte für Hintergrund-Audio an einem einzigen Ort des Arbeitsbereichs für Organisationszwecke zu halten, während du weiterhin Audio innerhalb deiner Erfahrung hinzufügst und bearbeitest.Das folgende Beispiel speichert das neue Sound Objekt unter dem SoundService Container, da dieser Dienst bestimmt, wie Sound Objekte in Erlebnissen spielen.
Um ein Sound Objekt für Audiodateienzu erstellen:
- In dem Explorer -Fenster bewegen Sie den Mauszeiger über SoundService , dann klicken Sie auf die Schaltfläche ⊕. Ein Kontextmenü wird angezeigt.
- Aus dem Menü, fügen Sie ein Klang ein.
- Im Eigenschaften -Fenster navigieren Sie zur Eigenschaft SoundId und geben eine gültige Audio-Asset-ID ein.
- (Optional) Wenn du möchtest, dass das Audio beginnt zu spielen, wenn die Erfahrung beginnt, aktiviere die Eigenschaft Eigenschaften.
- (Optional) Wenn dieses Objekt Sound die einzige Spur ist, auf der Sie im Ortspielen möchten, aktivieren Sie seine Eigenschaften .
Sound-Objekte anpassen
Sound objekt-eigenschaften arbeiten zusammen, um die art und weise, wie benutzer dein audiodateienerleben, zu beeinflussen, z. b.:
- Wie laut sie spezifisches Audio einzeln und in Bezug auf einander hören ( Lautstärke ).
- Wie sie Lautstärke wahrnehmen, wenn sie sich von der Audioquelle entfernen ( RollOffMinDistance , RollOffMaxDistance und RollOffMode )
- Welchen Teil des Audios sie hören können ( Zeitposition ).
- Wie schnell und auf welcher Tonhöhe sie es hören ( Wiedergabegeschwindigkeit ).
- Wenn das Audio automatisch wiedergegeben wird, wenn es abgeschlossen ist ( geschleift ).
Laufzeit
Die Eigenschaft Volume ermöglicht es Ihnen, die Lautstärke Ihres Audios von 0 (Stille) auf 10 (Brüllen) überall einzustellen.Wenn du die Lautstärke mehrerer Sound Objekte auf einmal ändern möchtest, stelle sie unter einer Klanggruppe bereit.
RollOffMinDistance und RollOffMaxDistance
RollOffMinDistance und RollOffMaxDistance bestimmen die Reichweite, wie ein Benutzer Lautstärke aus positionalem Audiodateienwahrnimmt.Für volumetrisches Audiodateienist die minimale Entfernung in Klötzen, die das Audio beginnt, in Lautstärke zu sinken, wenn der Zuhörer des Clients sich vom Eltern-Objekt entfernt und die Eigenschaft die maximale Entfernung in Klötzen ist, die ein Client-Zuhörer das Audio von der Oberfläche des Objekts hören kann.

Für Audiodateienarbeiten RollOffMinDistance und RollOffMaxDistance ähnlich wie volumetrisches Audiodateien, aber die Roll-Off-Distanz, die diese Eigenschaften steuern, umgibt das Objekt nicht, sie beeinflusst nur die Entfernung von der Ausgangstextnach außen.

RollOffModus
Die Eigenschaft RollOffMode ermöglicht es dir, zu entscheiden, wie sich die Audio-Lautstärke verändert, wenn die Entfernung zwischen dem Zuhörer des Benutzers und dem Sound Objekt-Elternteil zunimmt.Sie können diese Eigenschaft auf einen der vier Werte des Enum.RollOffMode Enum festlegen.

RollOffModus | Beschreibung |
---|---|
Inverse (standard) | Die Lautstärke verbleicht zunächst plötzlich von RollOffMinDistance, aber die Lautstärke verbleicht zunehmend, je näher ein Benutzer dem RollOffMaxDistance näher kommt.Sobald sie die RollOffMaxDistance erreicht, schweigt das Audio. |
Linear | Die Lautstärke sinkt lineär zwischen RollOffMinDistance und RollOffMaxDistance . Sobald ein Benutzer die RollOffMaxDistance erreicht, fällt das Audio still. |
InverseTapered | Die Lautstärke folgt dem umgekehrten Modell, wenn sie nahe bei RollOffMinDistance und dem linearen Quadratmodell ist, wenn ein Benutzer nahe bei RollOffMaxDistance ist.Audio-Ansätze erreichen Stille am maximalen Entfernungspunkt. |
LinearSquare | Die Lautstärke sinkt zwischen RollOffMinDistance und RollOffMaxDistance mit einer linearen quadratischen Beziehung. Audioansätze schweigen auf dem maximalen Entfernungspunkt. |
Wiedergabegeschwindigkeit
Die Eigenschaft PlaybackSpeed ermöglicht es dir, die Geschwindigkeit zu bestimmen, mit der dein Audio wiedergegeben wird.Wenn du beispielsweise die PlaybackSpeed auf einen Wert von 2 setzt, spielt dein Audio doppelt so schnell und eine Oktave höher in der Tonhöhe.Ebenso, wenn du es auf einen Wert von 0,5 festlegst, spielt dein Audio doppelt so langsam und eine Oktave niedriger in der Tonhöhe.
PlaybackSpeed = 0.5 | PlaybackSpeed = 1.0 | PlaybackSpeed = 2.0 |
Zeitposition
Die TimePosition Eigenschaft zeigt in Sekunden an, in welcher Position innerhalb der Audiodatei ein Benutzer derzeit hört.Diese Eigenschaft ist nützlich, um entweder nur einen Abschnitt der Audiodatei wiederzugeben oder ein Ereignis auszulösen, sobald das Audio an einer bestimmten Stelle erreicht wird.Zum Beispiel verursacht das folgende Codebeispiel, dass ein PartikelEmitter einen weißen Ringpartikel über einem Teil innerhalb eines begrenzten Zeitraums eines Audiotreffers emittiert.
local RunService = game:GetService("RunService")
local Workspace = game:GetService("Workspace")
-- Erstelle ein neues Teil
local part = Instance.new("Part")
part.Anchored = true
part.Color = Color3.new(0.75, 0.2, 0.5)
part.Size = Vector3.new(2, 1, 2)
part.Material = Enum.Material.Neon
part.Position = Vector3.new(0, 4, 0)
part.Parent = Workspace
-- Erstelle eine Anlage auf dem Teil
local attachment = Instance.new("Attachment")
attachment.Position = Vector3.new(0, 0.5, 0)
attachment.Parent = part
-- Erstelle einen Partikel-Emitter auf dem Anhang
local emitter = Instance.new("ParticleEmitter")
emitter.Rate = 5
emitter.Lifetime = NumberRange.new(1.5, 1.5)
emitter.Texture = "rbxassetid://1266170131"
emitter.Speed = NumberRange.new(1, 1)
emitter.Size = NumberSequence.new{NumberSequenceKeypoint.new(0, 1), NumberSequenceKeypoint.new(1, 6)}
emitter.Transparency = NumberSequence.new{NumberSequenceKeypoint.new(0, 1), NumberSequenceKeypoint.new(0.25, 0), NumberSequenceKeypoint.new(1, 1)}
emitter.Orientation = Enum.ParticleOrientation.VelocityPerpendicular
emitter.Parent = attachment
-- Erstelle ein Geräusch auf dem Anhang
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://1835405646"
sound.Parent = attachment
-- Spiele den Ton ab
sound:Play()
-- Beginnen Sie mit der Überprüfung, ob der Emitter aktiviert werden soll
RunService.Heartbeat:Connect(function()
-- Aktiviere den Emitter innerhalb eines Zeitbereichs des Audiodateien; sonst deaktiviere ihn
emitter.Enabled = sound.TimePosition >= 5 and sound.TimePosition < 20
end)
Geschleift
Die Eigenschaft Looped ermöglicht es dir, Audio zu wiederholen, nachdem es abgespielt wurde.Wenn auf true gesetzt, spielt das Audio des Sound Objekts erneut ab.Dies ist nützlich, um sich auf Hintergrund-Audio zu beziehen, um sicherzustellen, dass deine Erfahrung nie eine plötzliche Stille hat.
Skript-Sound-Objekte
Spiele Audio kontextbezogen ab
Abgesehen von der automatischen Wiedergabe von Audio durch die Eigenschaft Sound EigenschaftenObjekts Playing, kannst du Audio kontextuell von einem LocalScript wiedergeben, indem du Play() auf das entsprechende Sound-Objekt aufrufst.Zum Beispiel:
local Workspace = game:GetService("Workspace")local sound = Instance.new("Sound")sound.SoundId = "rbxassetid://9120386436"sound.Looped = truesound.Parent = Workspacesound:Play()
Alternativ, wenn der Ort mehrere Schienen enthalten wird, kannst du einen bestimmten Track von einer LocalScript spielen:
local SoundService = game:GetService("SoundService")local musicTrack = SoundService:FindFirstChild("LucidDream")if musicTrack not musicTrack.IsPlaying thenmusicTrack:Play()end
Audiodateienwiedergeben
Du kannst Interface-Audio für GuiObjects wie Schaltflächen spielen, indem du ein Sound Objekt mit dem Activated Ereignis-Listenhörer verbindest.Das ermöglicht es Ihnen, akustisches Feedback an Benutzer zu geben, wie z. B. wenn sie darüber schweben oder es drücken.
Um das Audio eines Sound Objekts zu spielen, wenn ein Benutzer ein TextButton oder ImageButton aktiviert:
- In dem Explorer Fenster bewegen Sie den Mauszeiger über die TextButton oder ImageButton, dann klicken Sie auf die Schaltfläche ⊕. Ein Kontextmenü wird angezeigt.
- Aus dem Menü, fügen Sie entweder ein LocalScript oder ein Script mit RunContext auf Enum.RunContext.Client ein.
- Füge den folgenden Code in das Skript, das. PL: die Skriptsein, dann ersetze SOUND_NAME durch den Namen eines Sound Objekts, das sich innerhalb des SoundService Containers befindet.
local SoundService = game:GetService("SoundService")
local button = script.Parent
local sound = SoundService:FindFirstChild("SOUND_NAME")
if not sound.isLoaded then
sound.Loaded:Wait()
end
local function onButtonActivated()
if sound and not sound.IsPlaying then
sound:Play()
end
end
button.Activated:Connect(onButtonActivated)