Objets sonores

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

La lecture audio s'effectue via les objets Sound qui émettent de l'audio dans une expérience. Roblox attribue à chaque actif audio un ID unique que vous pouvez assigner aux objets Sound pour jouer un effet sonore ou une piste musicale spécifique. Vous pouvez soit configurer cet audio pour qu'il se joue automatiquement à l'exécution, soit le déclencher pour jouer depuis des scripts.

Pour modifier la lecture de plusieurs objets Sound, vous pouvez les regrouper dans un groupe sonore et contrôler le volume de l'ensemble du groupe, ainsi qu'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 comment le volume change par rapport à la position de l'utilisateur dans l'expérience.

EmplacementComment l'audio s'émetComment le volume change
Enfant d'un bloc, sphère ou cylindre BasePart.L'audio s'émet vers l'extérieur depuis toute la surface de la pièce.Le volume change en fonction de la distance entre l'auditeur sonore de l'utilisateur et la position de la pièce, ainsi que la taille de celle-ci.
Enfant d'une Attachment, MeshPart, TrussPart, WedgePart ou CornerWedgePart.L'audio s'émet vers l'extérieur depuis le point d'attache unique ou le centre de la pièce.Le volume change en fonction de la distance entre l'auditeur sonore de l'utilisateur et la position de l'attache/pièce.
Dans SoundService ou Workspace.L'audio s'émet à travers l'expérience.Le volume et la position du pan restent les mêmes, peu importe la position ou la rotation de l'auditeur sonore de l'utilisateur.

Audio positionnel

L'audio positionnel est 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 ponctuelle.

Volumétrique

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 une BasePart avec un objet Sound enfant, l'audio joue tout autour de l'utilisateur, similaire à de la musique dans des écouteurs jouant au même volume dans chaque haut-parleur. Lorsque l'utilisateur quitte la pièce, le volume diminue progressivement et devient plus directionnel par haut-parleur, se déplaçant autour de la tête de l'utilisateur lorsque son auditeur tourne. Pour plus d'informations sur les propriétés qui contrôlent le niveau sonore de votre audio à différentes distances de la pièce, consultez RollOffMinDistance et RollOffMaxDistance.

La taille de la BasePart affecte également le volume de l'audio, car des BaseParts plus grands produisent une zone plus large dans laquelle les utilisateurs peuvent entendre l'audio et lorsqu'un utilisateur s'éloigne d'une grande BasePart, le volume diminue plus lentement. L'exemple suivant affiche une BasePart de la taille d'une ville avec un objet Sound jouant de l'audio ambiant. Les utilisateurs A et B vivent l'audio différemment : l'utilisateur B est plus proche de la grande BasePart, et il entend principalement l'audio au même volume dans les deux haut-parleurs. En revanche, l'utilisateur A est plus éloigné de la ville, donc l'audio qu'il entend est plus silencieux et plus directionnel que celui de l'utilisateur B, jouant à des volumes différents dans chacun de ses haut-parleurs.

L'audio volumétrique est utile pour tout l'audio qui doit être immersif autour d'un utilisateur et changer 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 en plaçant un objet Sound sur des BaseParts de différentes tailles et positions par rapport aux utilisateurs, vous pouvez entendre à quel point l'audio volumétrique peut être immersif.

Pour créer un objet Sound pour l'audio volumétrique :

  1. Dans la fenêtre Explorer, sélectionnez SoundService.

  2. Dans la fenêtre Propriétés, accédez à la propriété VolumetricAudio, puis définissez-la sur Enabled.

  3. Dans la fenêtre Explorer, survolez une BasePart, puis cliquez sur le bouton ⊕. Un menu contextuel s'affiche.

  4. Dans le menu, insérez un Sound.

  5. Dans la fenêtre Propriétés, accédez à la propriété SoundId et entrez un ID d'actif audio valide.

  6. (Optionnel) Si vous voulez que l'audio commence à jouer lorsque l'expérience commence, activez la propriété Playing.

Source ponctuelle

Contrairement à l'audio volumétrique, l'audio de source ponctuelle ne s'émet que depuis un seul point de 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 l'audio de source ponctuelle :

  1. Dans la fenêtre Explorer, survolez une attache, un treillis, un coin ou un coin wedge, puis cliquez sur le bouton ⊕. Un menu contextuel s'affiche.
  2. Dans le menu, insérez un Sound.
  3. Dans la fenêtre Propriétés, accédez à la propriété SoundId et entrez un ID d'actif audio valide.
  4. (Optionnel) Si vous voulez que l'audio commence à jouer lorsque l'expérience commence, activez la propriété Playing.

Audio de fond

L'audio de fond 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 souhaitez jouer pour les utilisateurs, surtout lorsque vous voulez créer une bande sonore avec plusieurs fichiers audio.

Il est préférable de garder tous les objets Sound pour l'audio de fond à un seul emplacement dans l'Espace de travail pour des raisons d'organisation pendant que vous continuez à ajouter et à éditer 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 :

  1. Dans la fenêtre Explorer, survolez SoundService, puis cliquez sur le bouton ⊕. Un menu contextuel s'affiche.
  2. Dans le menu, insérez un Sound.
  3. Dans la fenêtre Propriétés, accédez à la propriété SoundId et entrez un ID d'actif audio valide.
  4. (Optionnel) Si vous voulez que l'audio commence à jouer lorsque l'expérience commence, activez la propriété Playing.
  5. (Optionnel) Si cet objet Sound est la seule piste que vous souhaitez jouer dans l'endroit, activez sa propriété Looped.

Personnaliser les objets sonores

Les propriétés de l'objet Sound travaillent ensemble pour influencer la façon dont les utilisateurs vivent votre audio, telles que :

  • À quel point ils entendent un audio spécifique individuellement et par rapport les uns aux autres (Volume).
  • Comment ils perçoivent le volume lorsqu'ils s'éloignent de la source audio (RollOffMinDistance, RollOffMaxDistance et RollOffMode)
  • Quelle partie de l'audio ils peuvent écouter (TimePosition).
  • À quelle vitesse et à quelle hauteur ils l'entendent (PlaybackSpeed).
  • Si l'audio se rejoue automatiquement à la fin (Looped).

Volume

La propriété Volume vous permet de définir le volume de votre audio entre 0 (silence) et 10 (écrasant). Si vous souhaitez changer le volume de plusieurs objets Sound à la fois, regroupez-les sous un groupe sonore.

RollOffMinDistance et RollOffMaxDistance

RollOffMinDistance et RollOffMaxDistance déterminent la portée à laquelle un utilisateur perçoit le volume de l'audio positionnel. Pour l'audio volumétrique, RollOffMinDistance est la distance minimum en studs à laquelle l'audio commence à diminuer en volume lorsque l'auditeur du client s'éloigne de la pièce parent, et la propriété RollOffMaxDistance est la distance maximum en studs à laquelle un auditeur client peut entendre l'audio de la surface de l'objet.

Pour l'audio de source ponctuelle, RollOffMinDistance et RollOffMaxDistance fonctionnent de manière similaire à l'audio volumétrique, mais la distance de déclenchement que ces propriétés contrôlent ne se trouve pas autour de l'objet, elle n'influence que la distance vers l'extérieur depuis la source ponctuelle.

RollOffMode

La propriété RollOffMode vous permet de décider comment l'audio s'estompe à mesure que la distance entre l'auditeur de l'utilisateur et le parent de l'objet Sound augmente. Vous pouvez définir cette propriété sur l'une des quatre valeurs de l'énumération Enum.RollOffMode.

RollOffModeDescription
Inverse (par défaut)Le volume diminue au début de manière abrupte à partir de RollOffMinDistance, mais la diminution du volume devient plus progressive à mesure qu'un utilisateur s'approche de la RollOffMaxDistance. Une fois qu'ils atteignent la RollOffMaxDistance, l'audio devient silencieux.
LinearLe volume diminue linéairement entre RollOffMinDistance et RollOffMaxDistance. Une fois qu'un utilisateur atteint la RollOffMaxDistance, l'audio devient silencieux.
InverseTaperedLe volume suit le modèle inverse lorsqu'il est proche de RollOffMinDistance et le modèle de carré linéaire lorsque l'utilisateur est proche de RollOffMaxDistance. L'audio approche du silence au point de distance maximum.
LinearSquareLe volume diminue entre RollOffMinDistance et RollOffMaxDistance avec une relation carrée linéaire. L'audio approche du silence au point de distance maximum.

PlaybackSpeed

La propriété PlaybackSpeed vous permet de déterminer la vitesse à laquelle votre audio joue. Par exemple, si vous définissez PlaybackSpeed sur une valeur de 2, votre audio joue deux fois plus vite et un octave plus haut en hauteur. De même, si vous le définissez sur une valeur de 0.5, votre audio joue deux fois plus lentement et un octave plus bas en hauteur.

TimePosition

La propriété TimePosition affiche, en secondes, quelle position au sein de l'échantillon audio un utilisateur entend actuellement. Cette propriété est utile pour soit ne jouer qu'une section de l'échantillon audio, soit déclencher un événement à se produire lorsque l'audio atteint une position spécifique. Par exemple, l'exemple de code suivant fait en sorte qu'un émetteur de particules émette une particule anneau blanche au-dessus d'une pièce 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 pièce
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 attache sur la pièce
local attachment = Instance.new("Attachment")
attachment.Position = Vector3.new(0, 0.5, 0)
attachment.Parent = part
-- Créer un émetteur de particules sur l'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'attache
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://1835405646"
sound.Parent = attachment
-- Jouer le son
sound:Play()
-- Commencer à vérifier si l'émetteur doit être activé
RunService.Heartbeat:Connect(function()
-- Activer l'émetteur dans une plage de temps de l'audio ; sinon, le désactiver
emitter.Enabled = sound.TimePosition >= 5 and sound.TimePosition < 20
end)

Looped

La propriété Looped vous permet de répéter l'audio après qu'il ait fini de jouer. Lorsqu'elle est définie sur true, l'audio de l'objet Sound se rejoue. Ceci est utile pour appliquer à l'audio de fond afin de garantir que votre expérience n'a jamais de silence abrupt.

Objets sonores de script

Jouer de l'audio contextuellement

En plus de jouer automatiquement de l'audio via la propriété Playing de l'objet Sound, vous pouvez jouer de l'audio contextuellement depuis un LocalScript en appelant Play() sur l'objet Sound correspondant. Par exemple :


local Workspace = game:GetService("Workspace")
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://9120386436"
sound.Looped = true
sound.Parent = Workspace
sound:Play()

Alternativement, si le lieu comportera plusieurs pistes, vous pouvez jouer une piste spécifique depuis un LocalScript :


local SoundService = game:GetService("SoundService")
local musicTrack = SoundService:FindFirstChild("LucidDream")
if not musicTrack.IsPlaying then
musicTrack:Play()
end

Jouer de l'audio d'interface

Vous pouvez jouer de l'audio d'interface pour les GuiObjects tels que boutons en reliant un objet Sound à l'écouteur d'événements Activated. Cela vous permet de fournir un retour audio aux utilisateurs, par exemple lorsqu'ils survolent ou appuient sur celui-ci.

Pour jouer l'audio d'un objet Sound lorsqu'un utilisateur active un TextButton ou ImageButton :

  1. Dans la fenêtre Explorer, survolez le TextButton ou ImageButton, puis cliquez sur le bouton ⊕. Un menu contextuel s'affiche.
  2. Dans le menu, insérez un LocalScript ou un Script avec RunContext défini sur Enum.RunContext.Client.
  3. 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)
©2026 Société Roblox. Roblox, le logo Roblox et Powering Imagination font partie de nos marques déposées aux États-Unis et dans d'autres pays.