AudioFilter
*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.
AudioFilter regola il contenuto di frequenza degli stream audio.Fornisce un Input pin e un Output pin che può essere collegato/da da Wires .AudioFilter utilizza le sue FilterType , Gain e Q proprietà per determinare cosa fare intorno a un particolare taglio Frequency .
Campioni di codice
Un filtro audio può essere utilizzato per cambiare il contenuto di frequenza degli stream audio.In questo esempio, un filtro audio viene utilizzato per rendere l'uscita dell'emittente audio più soffusa quando c'è un muro tra esso e l'ascoltatore audio.
-- Questo presuppone che l'area di lavoro contenga una parte con un AudioEmitter e un AudioPlayer e la fotocamera abbia un 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
-- Crea un nuovo filtro audio
local filter: AudioFilter = Instance.new("AudioFilter")
filter.FilterType = Enum.AudioFilterType.Lowpass12dB
filter.Frequency = 22000
filter.Q = math.sqrt(2) / 2 -- Questo valore Q produce un lowpass piatto per il tipo di pendenza 12dB
filter.Parent = part
-- Posiziona il filtro audio tra il player e l'Emitter
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)
-- Aggiorna il filtro in base alle posizioni dell' mittente e del ricevitore
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)
Sommario
Proprietà
Se gli stream audio vengono passati attraverso senza essere influenzati da questo effetto.
Il tipo di curva della banda rappresentata dal Filtro.
La frequenza centrale attorno alla quale il filtro agisce.
Per i filtri di picco e di scaffale, i controlli aumentano o riducono il volume.
Per il picco, il filtro lowpass, highpass, bandpass e notch, controlla la selettività o la risonanza.
Metodi
Restituisce un array di Wires che sono connessi al pin specificato.
Restituisce la risposta di magnitudine del filtro alla frequenza data.
Eventi
Si accende quando un'altra istanza è connessa o disconnessa dal AudioFilter attraverso un Wire .
Proprietà
Bypass
Se true , gli stream audio vengono passati attraverso senza essere influenzati da questo effetto.
Editor
FilterType
Il tipo di curva di risposta della frequenza che verrà utilizzata per filtrare il segnale audio.Ogni tipo di curva influisce sul contenuto di frequenza dell'audio in modi diversi.
Frequency
La frequenza centrale in hertz della curva rappresentata dal Filtro.Generalmente, regolare questo valore su o giù corrisponde a uno spostamento orizzontale nella curva di frequenza generale.Varia da 20 a 22000.
Gain
Il valore di guadagno in decibel utilizzato per determinare il livello di volume della curva rappresentata dal Filtro.Si applica solo quando il FilterType è Peak , LowShelf , o HighShelf .Varia da -30 a 30.
Il valore di qualità utilizzato per determinare la pendenza o la risonanza della curva rappresentata dal Filtro.Si applica solo quando il FilterType è Peak , Lowpass[x]dB , Highpass[x]dB , Bandpass , o Notch .Varia da 0.1 a 10.
Per FilterType valori di Lowpass12dB e Highpass12dB , un valore di Q di sqrt(2) / 2 o 0.707 corrisponde a un filtro piatto a una pendenza di 12dB/ottava.
Metodi
GetConnectedWires
Restituisce un array di Wires che sono connessi al pin specificato. AudioFilter ha un pin "Input" e un pin "Output".
Parametri
Restituzioni
GetGainAt
Restituisce il valore di guadagno, in decibel, della curva di risposta della frequenza rappresentata dal filtro alla frequenza data, in hertz.Questo può essere utilizzato per campionare la forma esatta del filtro in luoghi chiave o in blocco.
Parametri
La frequenza, in hertz, da campionare.
Restituzioni
Il valore di guadagno, in decibel, alla frequenza data.
Eventi
WiringChanged
Evento che si attiva dopo che un Wire diventa connesso o disconnesso, e che Wire è ora o era precedentemente connesso a un pin sulla AudioFilter e a qualche altra esempiowirable.
Parametri
Se l'istanza è stata connessa o disconnessa.
Il pin sul AudioFilter che i bersagli Wire .
Il Wire tra la AudioFilter e l'altra esempio.