Objets sonores

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

Le jeu audio se produit via Sound objets qui émettent de l'audio dans une expérience. Roblox attribue à chaque audio un ID unique que vous pouvez attribuer à Sound objets pour jouer un effet sonore ou une piste de musique spécifique. Vous pouvez soit définir ce 2>audio2> pour jouer temps d'exécutionau moment de l'exécution, soit le décl

Pour modifier le l'objet de lecture de plusieurs objets Class.Sound, vous pouvez les attribuer à un groupe sonore et contrôler le volume de tout le groupe, ainsi que appliquer 2>effets dynamiques2>.

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 émet et les changements de volume en relation avec la position de l'utilisateur dans l'expérience.

EmplacementComment les sons se transmettentComment les changements de volume
Enfant d'un bloc, d'une sphère ou d'un cylindre BasePart .L'audio se diffuse de toute la surface de la pièce.Les changements de volume dépendent de la distance entre l'écouteur de son de l'utilisateur et la position de la partie, ainsi que de sa taille.
Enfant d'un Attachment, MeshPart, TrussPart, 2>Class.WedgePart2>, ou 5>Class.CornerWedgePart5>.L'audio se diffuse vers l'extérieur du point de contact unique ou du centre de pièce.Volume change en fonction de la distance entre le lecteur de son de l'utilisateur et la position d'attribut/pièce.
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 du lecteur d'audio de l'utilisateur ou de la rotation.

Audio positionnel

L'audio positionnel est l'audio que les utilisateurs ne peuvent entendre que près d'un emplacement spécifique dans l'expérience. Il existe deux types d'audio de position que vous pouvez utiliser : volumétrique et point source.

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 est dans un BasePart avec un enfant

La taille de la

L'audio volumétrique est utile pour n'importe quelle vidéo qui doit être immersive 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 avec le placement d'un objet Sound sur BaseParts de différentes tailles et positions des utilisateurs, vous pouvez entend

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

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

  2. Dans la Fenêtre propriétés , naviguez jusqu'à la propriété VolumetricAudio , puis définissez-la sur Activé .

  3. Dans la fenêtre Explorateur , passez la souris sur un BasePart, puis cliquez sur le bouton ⊕. Un menu contextuel s'affiche.

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

  5. Dans la fenêtre propriétés , naviguez jusqu'à la SoundId propriété et saisissez un ID audio valide.

  6. (Facultatif) Si vous souhaitez que l'audio commence à jouer lorsque l'expérience commence, activez la propriété Jouer .

Point de source

Contrairement à l'audio volumétrique, l'audio de source de point ne se diffuse que d'un seul point de source. Ce type d'audio est utile pour les explosions, les bruitages d'impact, les appareils électroniques et le dialogue.

Pour créer un objet Sound pour l'audio de source point :

  1. Dans la fenêtre Explorateur , passez la souris sur une pièce, une gouttière, un coin ou un coin d'angle, puis cliquez sur le bouton ⊕. Un menu contextuel s'affiche.

  2. Dans le menu, insérez un son .

  3. Dans la fenêtre propriétés , naviguez jusqu'à la SoundId propriété et saisissez un ID audio valide.

  4. (Facultatif) Si vous souhaitez que l'audio commence à jouer lorsque l'expérience commence, activez la propriété Jouer .

Audio de fond

L'audio de fond se joue au même volume, peu importe où se trouve l'utilisateur dans votre expérience. Ce type d'audio est utile pour la musique que vous voulez jouer pour les utilisateurs, surtout lorsque vous voulez créer un soundtrack de plusieurs fichiers audio.

Il est préférable de garder tous les objets Sound pour l'audio de fond dans un seul emplacement du Workspace pour les buts d'organisation dans la mesure où vous continuez à ajouter et à modifier de l'audio dans votre expérience. L'exemple suivant stocke le nouveau objet Sound sous le conteneur SoundService, car ce service détermine

Pour créer un objet Sound pour l'audio de fond :

  1. Dans la fenêtre Explorateur , passez la souris sur SoundService , puis cliquez sur le bouton ⊕. Un menu contextuel s'affiche.

  2. Dans le menu, insérez un son .

  3. Dans la fenêtre propriétés , naviguez jusqu'à la SoundId propriété et saisissez un ID audio valide.

  4. (Facultatif) Si vous souhaitez que l'audio commence à jouer lorsque l'expérience commence, activez la propriété Jouer .

  5. (Facultatif) Si cet objet Sound est la seule piste que vous souhaitez jouer dans l'emplacement, activez sa propriété Looped .

Personnalisation des objets sonores

Sound les propriétés d'objet travaillent ensemble pour influencer la façon dont les utilisateurs expérimentent votre audio, telles que :

  • Quel volume ils entendent en individuel et en relation l'un avec l'autre ( Volume ).
  • Comment ils perçoivent le volume lorsqu'ils se détachent de la source audio ( RollOffMinDistance , RollOffMaxDistance et RollOffMode )
  • Quelle partie de l'audio qu'ils peuvent écouter ( TimePosition ).
  • À quelle vitesse et à quelle fréquence ils l'entendent ( PlaybackSpeed ).
  • Si l'audio se répète automatiquement lors de la finition ( Looped ).

Volume

La propriété Volume vous permet de définir le volume de votre audio n'importe où de 0 (silence) à 10 (boom). Si vous voulez modifier le volume de plusieurs objets 1> Class.Sound1> à la fois, parent-les sous un 4> groupe sonore4>.

RollOffMinDistance et RollOffMaxDistance

RollOffMinDistance et Class.Sound.RollOffMinDistance|RollOffMax

Pour les sources audio de point, RollOffMinDistance et RollOffMaxDistance fonctionnent comme l'audio volumétrique, mais la distance de défilement de ces propriétés ne gagne pas l'objet, mais il n'a pas d'effet sur la distance en dehors de la source du point.

Modes de déploiement

La propriété RollOffMode vous permet de décider comment l'audio s'estompe au fur et à mesure que la distance entre le lecteur de l'utilisateur et l'objet Sound augmente. Vous pouvez définir cette propriété sur l'un des quatre valeurs de l'encemble Enum.RollOffMode.

Modes de déploiementDescription
Inverse (par défaut)Le volume initialement s'estompe brusquement à partir de RollOffMinDistance, mais le volume s'estompe plus graduellement que plus un utilisateur s'approche de la RollOffMaxDistance. Une fois qu'ils atteignent la RollOffMaxDistance, le son s'arrête.
LinearLe volume varie linéairement entre RollOffMinDistance et RollOffMaxDistance. Une fois qu'un utilisateur atteint le RollOffMaxDistance, l'audio tombe en silence.
InverseTaperedLe volume suit le modèle inversé lorsque vous êtes près de RollOffMinDistance et le modèle linéaire carré lorsque vous êtes près de RollOffMaxDistance . Les approches audio approchent le silence au point de distance maximale.
LinearSquareLe volume varie entre RollOffMinDistance et RollOffMaxDistance avec une relation linéaire carrée. Les approches audio atteignent le silence au point de distance maximum.

Vitesse de lecture

La propriété PlaybackSpeed vous permet de déterminer la vitesse à laquelle votre audio joue. Par exemple, si vous avez défini la valeur PlaybackSpeed sur une valeur de 2, votre audio joue deux fois plus vite et un octave plus haut dans le pitch. De même

Position dans le temps

La propriété TimePosition affiche, en secondes, la position dans l'échantillon audio qu'un utilisateur entend actuellement. Cette propriété est utile pour jouer une section de l'échantillon audio, ou déclencher un événement pour se produire une fois que l'audio atteint une position spécifique. Par exemple, le code suivant génère une particule émettrice de cercle blanc au-dessus d'une partie dans une gamme de temps limitée d'un mor


local RunService = game:GetService("RunService")
-- 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()
-- Démarrer vérifier si l'émetteur doit être activé
RunService.Heartbeat:Connect(function()
-- Activer l'émetteur dans une tranche de temps de l'audio ; sinon, désactivez-le
if sound.TimePosition >= 5 and sound.TimePosition < 20 then
emitter.Enabled = true
else
emitter.Enabled = false
end
end)

Loopé

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

Objets sonores de script

Jouer de l'audio contextuellement

En dehors de l'auto-l'audio via la propriété Sound de l'objet Playing, vous pouvez jouer le contexte audio à partir d'un LocalScript par l'appel 1>Class.Sound:Play()|Play() sur l'objet correspondant4>Class.Sound4>. Par exemple :


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

Alternativement, si l'endroit prendra 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 then
musicTrack:Play()
end

Jouer l'interface audio

Vous pouvez jouer l'audio de l'interface pour GuiObjects tels que boutons en connectant un objet Sound à l'événement 1> Class.GuiButton.Activated|Activated1> . Cela vous permet de fournir des commentaires audio aux utilisateurs, tels que lorsqu'ils passent la souris sur ou appuient dessus. Cela vous permet de fournir des commentaires audio aux utilis

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

  1. Dans la fenêtre Explorateur, passez la souris sur le TextButton ou ImageButton, puis cliquez sur le bouton ⊕. Un menu contextuel s'affiche.
  2. Dans le menu, insérez soit un LocalScript ou un Script avec RunContext défini sur 2>Ensemble.RunContext.Client2>.
  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)