La reproducción de audio se realiza a través de los objetos Sound que emiten audio dentro de una experiencia. Roblox asigna a cada Class.Sound un ID de audio único que puedes asignar a los objetos Sound para reproducir un efecto de sonido específico o una pista de música. Puedes establecer que reproducir este audio automáticamente en el tiempo de ejecución, o desencadenarlo para reproducir desde
Para modificar el volumen de varios objetos Sound, puedes asignarlos a un grupo de sonido y controlar el volumen de todo el grupo, así como aplicar efectos dinámicos.
Creando Objetos de Sonido
Hay tres ubicaciones en las que puedes crear un objeto Sound y cada ubicación determina cómo se emite el audio y cambia el volumen en relación con la posición del usuario dentro de la experiencia.
Ubicación | Cómo emite audio | Cómo cambian los volúmenes |
---|---|---|
Hijo de un bloques, esfera o cilindro BasePart . | El audio se emite hacia afuera de toda la superficie de la parte. | Cambios de volumen dependiendo de la distancia entre el oyente de sonido del usuario y la posición de la parte, así como su tamaño. |
Hijo de un Attachment, MeshPart, TrussPart, 1> Class.WedgePart1> o 4> Class.CornerWedgePart4> . | El audio se emite hacia afuera del punto de atadura única o del centro de la parte. | Cambios de volumen según la distancia entre el oyente de sonido del usuario y la posición de la cola / parte. |
Dentro de SoundService o Workspace . | El audio se emite a lo largo de la experiencia. | La posición de volumen y la posición de la sonda del usuario siguen siendo las mismas independientemente de la posición de escucha del usuario o la rotación. |
Audio posicional
El audio posicional es el audio que los usuarios solo pueden escuchar cerca de una posición específica dentro de la experiencia. Hay dos tipos de audio posicional que puede utilizar: volumenétrico y de origenpunto.
Volumétrico
El audio volumétrico es la opción de audio más realista, ya que cambia dinámicamente dependiendo de la posición del usuario para la de origende audio. Por ejemplo, si el usuario está dentro de un BasePart con un objeto
El tamaño de la
El audio volumétrico es útil para cualquier audio que necesita ser inmersivo alrededor de un usuario y cambiar dinámicamente dependiendo de la posición del usuario, como un escenario de concierto o zonas de ambiente como la lluvia. Cuando experimentas con colocar un objeto de clase Class.Sound en Class.BasePart|BaseParts de diferentes tamaños y posiciones de los usuarios, puedes escuchar cómo el audio volumétrico puede ser inmers
Para crear un objeto de Sound para el sonido, audiovolumétrico:
En la ventana Explorador , seleccione Servicio de sonido .
En la ventana Propiedades , navegue a la propiedad VolumetricAudio y luego configure para Habilitado .
En la ventana Explorador , pasa el cursor sobre un BasePart , luego haz clic en el botón ⊕. Se muestra un menú contextual.
Del menú, insere un Sonido .
En la ventana Propiedades , navegue hasta la propiedad SoundId y ingrese un ID de propiedad de audio válido.
(Opcional) Si quieres que el audio comience a reproducirse cuando la experiencia comience, habilita la propiedad Reproducir .
Fuente de datos
Contrario al sonido, audiovolumétrico, el audio de origen de punto solo se emite de un solo punto de origen. Este tipo de audio es útil para explosiones, ruidos de impacto, dispositivos electrónicos y diálogos.
Para crear un objeto de Sound para el sonido, audiode la fuente del punto:
En la ventana Explorador , pasa el cursor sobre un conexión, una escalera, un cuñao un cuña, luego haz clic en el botón ⊕. Se muestra un menú contextual.
Del menú, insere un Sonido .
En la ventana Propiedades , navegue hasta la propiedad SoundId y ingrese un ID de propiedad de audio válido.
(Opcional) Si quieres que el audio comience a reproducirse cuando la experiencia comience, habilita la propiedad Reproducir .
Audio de Fondo
El audio de fondo se reproduce con el mismo volumen sin importar dónde se encuentre el usuario dentro de su experiencia. Este tipo de audio es útil para la música que quieres reproducir para los usuarios, especialmente cuando quieres crear una pista de sonido de varios archivos de audio.
Es mejor guardar todos los objetos de Sound para el audio de fondo en una sola ubicación del espacio de trabajo para propósitos de organización a medida que continúa agregando y editando audio dentro de su experiencia. El siguiente ejemplo almacena el nuevo objeto de Sound bajo el contenedor SoundService, ya que este servicio determina cómo se reproducen los objetos de 2>Class
Para crear un objeto de Sound para el sonido, audiode fondo:
En la ventana Explorer, pasa el cursor sobre SoundService, luego haz clic en el botón ⊕. Se muestra un menú contextual.
Del menú, insere un Sonido .
En la ventana Propiedades , navegue hasta la propiedad SoundId y ingrese un ID de propiedad de audio válido.
(Opcional) Si quieres que el audio comience a reproducirse cuando la experiencia comience, habilita la propiedad Reproducir .
(Opcional) Si este objeto de Sound es el único que quieres reproducir en el lugar, habilita su propiedad de Looped .
Personalizar Objetos de Sonido
Sound propiedades del objeto trabajan juntas para influir en cómo los usuarios experimentan tu sonido, audio, como:
- Cuán fuertes escuchan audio específico individualmente y en relación con uno otro (Volumen).
- Cómo perciben el volumen cuando se alejan de la fuente de audio ( RollOffMinDistance , RollOffMaxDistance y RollOffMode )
- ¿A qué parte de la música pueden escuchar ( TimePosition ).
- Cuán rápido y en qué pitch lo escuchan ( Velocidad de Reproducción ).
- Si el audio se reproducirá automáticamente al completarse (Repetir).
Volumen
La propiedad Volume le permite establecer el volumen de su audio en cualquier lugar de 0 (silencio) a 10 (boom). Si desea cambiar el volumen de varios objetos de 1> Class.Sound1> en un grupo de volumen, padrelos en un grupo de volumen de 4> sonido4>.
RollOffMinDistance y RollOffMaxDistance
RollOffMinDistance y Class.Sound.RollOffMaxDistance|RollOffMaxDistance
Para el sonido, audiode la fuente del punto, RollOffMinDistance y RollOffMaxDistance funcionan similarmente a los volúmenes de sonido, audiovolumétricos, pero la distancia de desplazamiento de estas propiedades no se extiende al objeto, solo afecta la distancia desde la de origendel punto.
Modo de desactivado
La propiedad RollOffMode le permite decidir cómo el audio se desvanecerá a medida que la distancia entre el oyente del usuario y el objeto padre del objeto Sound aumenta. Puedes establecer esta propiedad en uno de cuatro valores del objeto Enum.RollOffMode..
Modo de desactivado | Descripción |
---|---|
Inverse (por defecto) | El volumen inicialmente se desvanece bruscamente desde RollOffMinDistance , pero el volumen se desvanece más gradualmente cuanto más cerca se acerca un usuario al alcanzar el RollOffMaxDistance . Una vez que alcanzan el RollOffMaxDistance, el audio se hace silencioso. |
Linear | El volumen disminuye linealmente entre RollOffMinDistance y RollOffMaxDistance . Una vez que un usuario alcanza el RollOffMaxDistance, el audio se hace silencioso. |
InverseTapered | El volumen sigue el modelo inverso cuando se acerca a RollOffMinDistance y el modelo cuadrado lineal cuando se acerca a RollOffMaxDistance . Los audio se acercan al silencio en el punto de máxima distancia. |
LinearSquare | El volumen se desplaza entre RollOffMinDistance y RollOffMaxDistance con una relación lineal cuadrática. Los sonidos se acercan a la máxima distancia. |
Velocidad de reproducción
La propiedad PlaybackSpeed le permite determinar la velocidad a la que se reproduce su audio. Por ejemplo, si establece la propiedad PlaybackSpeed en un valor de 2 , su audio se reproduce dos veces más rápido y una octava más alto en el tono. Del mismo modo, si
PlaybackSpeed = 0.5 | PlaybackSpeed = 1.0 | PlaybackSpeed = 2.0 |
Posición del tiempo
La propiedad TimePosition muestra, en segundos, qué posición dentro de la muestra de audio que un usuario está escuchando. Esta propiedad es útil para jugar solo una sección de la muestra de audio o para activar un evento para que ocurra una vez que el audio llegue a una posición específica. Por ejemplo, el siguiente código muestra una partícula emisora de un anillo de partículas blanco por encima de una parte dentro de un rango de
local RunService = game:GetService("RunService")
-- Crear una nueva parte
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
-- Crear una pieza de accesorio
local attachment = Instance.new("Attachment")
attachment.Position = Vector3.new(0, 0.5, 0)
attachment.Parent = part
-- Crear un emisor de partículas en la conexión
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
-- Crear un sonido en el conexión
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://1835405646"
sound.Parent = attachment
-- Reproducir el sonido
sound:Play()
-- Comience a verificar si el emisor debe estar habilitado
RunService.Heartbeat:Connect(function()
-- Habilita el emisor dentro de un rango de tiempo del sonido, audio; de lo contrario, desactivarlo
if sound.TimePosition >= 5 and sound.TimePosition < 20 then
emitter.Enabled = true
else
emitter.Enabled = false
end
end)
Repetir
La propiedad Looped le permite repetir el audio después de que termine de reproducirse. Cuando se establece en true, el audio del objeto Sound se reproducirá nuevamente. Esto es útil para aplicar a 1> el audio de fondo para garantizar que su experiencia nunca tenga un silencio inesperado.
Objetos de sonido de programación
Reproduciendo audio contextualmente
Aparte de jugar automáticamente el audio a través de la propiedad Sound del objeto Playing, puedes jugar el contexto del audio desde un LocalScript al llamar 1> Class.Sound:Play()|Play()1> en el objeto de correspondencia 4> Class.Sound4> . Por ejemplo:
local sound = Instance.new("Sound")sound.SoundId = "rbxassetid://9120386436"sound.Looped = truesound.Parent = workspacesound:Play()
Alternativamente, si el lugar presentará múltiples pistas, puedes reproducir una pista específica desde un LocalScript :
local SoundService = game:GetService("SoundService")local musicTrack = SoundService:FindFirstChild("LucidDream")if musicTrack not musicTrack.IsPlaying thenmusicTrack:Play()end
Reproducir audio de la interfaz
Puedes reproducir audio de interfaz para GuiObjects como botones al conectar un objeto de sonido Sound a la escucha de eventos 1> Class.GuiButton.Activated|Activated1> . Esto te permite proporcionar comentarios auditivos a los usuarios, como cuando pasan el cursor sobre o presionan.
Para reproducir el audio de un objeto de Sound cuando un usuario activa un TextButton o ImageButton :
- En la ventana Explorer, pasa el cursor sobre el TextButton o ImageButton, luego haz clic en el botón ⊕. Se muestra un menú contextual.
- Desde el menú, inserte un LocalScript o un Script con RunContext establecido en 2>Encuentro.RunContext.Client2> .
- Pega el código siguiente en el script, luego reemplaza SOUND_NAME con el nombre de un objeto Class.Sound dentro del contenedor Class.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)