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.
Olaylar
Başka bir örnek AudioFilter üzerinden bir Wire aracılığıyla bağlanır veya bağlantı kesilirse ateş eder.