AudioFilter
*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.
AudioFilter ses akışlarının frekans içeriğini ayarlar.Bir Giriş pini ve bir Çıkış pini sağlar, które tarafından/dan çıkarılabilir ve bağlanabilir.AudioFilter kullanır FilterType , Gain ve Q özelliklerini belirli bir kesinti etrafında ne yapacağını belirlemek için kullanır Frequency .
Kod Örnekleri
Bir Ses Filtresi, ses akışlarının frekans içeriğini değiştirmek için kullanılabilir.Bu örnekte, AudioEmitter çıkısının, arasında bir duvar olduğunda daha sessiz hale gelmesi için bir Ses Filtresi kullanılır.
-- Bu, çalışma alanının bir Ses Çıkışı ve bir Ses Oynatıcı ile bir Parça içerdiğini ve kameranın bir Ses Dinleyicisi olduğunu varsayar
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
-- Yeni bir Ses Filtri oluştur
local filter: AudioFilter = Instance.new("AudioFilter")
filter.FilterType = Enum.AudioFilterType.Lowpass12dB
filter.Frequency = 22000
filter.Q = math.sqrt(2) / 2 -- Bu Q değeri, 12dB eğilme türü için düz bir düşük geçiş üretir
filter.Parent = part
-- Oyuncu ve yayıncı arasında Ses Filtresi yerleştirin
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)
-- Yayıncı ve dinleyici konumlarına dayanarak filtreyi güncelleştir
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)
Özet
Özellikler
Ses akışlarının bu etkiden etkilenmeden geçip geçmediği.
filtretarafından temsil edilen bantın eğilim türü.
Filtrenin etrafında hareket ettiği merkezi frekans.
Zirvelenme ve raflama filtreleri için, kontrol ses artışı veya azalışını artırır.
Zirvelenme, düşük geçiş, yüksek geçiş, band geçişi ve not filtreleri için, seçiciliği veya rezonansı kontrol eder.
Yöntemler
Belirtilen sabitlebağlı bir dizi Wires döndürür, ki bu pine bağlıdır.
Verilen frekansda filtrenin büyüklük yanıtını döndürür.
Etkinlikler
Başka bir örnek AudioFilter üzerinden bir Wire aracılığıyla bağlanır veya bağlantı kesilirse ateş eder.
Özellikler
Editor
FilterType
Ses sinyalini filtrelemek için kullanılacak frekans yanıtı türü.Her bir eğilim türü, sesin frekans içeriğini farklı şekillerde etkiler.
Frequency
filtretarafından temsil edilen eğrinin merkezi frekansı.Genel olarak, bu değeri yukarı veya aşağı ayarlamak, genel frekans eğrisindeki yatay bir kaymaya karşılık gelir.20 ile 22000 arasında değişir.
Gain
Filtre tarafından temsil edilen eğrinin hacim seviyesini belirlemek için kullanılan desibel değeri.Sadece FilterType , Peak veya LowShelf , veya HighShelf olduğunda uygulanır.30'dan -30'a kadar menziller.
filtretarafından temsil edilen eğilimin veya rezonansın pürüzlüğünü belirlemek için kullanılan kalite değeri.Sadece FilterType , Peak , Lowpass[x]dB , Highpass[x]dB , Bandpass veya Notch durumunda uygulanır.0.1'den 10'a kadar menziller.
For FilterType değerleri için Lowpass12dB ve Highpass12dB , bir Q değeri ile sqrt(2) / 2 veya 0.707 , bir 12dB/oktav eğiminde düz bir filtreye karşılır.
Yöntemler
GetConnectedWires
Belirtilen sabitlebağlı bir dizi Wires döndürür. AudioFilter bir "Giriş" ve bir "Çıkış" sabitlesahiptir.
Parametreler
Dönüşler
GetGainAt
Filtre tarafından temsil edilen frekans yanıtının, desibellerde, kazanma değerini, verilen frekansda, hertz olarak döndürür.Bunu, anahtar yerlerde veya bütün olarak filtrenin kesin şeklini örneklemek için kullanabilirsiniz.
Parametreler
Örneklem için frekans, hertz, içinde.
Dönüşler
Verilen frekansta, desibellerde, kazanç değeri.
Etkinlikler
WiringChanged
Bir bağlantı kurulduktan veya bağlantı kesildikten sonra ateşlenen olay, şimdi şu veya daha önce başka bir sabit parçaya ve bazı diğer kullanılabilir durumlara bağlandı veya bağlantı kesildi.
Parametreler
Instans bağlandı veya bağlantı kesildi.
Hedeflerin AudioFilter üzerindeki düğme. The pin on the that the Wire targets.
Wire arasındaki AudioFilter ve diğer durumarasındaki.