Objetos de sonido

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

La reproducción de audio ocurre a través de Sound objetos que emiten audio dentro de una experiencia.Roblox asigna a cada archivo de audio una identificación única que puedes asignar a Sound para reproducir un efecto de sonido o pista de música específica.Puedes establecer este audio para que se reproduzca automáticamente en tiempo de ejecución o activarlo para que se reproduzca desde scripts.

Para modificar la reproducción de múltiples objetos , puedes asignarlos a un grupo de sonido y controlar el volumen de todo el grupo, así como aplicar efectos dinámicos .

Crear 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 los cambios de volumen en relación con la posición del usuario dentro de la experiencia.

LocalizaciónCómo emite el audioCómo cambia el volumen
Hijo de un bloques, esfera o cilindro BasePart .El audio se emite hacia afuera desde toda la superficie de la parte.Los cambios de volumen dependen de la distancia entre el reproductor de sonido del usuario y la posición de la parte, así como de su tamaño.
Hijo de un Attachment , MeshPart , TrussPart , WedgePart , o CornerWedgePart .El audio se emite hacia afuera desde el punto de anclaje único o el centro de la parte.Los cambios de volumen dependen de la distancia entre el reproductor de sonido del usuario y la posición de la附件/part.
Dentro de SoundService o Workspace.El audio se emite a lo largo de la experiencia.La posición del volumen y el panel se mantiene igual independientemente de la posición o rotación del receptor de sonido del usuario.

sonido, audioposicional

El audio posicional es audio que solo los usuarios pueden escuchar cerca de una posición específica dentro de la experiencia.Hay dos tipos de audio posicional que puedes utilizar: volumé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 con respecto a la de origende audio.Por ejemplo, si el usuario está dentro de un BasePart con un objeto hijo Sound , el audio se reproduce alrededor del usuario, similar a la música en auriculares que se reproduce al mismo volumen en cada bocina.Cuando el usuario sale de la parte, el audio disminuye gradualmente en volumen y se vuelve más direccional por bocina, moviéndose alrededor de la cabeza del usuario cuando su receptor gira.Para obtener información sobre las propiedades que controlan cuán fuerte es tu audio a diferentes distancias de la parte, vea RollOffMinDistance y RollOffMaxDistance.

El tamaño del BasePart también afecta el volumen del sonido, audio, ya que los más grandes BaseParts producen una zona más amplia en la que los usuarios pueden escuchar el audio y cuando un usuario se desplaza lejos de un grande BasePart, el volumen disminuye más lentamente.El siguiente ejemplo muestra un BasePart que es el tamaño de una ciudad con un objeto Sound que reproduce sonido, audioambiental.Los usuarios A y B experimentan el audio de manera diferente: el usuario B está más cerca del grande BasePart, y escuchan principalmente el audio con la misma intensidad en ambos altavoces.Por el contrario, el usuario A está más lejos de la ciudad, por lo que el audio que escucha es más silencioso y más dirigido que el usuario B, que juega a diferentes volúmenes en cada uno de sus altavoces.

El audio volumétrico es útil para cualquier audio que necesite 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 el colocación de un objeto Sound en BaseParts de diferentes tamaños y posiciones de los usuarios, puedes escuchar cómo puede ser el audio volumétrico inmersivo.

Para crear un objeto Sound volumétrico de sonido, audio:

  1. En la ventana Explorador , seleccione Servicio de sonido .

  2. En la ventana Propiedades , navegue hasta la propiedad VolumetricAudio , luego establezca el valor en Habilitado .

  3. En la ventana Explorador , pasa el mouse sobre un BasePart, luego haz clic en el botón ⊕. Se muestra un menú contextual.

  4. Desde el menú, insira un Sonido .

  5. En la ventana Propiedades, navegue hasta la propiedad SoundId y ingrese un ID de elemento de audio válido .

  6. (Opcional) Si quieres que el audio comience a reproducirse cuando la experiencia comience, habilita la propiedad Reproducir .

Fuente de punto

A diferencia del sonido, audiovolumétrico, el audio de fuente puntual solo emite desde un solo punto de origen.Este tipo de audio es útil para explosiones, ruidos de impacto, dispositivos electrónicos y diálogo.

Para crear un objeto Sound para sonido, audiode fuente de punto:

  1. En la ventana Explorador , pasa el mouse sobre un archivo conexión, truss, cuñao cuñade esquina, luego haz clic en el botón ⊕. Se muestra un menú contextual.
  2. Desde el menú, insira un Sonido .
  3. En la ventana Propiedades, navegue hasta la propiedad SoundId y ingrese un ID de elemento de audio válido .
  4. (Opcional) Si quieres que el audio comience a reproducirse cuando la experiencia comience, habilita la propiedad Reproducir .

sonido, audiode fondo

El audio de fondo se reproduce con el mismo volumen sin importar dónde viaje el usuario dentro de tu experiencia.Este tipo de audio es útil para la música que quieres reproducir para los usuarios, especialmente cuando quieres crear una banda sonora de múltiples archivos de audio.

Es mejor mantener todos los objetos Sound para audio de fondo en una ubicación única del espacio de trabajo con fines de organización a medida que continúas agregando y editando audio dentro de tu experiencia.El siguiente ejemplo almacena el nuevo objeto Sound bajo el contenedor SoundService, ya que este servicio determina cómo juegan los objetos Sound en las experiencias.

Para crear un objeto Sound para sonido, audiode fondo:

  1. En la ventana Explorador , pasa el mouse sobre Servicio de sonido , luego haz clic en el botón ⊕. Se muestra un menú contextual.
  2. Desde el menú, insira un Sonido .
  3. En la ventana Propiedades, navegue hasta la propiedad SoundId y ingrese un ID de elemento de audio válido .
  4. (Opcional) Si quieres que el audio comience a reproducirse cuando la experiencia comience, habilita la propiedad Reproducir .
  5. (Opcional) Si este objeto Sound es el único track que quieres reproducir en el lugar, habilita su propiedad Repetida .

Personalizar objetos de sonido

Sound las propiedades del objeto trabajan juntas para influir en cómo los usuarios experimentan tu sonido, audio, como:

Volumen

La propiedad Volume permite establecer el volumen de tu audio en cualquier lugar desde 0 (silencio) hasta 10 (brillo).Si quieres cambiar el volumen de múltiples objetos a la vez, ponlos bajo un grupo de sonido .

RollOffMinDistancia y RollOffMaxDistancia

RollOffMinDistance y RollOffMaxDistance determinan el rango de cómo un usuario percibe el volumen del sonido, audioposicional.Para el sonido, audiovolumétrico, es la distancia mínima en studs que el audio comienza a disminuir en volumen cuando el oyente del cliente se aleja del padre , y la propiedad es la distancia máxima en studs que un oyente del cliente puede escuchar el audio desde la superficie del objeto.

Para el sonido, audiode fuente puntual, RollOffMinDistance y RollOffMaxDistance trabajan de manera similar al sonido, audiovolumétrico, pero la distancia de desaparición de estas propiedades no rodea al objeto, solo influye la distancia desde el punto de de origen.

Modo de desplazamiento

La propiedad RollOffMode permite decidir cómo disminuye el audio a medida que aumenta la distancia entre el receptor del usuario y el padre del objeto Sound.Puedes establecer esta propiedad a uno de cuatro valores del enum Enum.RollOffMode .

Modo de desplazamientoDescripción
Inverse (por defecto)El volumen inicialmente desaparece bruscamente de RollOffMinDistance , pero el desaparición del volumen se vuelve más gradual cuanto más cerca está un usuario de alcanzar el RollOffMaxDistance .Una vez que lleguen al RollOffMaxDistance, el audio se queda en silencio.
LinearEl volumen disminuye linealmente entre RollOffMinDistance y RollOffMaxDistance . Una vez que un usuario llega al RollOffMaxDistance , el audio se vuelve silencioso.
InverseTaperedEl volumen sigue el modelo inverso cuando está cerca de RollOffMinDistance y el modelo cuadrático lineal cuando un usuario está cerca de RollOffMaxDistance .Las aproximaciones de audio alcanzan el silencio en el punto de distancia máxima.
LinearSquareEl volumen desaparece entre RollOffMinDistance y RollOffMaxDistance con una relación cuadrada lineal. Los enfoques de audio se silencian en el punto de distancia máxima.

Velocidad de reproducción

La propiedad PlaybackSpeed permite determinar la velocidad a la que se reproduce tu audio.Por ejemplo, si estableces el PlaybackSpeed a un valor de 2 , tu audio se reproduce el doble de rápido y una octava más alto en el tono.Del mismo modo, si lo configuras con un valor de 0.5 , tu audio se reproduce dos veces más lento y una octava más baja en la tonalidad.

Posición de tiempo

La propiedad TimePosition muestra, en segundos, qué posición dentro de la muestra de audio está escuchando actualmente un usuario.Esta propiedad es útil para jugar solo una sección de la muestra de audio o para activar un evento una vez que el audio llegue a una posición específica.Por ejemplo, el siguiente ejemplo de código hace que un emisor de partículas emita una partícula de anillo blanco sobre una parte dentro de un rango de tiempo limitado de una pista de audio.


local RunService = game:GetService("RunService")
local Workspace = game:GetService("Workspace")
-- 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 un archivo adjunto en la parte
local attachment = Instance.new("Attachment")
attachment.Position = Vector3.new(0, 0.5, 0)
attachment.Parent = part
-- Crear un emisor de partículas en el archivo 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 archivo 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
emitter.Enabled = sound.TimePosition >= 5 and sound.TimePosition < 20
end)

Repetir

La propiedad Looped permite repetir el audio después de que haya terminado de reproducirse.Cuando se establece en true, el audio del objeto Sound se reproduce nuevamente.Esto es útil para aplicar a audio de fondo para garantizar que tu experiencia nunca tenga un silencio brusco.

Objetos de sonido de script

Reproducir audio contextualmente

Aparte de reproducir automáticamente audio a través de la propiedad del objeto , puedes reproducir audio contextualmente desde un llamando a en el objeto correspondiente.Por ejemplo:


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

Alternativamente, si el lugar incluirá 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 then
musicTrack:Play()
end

Reproducir sonido, audiode la interfaz

Puedes reproducir audio de interfaz para GuiObjects como botones conectando un objeto Sound a el receptor de eventos Activated.Esto te permite proporcionar comentarios auditivos a los usuarios, como cuando pasan el mouse sobre ellos o los presionan.

Para reproducir el audio de un objeto Sound cuando un usuario activa un TextButton o ImageButton :

  1. En la ventana Explorador, pasa el mouse sobre el TextButton o ImageButton, luego haz clic en el botón ⊕. Se muestra un menú contextual.
  2. Desde el menú, insira un LocalScript o un Script con RunContext establecido en Enum.RunContext.Client .
  3. Pega el siguiente código en el script, luego reemplaza SOUND_NAME con el nombre de un objeto Sound ubicado dentro del contenedor 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)