AudioFilter

แสดงที่เลิกใช้งานแล้ว

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

AudioFilter ปรับเนื้อหาความถี่ของสตรีมเสียงมันให้พินอินพุตหนึ่ง **** และพินออก **** หนึ่งพินซึ่งสามารถเชื่อมต่อกับ/จากโดย Wires``Class.AudioFilter ใช้คุณสมบัติ FilterType , Gain และ Q เพื่อกำหนดสิ่งที่ต้องทำรอบจุดตัดที่เฉพาะเจาะจง Frequency

ตัวอย่างโค้ด

An AudioFilter can be used to change the frequency content of audio streams. In this example, an AudioFilter is used to make the AudioEmitter output more muffled when there's a wall between it and the AudioListener.

Emitter Filtering

-- This assumes the workspace contains a Part with an AudioEmitter and an AudioPlayer, and the camera has an 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
-- Create a new AudioFilter
local filter: AudioFilter = Instance.new("AudioFilter")
filter.FilterType = Enum.AudioFilterType.Lowpass12dB
filter.Frequency = 22000
filter.Q = math.sqrt(2) / 2 -- This Q value produces a flat lowpass for the 12dB slope type
filter.Parent = part
-- Put the AudioFilter between the player and the 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)
-- Update the filter based on the positions of the emitter and listener
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)

สรุป

คุณสมบัติ

  • อ่านพร้อมๆ กัน

    ว่าสตรีมเสียงจะผ่านไปโดยไม่ได้รับผลกระทบจากเอฟเฟกต์นี้หรือไม่

  • ไม่ซ้ำ
    การรักษาความปลอดภัยของสคริปต์ Roblox
    อ่านพร้อมๆ กัน
  • อ่านพร้อมๆ กัน

    ประเภทของบล็อกโค้งที่แสดงโดยตัวกรอง

  • อ่านพร้อมๆ กัน

    ความถี่กลางที่ตัวกรองทำงานรอบ

  • อ่านพร้อมๆ กัน

    สำหรับตัวกรองสูงสุดและชั้นวาง ควบคุมการเพิ่มหรือลดระดับเสียง

  • อ่านพร้อมๆ กัน

    สำหรับการเพิ่มสูงสุด การผ่านต่ำ การผ่านสูง การผ่านแบนด์ และตัวกรองโน้ต ควบคุมความเฉพาะหรือความสัมพันธ์

วิธีการ

อีเวนต์

คุณสมบัติ

Bypass

อ่านพร้อมๆ กัน

หาก true สตรีมเสียงจะผ่านไปโดยไม่ได้รับผลกระทบจากเอฟเฟกต์นี้

Editor

ไม่ซ้ำ
การรักษาความปลอดภัยของสคริปต์ Roblox
อ่านพร้อมๆ กัน
อ่านพร้อมๆ กัน

ประเภทของเส้นคำตอบความถี่ที่จะใช้ในการกรองสัญญาณเสียงแต่ละประเภทของโค้งมีผลต่อเนื้อหาความถี่ของเสียงในรูปแบบที่แตกต่างกัน

Frequency

อ่านพร้อมๆ กัน

ความถี่กลางในเฮิร์ตซ์ของโค้งที่แสดงโดยตัวกรองโดยทั่วไปการปรับค่านี้ขึ้นหรือลงจะตรงกับการเลื่อนไปในแนวนอนในความถี่โดยรวมช่วงตั้งแต่ 20 ถึง 22000

Gain

อ่านพร้อมๆ กัน

มูลค่าการได้รับในเดซิเบลที่ใช้ในการกำหนดระดับปริมาณของโค้งที่แสดงโดยตัวกรองใช้ได้เฉพาะเมื่อ FilterType เป็น Peak , LowShelf หรือ HighShelfช่วงตั้งแต่ -30 ถึง 30

อ่านพร้อมๆ กัน

มูลค่าคุณภาพที่ใช้ในการกำหนดความลาดหรือความสะท้อนของโค้งที่แสดงโดยตัวกรองใช้ได้เฉพาะเมื่อ FilterType เป็น Peak , Lowpass[x]dB , Highpass[x]dB , Bandpass หรือ Notchช่วงตั้งแต่ 0.1 ถึง 10

สำหรับ FilterType ค่าของ Lowpass12dB และ Highpass12dB , ค่า Q ของ sqrt(2) / 2 หรือ 0.707 ตรงกับฟิลเตอร์แบบแบนที่ความลาด 12dB/โอเคตาว์

วิธีการ

GetConnectedWires

Instances

ส่งคืนคอลเลกชันของ Wires ปักหมุดAudioFilter มีพิน "Input" และพิน "Output" หนึ่งอัน

พารามิเตอร์

pin: string
ค่าเริ่มต้น: ""

ส่งค่ากลับ

Instances

GetGainAt

คืนค่าความได้เปรียบที่มีค่าเป็นเดซิเบลของความตอบสนองความถี่ที่แสดงโดยตัวกรองในความถี่ที่กำหนด ในเฮิร์ตซ์สิ่งนี้สามารถใช้เพื่อสำรวจรูปร่างที่แน่นอนของตัวกรองในสถานที่สำคัญหรือทั้งหมด

พารามิเตอร์

frequency: number

ความถี่ในเฮิร์ตซ์ที่จะตัวอย่าง

ค่าเริ่มต้น: ""

ส่งค่ากลับ

มูลค่าการได้รับ ในเดซิเบล ที่ความถี่ที่กำหนด

GetInputPins


ส่งค่ากลับ

GetOutputPins


ส่งค่ากลับ

อีเวนต์

WiringChanged

อีเวนต์ที่จะยิงหลังจากที่ Wire เชื่อมต่อหรือถูกตัดการเชื่อมต่อและ Wire ตอนนี้หรือเคยเชื่อมต่อกับพินบน AudioFilter อินสแตนซ์

พารามิเตอร์

connected: boolean

ว่าตัวอย่างได้เชื่อมต่อหรือถูกตัดการเชื่อมต่อ

pin: string

เข็มบน AudioFilter ที่เป้าหมาย Wire

wire: Wire

The Wire ระหว่าง AudioFilter และตัวอย่างอื่น

instance: Instance

ตัวอย่างอื่นที่เชื่อมต่อผ่าน Wire หรือไม่