Die Wiedergabe von Audio erfolgt durch Sound -Objekte, die Audio in einem Erlebnis wiedergeben. Roblox weist jedem Audio-Asset eine einzigartige ID zu, die Sie auf Sound -Objekten zuordnen können, um einen bestimmten Soundeffekt oder Musikstück zu wiedergeben. Sie können entweder dieses Audio automatisch zur Laufzeit aktivieren oder es aus 2>Skripten</
Um die Wiedergabe mehrerer Sound -Objekte zu modifizieren, kannst du sie einer Soundgruppe zuweisen und die Lautstärke der gesamten Gruppe steuern, sowie dynamische Effekte anwenden.
Sound-Objekte erstellen
Es gibt drei Orte, an denen Sie ein Sound-Objekt erstellen können, und jedes Orte bestimmt, wie sich Audio ausgibt und die Lautstärke ändert, in Bezug auf die Position des Benutzers innerhalb der Erlebnis.
Ort | Wie Audio emits | Wie sich die Lautstärke ändert |
---|---|---|
Kind eines Blöcke, einer Kugel oder eines Zylinders BasePart . | Audio strahlt von der gesamten Oberfläche des Teils. | Die Lautstärke ändert sich je nach Entfernung zwischen dem Benutzer-Sound-Player und der Position der Teile, sowie ihrer Größe. |
Child of an Attachment , MeshPart , TrussPart , 1> Class.WedgePart1> oder 4> Class.CornerWedgePart4> . | Audio emittiert sich vom einzelnen Anbauten Punkt oder Teilzentrum. | Die Lautstärke ändert sich je nach Entfernung zwischen dem Benutzer-Sound-Player und dem Anhang/Teil-Position. |
Innerhalb von SoundService oder Workspace . | Audio sendet während der gesamten Erlebnis. | Die Lautstärke und die Pan-Position bleiben unabhängig von der Position des Benutzers und der Rotation dieselben. |
Positionelles Audio
Positionelle Audio ist Audio, das Benutzer nur in der Nähe einer bestimmten Position im Erlebnis hören können. Es gibt zwei Arten von positionellen Audio, die Sie verwenden können: Volumetrisches und Ausgangstext.
Volumetisch
Volumetrisches Audio ist die realistischste Audio-Option, da es dynamisch ändert, abhängig von der Position des Benutzers zur Ausgangstext. Zum Beispiel, wenn der Benutzer in einem BasePart mit einem
Die Größe des <
Vorhängiges Audio ist für jedes Audio nützlich, das immersiv um einen Benutzer herum positioniert und dynamisch basierend auf der Position des Benutzers, wie z. B. ein Konzert oder eine Umgebungszone wie Regen. Wenn Sie mit dem Platzieren eines Sound -Objekts auf Class.BasePart|BaseParts - von verschiedenen Größen und Positionen von Benutzern, hören Sie, wie immersiv das vorhängige Audio sein kann
Um ein Sound -Objekt für volumetrisches Audiodateienzu erstellen:
In dem Explorer-Fenster wählen Sie SoundService .
In dem Eigenschaften -Fenster, navigieren Sie zur Volumetria-Audio -Eigenschaft und setzen Sie sie auf Aktiviert .
In dem Explorer-Fenster bewegen Sie den Mauszeiger über ein BasePart und klicken Sie dann auf die Schaltfläche ⊕. Ein Kontextmenü wird angezeigt.
Von dem Menü, fügen Sie einen Sound ein.
In dem Eigenschaften -Fenster, navigieren Sie zur SoundId -Eigenschaft und geben Sie eine gültige Audio-Asset-ID ein.
(Optional) Wenn Sie das Audio so einstellen, dass es abgespielt wird, wenn die Erfahrung beginnt, aktivieren Sie die Eigenschaften Spielen .
Punktquelle
Anders als volumetrisches Audiodateien, emittiert Point-Source-Audio nur von einem einzigen Ausgangstext. Dieser Audiotyp ist nützlich für Explosionen, Schallgeräusche, elektronische Geräte und Dialoge.
Um ein Sound -Objekt für die Quelle des Audiodateienzu erstellen:
In dem Explorer-Fenster bewegen Sie den Mauszeiger über ein Anhang, ein Träger, einen Keil oder einen Eckkeil und klicken Sie dann auf die Schaltfläche ⊕ . Ein Kontextmenü wird angezeigt.
Von dem Menü, fügen Sie einen Sound ein.
In dem Eigenschaften -Fenster, navigieren Sie zur SoundId -Eigenschaft und geben Sie eine gültige Audio-Asset-ID ein.
(Optional) Wenn Sie das Audio so einstellen, dass es abgespielt wird, wenn die Erfahrung beginnt, aktivieren Sie die Eigenschaften Spielen .
Hintergrund-Audio
Hintergrund-Audio spielt mit demselben Lautstärke ab, egal wo der Benutzer innerhalb deines Erlebnisses reist. Diese Art von Audio ist nützlich für Musik, die du für Benutzer wiedergeben möchtest, insbesondere wenn du eine Soundtrack aus mehreren Audio-Dateien erstellen möchtest.
Es ist am besten, alle Sound -Objekte für Hintergrund-Audio in einem einzigen Standort des Workspace for Organization-Zwecke weiter zu fügen und zu bearbeiten, während Sie Audio innerhalb Ihrer Erlebnishinzufügen und bearbeiten. Das folgende Beispiel speichert das neue Sound -Objekt unter dem SoundService -Container, da dieser Service best
Um ein Sound -Objekt für Audiodateienzu erstellen:
In dem Explorer-Fenster bewegen Sie den Mauszeiger über SoundService und klicken Sie dann auf die Schaltfläche ⊕ . Ein Kontextmenü wird angezeigt.
Von dem Menü, fügen Sie einen Sound ein.
In dem Eigenschaften -Fenster, navigieren Sie zur SoundId -Eigenschaft und geben Sie eine gültige Audio-Asset-ID ein.
(Optional) Wenn Sie das Audio so einstellen, dass es abgespielt wird, wenn die Erfahrung beginnt, aktivieren Sie die Eigenschaften Spielen .
(Optional) Wenn dieses Sound-Objekt der einzige Schienen ist, auf dem Sie in diesem Ort spielen möchten, aktivieren Sie seine Eigenschaften.
Benutzerdefinierte Sound-Objekte
Sound Objekt-Eigenschaften arbeiten zusammen, um die Erfahrung deines Audiodateiendurch Benutzer zu beeinflussen, wie z. B.:
- Wie laut sie einzelne Audioeinheiten und in Beziehung zueinander hören (Lautstärke).
- Wie sie die Lautstärke wahrnehmen, wenn sie sich von der Audio-Quelle entfernen ( RollOffMinDistance , RollOffMaxDistance und RollOffMode )
- Welche parte des Audios, die sie hören können (ZeitPosition).
- Wie schnell und mit welcher Tonhöhe sie es hören ( Wiedergabegeschwindigkeit ).
- Wenn das Audio automatisch wiederholt wird, wenn es abgeschlossen ist (Looped).
Lautstärke
Die Volume-Eigenschaft ermöglicht es Ihnen, die Lautstärke Ihres Audios überall von 0 (Stille) bis 10 (Boom) zu setzen. Wenn Sie die Lautstärke mehrerer 1>Class.Sound -Objekte gleichzeitig ändern möchten, überlassen Sie sie unter einer4>Sound-Gruppe4> .
RollOffMinDistance und RollOffMaxDistance
RollOffMinDistance und Class.Sound.RollOffMaxDistance|RollOffMax
Für Audiodateienfunktionieren RollOffMinDistance und RollOffMaxDistance ähnlich wie bei volumetrischem Audiodateien, aber die Abstandrolle dieser Eigenschaften kontrolliert nicht das Objekt, sondern nur die Entfernung von der Ausgangstext.
RollOffModus
Die RollOffMode-Eigenschaft ermöglicht es Ihnen, zu entscheiden, wie sich das Audio verblasst, wenn die Entfernung zwischen dem Benutzer's Hörer und dem Sound-Objekt's Elternmodus erhöht. Sie können diese Eigenschaft auf einen von vier Werten des Enum.RollOffMode-Enums einstellen.
RollOffModus | Beschreibung |
---|---|
Inverse (Standard) | Die Lautstärke fällt ursprünglich von RollOffMinDistance ab, aber die Lautstärke fällt sanfter, je näher ein Benutzer dem Ziel von RollOffMaxDistance kommt. Wenn sie das Ziel erreicht, fällt die Lautstärke stummschaltend. |
Linear | Die Lautstärke fällt lineär zwischen RollOffMinDistance und RollOffMaxDistance . Sobald ein Benutzer die RollOffMaxDistance erreicht, stummt der Audio. |
InverseTapered | Volume folgt dem umgekehrten Modell, wenn sich RollOffMinDistance und das lineare quadratische Modell befinden, wenn ein Benutzer RollOffMaxDistance ist. Audio erreicht die Stille im maximalen Entfernungspunkt. |
LinearSquare | Die Lautstärke fällt zwischen RollOffMinDistance und RollOffMaxDistance mit einem linearen Quadrat-Verhältnis. Audio-Ansätze stellen bei der maximalen Distanz auf. |
Wiedergabegeschwindigkeit
Die PlaybackSpeed-Eigenschaft ermöglicht es Ihnen, die Geschwindigkeit Ihres Audios zu bestimmen. Zum Beispiel, wenn Sie die PlaybackSpeed auf einen Wert von 2 setzen, spielt Ihr Audio zweimal so schnell und eine Oktave höher
PlaybackSpeed = 0,5 | PlaybackSpeed = 1,0 | PlaybackSpeed = 2.0 |
ZeitPosition
Die TimePosition-Eigenschaft zeigt an, in Sekunden, welche Position innerhalb des Audiosignals ein Benutzer derzeit hört. Diese Eigenschaft ist nützlich, um entweder nur ein Teil des Audiosignals zu spielen oder ein Ereignis zu triggern, um einmal, dass ein Audio-Track eine bestimmte Position erreicht. Zum Beispiel verursacht der folgende Code-Beispiel eine Partikelemitter, die einen weißen Ringpartikel über
local RunService = game:GetService("RunService")
-- Erstellen Sie 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
-- Erstellen Sie ein Zubehör an der Teil
local attachment = Instance.new("Attachment")
attachment.Position = Vector3.new(0, 0.5, 0)
attachment.Parent = part
-- Erstellen Sie 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
-- Erstellen Sie ein Sound auf der Anhang
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://1835405646"
sound.Parent = attachment
-- Spiele den Sound
sound:Play()
-- Starten Sie die Überprüfung, ob der Emitter aktiviert sein soll
RunService.Heartbeat:Connect(function()
-- Aktivieren Sie den Emitter innerhalb einer Zeitreihe des Audiodateien; deaktivieren Sie es andernfalls
if sound.TimePosition >= 5 and sound.TimePosition < 20 then
emitter.Enabled = true
else
emitter.Enabled = false
end
end)
Looped
Die Looped-Eigenschaft ermöglicht es Ihnen, Audio nach dem Ablauf des Spiels wiederholt abzuspielen. Wenn auf true gesetzt, spielt das Audio des Sound -Objekts wieder. Dies ist nützlich, um auf 2> Hintergrund-Audio2> anzuwenden, um sicherzustellen, dass Ihre Erfahrung nie abbricht.
Skript-Sound-Objekte
Audio Kontextspiele
Abgesehen von der automatischen Wiedergabe von Audio durch die Class.Sound.Playing|Play Eigenschaftendes Class.LocalScript , können Sie Audio kontextuell von einem Class.LocalScript aufrufen, indem Sie 1> Class.Sound:Play()|Play() auf dem entsprechenden 4> Class.Sound -Objekt aufrufen. Zum Beisp
local sound = Instance.new("Sound")sound.SoundId = "rbxassetid://9120386436"sound.Looped = truesound.Parent = workspacesound:Play()
Alternativ kannst du einen bestimmten Track aus einem LocalScript abspielen:
local SoundService = game:GetService("SoundService")local musicTrack = SoundService:FindFirstChild("LucidDream")if musicTrack not musicTrack.IsPlaying thenmusicTrack:Play()end
Spiel-Oberfläche-Audio
Du kannst Benutzeroberflächen-Audio für GuiObjects wie z. B. Schaltflächen durch das Verbinden eines Sound-Objekts mit dem 1> Class.GuiButton.Activated|Activated1>-Ereignis-Hörer bereitstellen. Dies ermöglicht dir, Benutzer mit auditorischen Feedback zu liefern, z. B. wenn sie mit
Um das Audio eines Sound -Objekts abzuspielen, 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.
- Von dem Menü, fügen Sie entweder ein LocalScript oder ein Script mit RunContext auf, das auf 2>Ennum.RunContext.Client2> eingestellt ist.
- Fügen Sie den folgenden Code in das Skript, das. PL: die Skriptsein, dann ersetzen Sie SOUND_NAME durch den Namen eines Sound -Objekts, das sich in dem SoundService -Container 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)