La lecture audio se produit via des objets Sound qui émettent de l'audio dans une expérience.Roblox attribue à chaque ressource audio une ID unique que vous pouvez attribuer à Sound pour jouer un effet sonore ou une piste de musique spécifique.Vous pouvez soit définir cet audio pour qu'il se joue automatiquement à l'exécution, soit le déclencher pour qu'il se joue à partir de scripts .
Pour modifier la lecture de plusieurs objets , vous pouvez les attribuer à un groupe sonore et contrôler le volume de tout le groupe, ainsi que appliquer des effets dynamiques .
Créer des objets sonores
Il y a trois emplacements où vous pouvez créer un objet Sound et chaque emplacement détermine comment l'audio s'émet et les changements de volume par rapport à la position de l'utilisateur dans l'expérience.
Lieu | Comment l'audio s'émet | Comment les changements de volume |
---|---|---|
Enfant d'un bloc, d'une sphère ou d'un cylindre BasePart . | L'audio émet vers l'extérieur de toute la surface de la pièce. | Les changements de volume dépendent de la distance entre l'écouteur sonore de l'utilisateur et la position de la partie, ainsi que de sa taille. |
Enfant d'un Attachment , MeshPart , TrussPart , WedgePart , ou CornerWedgePart . | L'audio s'émet vers l'extérieur du point d'attache unique ou du centre de la partie. | Les changements de volume dépendent de la distance entre l'écouteur sonore de l'utilisateur et la position de l'attache/de la partie. |
Dans SoundService ou Workspace. | L'audio s'émet tout au long de l'expérience. | La position du volume et de la panneau reste la même indépendamment de la position ou de la rotation de l'écouteur sonore de l'utilisateur. |
audiopositionnel
L'audio positionnel est un audio que les utilisateurs ne peuvent entendre qu'à proximité d'une position spécifique dans l'expérience.Il existe deux types d'audio positionnel que vous pouvez utiliser : volumétrique et source de point.
Volumique
L'audio volumétrique est l'option audio la plus réaliste, car il change dynamiquement en fonction de la position de l'utilisateur par rapport à la source audio.Par exemple, si l'utilisateur se trouve dans un BasePart avec un objet enfant Sound , l'audio se joue autour de l'utilisateur, semblable à la musique dans les écouteurs qui joue au même volume dans chaque enceinte.Lorsque l'utilisateur quitte la partie, l'audio diminue progressivement en volume et devient plus directionnel par haut-parleur, se déplaçant autour de la tête de l'utilisateur lorsque son écouteur tourne.Pour obtenir des informations sur les propriétés qui contrôlent la force de l'audio à différentes distances de la partie, voir RollOffMinDistance et RollOffMaxDistance .
La taille du BasePart a également un impact sur le volume de l'audio, car plus grand, le BaseParts produit une plus grande zone dans laquelle les utilisateurs peuvent entendre l'audio et lorsqu'un utilisateur navigue loin d'un grand BasePart, le volume diminue plus lentement.L'exemple suivant montre un BasePart qui est la taille d'une ville avec un objet Sound qui joue de l'audio ambiant.Les utilisateurs A et B expérimentent l'audio différemment : l'utilisateur B est plus proche du grand BasePart , et ils entendent principalement l'audio à la même intensité dans les deux haut-parleurs.Inversement, l'utilisateur A est plus loin de la ville, donc l'audio qu'il entend est plus silencieux et plus directionnel que l'utilisateur B, qui joue à une intensité différente dans chacun de ses haut-parleurs.

L'audio volumétrique est utile pour tout audio qui doit être immersif autour d'un utilisateur et qui change dynamiquement en fonction de la position de l'utilisateur, comme une scène de concert ou des zones d'ambiance comme la pluie.Lorsque vous expérimentez le placement d'un objet Sound sur BaseParts de différentes tailles et positions des utilisateurs, vous pouvez entendre comment l'audio volumétrique immersif peut être.
Pour créer un objet Sound volumétrique pour l'audio :
Dans la fenêtre Explorateur , sélectionnez SoundService .
Dans la fenêtre propriétés , naviguez vers la propriété VolumetricAudio , puis réglez-la sur activée .
Dans la fenêtre Explorateur , passez la souris sur un BasePart, puis cliquez sur le bouton ⊕. Un menu contextuel s'affiche.
Dans le menu, insérez un son .
Dans la fenêtre propriétés , naviguez vers la propriété SoundId et saisissez un ID audio valide .
(Facultatif) Si vous voulez que l'audio commence à jouer lorsque l'expérience commence, activez la propriété lecture .
Source de source
Contrairement à l'audio volumétrique, l'audio de source point ne s'émet qu'à partir d'une seule source.Ce type d'audio est utile pour les explosions, les bruits d'impact, les appareils électroniques et le dialogue.
Pour créer un objet Sound pour la source audio de point:
- Dans la fenêtre point d'attache, passez la souris sur une pièce jointe, un treillis, un coin ou un coin, puis cliquez sur le bouton ⊕. Un menu contextuel s'affiche.
- Dans le menu, insérez un son .
- Dans la fenêtre propriétés , naviguez vers la propriété SoundId et saisissez un ID audio valide .
- (Facultatif) Si vous voulez que l'audio commence à jouer lorsque l'expérience commence, activez la propriété lecture .
audiode fond
L'audio de fond se joue au même volume, peu importe où l'utilisateur se déplace dans votre expérience.Ce type d'audio est utile pour la musique que vous voulez jouer pour les utilisateurs, notamment lorsque vous voulez créer une bande son de plusieurs fichiers audio.
Il est préférable de conserver tous les objets Sound pour l'audio de fond dans un seul emplacement du Workspace à des fins d'organisation alors que vous continuez d'ajouter et d'éditer de l'audio dans votre expérience.L'exemple suivant stocke le nouvel objet Sound sous le conteneur SoundService, car ce service détermine comment les objets Sound jouent dans les expériences.
Pour créer un objet Sound pour l'audio de fond :
- Dans la fenêtre Explorateur , passez la souris sur SoundService , puis cliquez sur le bouton ⊕. Un menu contextuel s'affiche.
- Dans le menu, insérez un son .
- Dans la fenêtre propriétés , naviguez vers la propriété SoundId et saisissez un ID audio valide .
- (Facultatif) Si vous voulez que l'audio commence à jouer lorsque l'expérience commence, activez la propriété lecture .
- (Facultatif) Si cet objet Sound est la seule piste que vous voulez jouer à la emplacement, activez sa propriété en boucle .
Personnaliser les objets sonores
Sound les propriétés de l'objet travaillent ensemble pour influencer la façon dont les utilisateurs expérimentent votre audio, comme :
- À quel point ils entendent un audio spécifique individuellement et par rapport l'un à l'autre ( volume ).
- Comment ils perçoivent le volume lorsqu'ils s'éloignent de la source audio ( RollOffMinDistance , RollOffMaxDistance , et RollOffMode )
- Quelle partie de l'audio qu'ils peuvent écouter ( Position temporelle ).
- À quelle vitesse et à quel rythme ils l'entendent ( Vitesse de lecture ).
- Si l'audio est automatiquement rejoué à la fin ( Bouclé ).
Volume
La propriété Volume permet de définir le volume de votre audio n'importe où de 0 (silence) à 10 (bombardement).Si vous voulez changer le volume de plusieurs objets à la fois, parentez-les sous un groupe sonore .
RollOffMinDistance et RollOffMaxDistance
RollOffMinDistance et RollOffMaxDistance déterminent la portée de la façon dont un utilisateur perçoit le volume de l'audio positionnel.Pour l'audio volumétrique, RollOffMinDistance est la distance minimale en studs à laquelle l'audio commence à diminuer en volume lorsque l'écouteur du client se déplace **** du parent BasePart, et la propriété RollOffMaxDistance est la distance maximale en studs à laquelle un écouteur de client peut entendre l'audio à partir de la surface de l'objet.

Pour l'audio de source point, RollOffMinDistance et RollOffMaxDistance fonctionnent de manière similaire à l'audio volumétrique, mais la distance de roulis que ces propriétés contrôlent ne couvre pas l'objet, elle ne l'influence que à partir de la distance extérieure au point source.

Mode de roulement hors mode
La propriété RollOffMode vous permet de décider comment l'audio s'estompe à mesure que la distance entre l'écouteur de l'utilisateur et l'objet parent du Sound objet augmente.Vous pouvez définir cette propriété sur l'une des quatre valeurs de l'enum Enum.RollOffMode.

Mode de roulement hors mode | Avertissement |
---|---|
Inverse (par défaut) | Le volume diminue initialement brutalement de RollOffMinDistance , mais la diminution du volume devient plus graduelle plus l'utilisateur se rapproche de l'atteinte du RollOffMaxDistance .Une fois qu'ils atteignent le RollOffMaxDistance, l'audio devient silencieux. |
Linear | Le volume diminue linéairement entre RollOffMinDistance et RollOffMaxDistance . Une fois qu'un utilisateur atteint le RollOffMaxDistance , l'audio tombe en silence. |
InverseTapered | Le volume suit le modèle inversé lorsqu'il est proche de RollOffMinDistance et le modèle carré linéaire lorsqu'un utilisateur est proche de RollOffMaxDistance .Les approches audio atteignent le silence au point de distance maximum. |
LinearSquare | Le volume disparaît entre RollOffMinDistance et RollOffMaxDistance avec une relation linéaire carrée. Les approches audio s'approchent du silence au point de distance maximum. |
Vitesse de lecture
La propriété PlaybackSpeed vous permet de déterminer la vitesse à laquelle votre audio est joué.Par exemple, si vous définissez le PlaybackSpeed à une valeur de 2 , votre audio se joue deux fois plus vite et d'une octave plus haut en fréquence.De même, si vous le définissez sur une valeur de 0,5 , votre audio se joue deux fois plus lentement et d'une octave inférieure en fréquence.
PlaybackSpeed = 0.5 | PlaybackSpeed = 1.0 | PlaybackSpeed = 2.0 |
Position de temps
La propriété TimePosition affiche, en secondes, quelle position dans l'échantillon audio un utilisateur entend actuellement.Cette propriété est utile pour jouer uniquement une section de l'échantillon audio ou déclencher un événement lorsque l'audio atteint une position spécifique.Par exemple, l'exemple de code suivant provoque l'émission d'une particule émettrice d'un anneau blanc au-dessus d'une partie dans une plage de temps limitée d'une piste audio.
local RunService = game:GetService("RunService")
local Workspace = game:GetService("Workspace")
-- Créer une nouvelle partie
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
-- Créer une pièce jointe sur la partie
local attachment = Instance.new("Attachment")
attachment.Position = Vector3.new(0, 0.5, 0)
attachment.Parent = part
-- Créer un émetteur de particules sur l'point d'attache
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
-- Créer un son sur l'point d'attache
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://1835405646"
sound.Parent = attachment
-- Jouer le son
sound:Play()
-- Commencez à vérifier si l'émetteur doit être activé
RunService.Heartbeat:Connect(function()
-- Activer l'émetteur dans une plage de temps de l'audio ; sinon, désactivez-le
emitter.Enabled = sound.TimePosition >= 5 and sound.TimePosition < 20
end)
En boucle
La propriété Looped vous permet de répéter l'audio après qu'il ait fini de jouer.Lorsqu'il est défini à true , l'audio de l'objet Sound joue à nouveau.Cela est utile pour appliquer à l'audio de fond pour garantir que votre expérience n'ait jamais de silence brutal.
Objets sonores de script
Lire le contexte audio contextuellement
En plus de l'écoute automatique de l'audio via la propriété de l'objet , vous pouvez jouer de l'audio contextuellement à partir d'un en appelant sur l'objet correspondant.Par exemple :
local Workspace = game:GetService("Workspace")local sound = Instance.new("Sound")sound.SoundId = "rbxassetid://9120386436"sound.Looped = truesound.Parent = Workspacesound:Play()
Alternativement, si l'endroit comprendra plusieurs pistes, vous pouvez jouer une piste spécifique à partir d'un LocalScript :
local SoundService = game:GetService("SoundService")local musicTrack = SoundService:FindFirstChild("LucidDream")if musicTrack not musicTrack.IsPlaying thenmusicTrack:Play()end
Jouer l'audio de l'interface
Vous pouvez jouer l'audio d'interface pour GuiObjects par exemple boutons en connectant un objet Sound à l'écouteur d'événement Activated.Cela vous permet de fournir des commentaires auditifs aux utilisateurs, comme lorsqu'ils survolent ou appuient dessus.
Pour jouer l'audio d'un objet Sound lorsqu'un utilisateur active un TextButton ou ImageButton :
- Dans la fenêtre Explorateur, passez la souris sur le TextButton ou ImageButton, puis cliquez sur le bouton ⊕. Un menu contextuel s'affiche.
- Du menu, insérez soit un LocalScript ou un Script avec RunContext défini sur Enum.RunContext.Client .
- Collez le code suivant dans le script, puis remplacez SOUND_NAME par le nom d'un objet Sound situé à l'intérieur du conteneur SoundService.
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)