Aprenda
Classe do mecanismo
AudioFilter

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.


Amostras de código
Filtro de Emissor
-- Isso assume que o workspace contém uma Part com um AudioEmitter e um AudioPlayer, e a câmera tem um AudioListener
local RunService = game:GetService("RunService")
local part: BasePart = workspace.Part
local camera: Camera = workspace.CurrentCamera
local audioPlayer: AudioPlayer = part.AudioPlayer
local audioEmitter: AudioEmitter = part.AudioEmitter
local audioListener: AudioListener = camera.AudioListener
local raycastParams = RaycastParams.new()
raycastParams.FilterDescendantsInstances = { audioEmitter.Parent }
raycastParams.FilterType = Enum.RaycastFilterType.Exclude
-- Cria um novo AudioFilter
local filter: AudioFilter = Instance.new("AudioFilter")
filter.FilterType = Enum.AudioFilterType.Lowpass12dB
filter.Frequency = 22000
filter.Q = math.sqrt(2) / 2 -- Este valor de Q produz um filtro passa-baixa plano para o tipo de inclinação de 12dB
filter.Parent = part
-- Coloque o AudioFilter entre o jogador e o emissor
local function wireTo(source: Instance, target: Instance): Wire
local wire = Instance.new("Wire")
wire.SourceInstance = source
wire.TargetInstance = target
wire.Parent = target
end
wireTo(audioPlayer, filter)
wireTo(filter, audioEmitter)
-- Atualize o filtro com base nas posições do emissor e do ouvinte
RunService.Heartbeat:Connect(function()
local emitterPos: Vector3 = part.Position
local listenerPos: Vector3 = camera.CFrame.Position
local raycastResult = workspace:Raycast(emitterPos, (listenerPos - emitterPos), raycastParams)
filter.Frequency = if raycastResult then 500 else 22000
end)

Referência API
Propriedades
Bypass
Ler Parallel
Recursos: Audio
AudioFilter.Bypass:boolean

FilterType
Ler Parallel
Recursos: Audio
AudioFilter.FilterType:Enum.AudioFilterType

Frequency
Ler Parallel
Recursos: Audio
AudioFilter.Frequency:number

Gain
Ler Parallel
Recursos: Audio
AudioFilter.Gain:number

Q
Ler Parallel
Recursos: Audio
AudioFilter.Q:number

Métodos
GetConnectedWires
Recursos: Audio
AudioFilter:GetConnectedWires(pin:string):{Wire}
Parâmetros
pin:string
Devolução

GetGainAt
Recursos: Audio
AudioFilter:GetGainAt(frequency:number):number
Parâmetros
frequency:number
Devolução

GetInputPins
Recursos: Audio
AudioFilter:GetInputPins():{any}
Devolução

GetOutputPins
Recursos: Audio
AudioFilter:GetOutputPins():{any}
Devolução

Eventos
WiringChanged
Recursos: Audio
AudioFilter.WiringChanged(
connected:boolean, pin:string, wire:Wire, instance:Instance
Parâmetros
connected:boolean
pin:string
wire:Wire
instance:Instance

©2026 Roblox Corporation, Roblox, o logotipo Roblox e Powering Imagination estão entre nossas marcas registradas e não registradas nos EUA e em outros países.