AudioListener
*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่
AudioListener บันทึกสตรีมเสียงจากสิ่งแวดล้อมรอบตัว AudioEmitters ในโลก 3Dมันให้พินเดียว ออก ซึ่งสามารถเชื่อมต่อกับพินอื่นได้ผ่าน Wiresหากผู้ปกครองเป็น , หรือ โลกของผู้ปกครองจะถูกใช้สำหรับการฟังหากผู้ปกครองไม่ใช่หนึ่งในคลาสเหล่านี้ เขาจะไม่ได้ยินอะไรเลยอย่างมีประสิทธิภาพ AudioListener
ตัวอย่างโค้ด
local listener = Instance.new("AudioListener")
local output = Instance.new("AudioDeviceOutput")
local wire = Instance.new("Wire")
listener.Parent = workspace.Camera
wire.Parent = listener
output.Parent = wire
wire.SourceInstance = listener
wire.TargetInstance = output
สรุป
คุณสมบัติ
แทนที่วิธีที่ระดับเสียงที่รับรู้ของเสียงที่ปล่อยเปลี่ยนตามมุมระหว่าง AudioEmitter และ LookVector ที่เกี่ยวข้องกับ AudioListener
การควบคุมที่ AudioEmitters สามารถได้ยินได้กับสิ่งนี้ AudioListener
แสดงถึงวิธีที่ระดับเสียงที่รับรู้เปลี่ยนไปตามระยะระหว่าง AudioEmitters และ AudioListener เพิ่มขึ้น
ควบคุมความละเอียดของการจำลองเสียงที่ควรจะเป็นสำหรับสิ่งนี้ AudioListener
วิธีการ
รับเส้นการลดมุมที่ใช้โดย AudioListener หรือโต๊ะว่างหากใช้เส้นโค้งเริ่มต้น
ส่งคืนคอลเลกชันของ Wires ปักหมุด
รับเส้นโค้งการลดระยะทางที่ AudioListener กําลังใช้หรือตารางว่างเปล่าหากกําลังใช้เส้นโค้งเริ่มต้น
ตั้งเส้นโค้งการลดองศาที่ AudioListener ควรใช้หรือใช้เส้นโค้งคงที่ของปริมาณ 1 หากไม่มีให้
ตั้งเส้นการลดระยะทางที่ AudioListener ควรใช้หรือใช้เส้นการลดระยะทางย้อนกลับหากไม่มีให้
อีเวนต์
จะเกิดไฟไหม้เมื่ออินสแตนซ์อื่นถูกเชื่อมต่อกับหรือถูกแยกออกจาก AudioListener ผ่าน Wire
คุณสมบัติ
AngleAttenuation
แทนที่เส้นโค้งระดับเสียงตามมุมที่มีผลต่อวิธีที่ AudioListener จะได้ยิน AudioEmitter ขึ้นอยู่กับมุมระหว่างพวกเขาและ LookVector ที่เกี่ยวข้องกับ AudioListener
คุณสมบัตินี้เป็นภายในและไม่สามารถเข้าถึงได้โดยสคริปต์; มันมีอยู่เพื่อสนับสนุนการเลียนแบบ ดู SetAngleAttenuation() สำหรับรายละเอียดการใช้งาน
AudioInteractionGroup
การควบคุมที่ AudioEmitters ได้ยินได้สำหรับ AudioListener นี้ ผู้ส่งที่แชร์กลุ่มการโต้ตอบสามารถได้ยินโดยผู้ฟังรายนี้
DistanceAttenuation
แทนที่เส้นโค้งระยะทางที่มีผลต่อความดังที่ AudioListener ได้ยินใดๆ AudioEmitters ขึ้นอยู่กับระยะห่างระหว่างพวกเขา
คุณสมบัตินี้เป็นภายในและไม่สามารถเข้าถึงได้โดยสคริปต์; มันมีอยู่เพื่อสนับสนุนการเลียนแบบ ดู SetDistanceAttenuation() สำหรับรายละเอียดการใช้งาน
SimulationFidelity
ควบคุมว่าการจำลองเสียงควรมีรายละเอียดมากแค่ไหนสำหรับสิ่งนี้ AudioListener , คล้ายกับ MeshPart.CollisionFidelity หรือ MeshPart.RenderFidelity
AudioListeners และ AudioEmitters ซึ่งไม่เห็นด้วยกับระดับรายละเอียดที่จำเป็นจะใช้ตัวเลือกที่น้อยลงรายละเอียด
วิธีการ
GetAngleAttenuation
คืนมุมการจัดเตรียมตารางไปยังปริมาณกุญแจเป็นตัวเลขระหว่าง 0 และ 180 (รวม) ในขณะที่ค่าเป็นตัวเลขระหว่าง 0 และ 1 (รวม) ที่อธิบายวิธีการลดปริมาณขึ้นอยู่กับทิศทางวิธีนี้จะคืนโต๊ะว่างหากใช้เส้นโค้งการลดองศาเริ่มต้น
ส่งค่ากลับ
มุมการแผนที่โต๊ะไปยังปริมาณตามที่อธิบายไว้ข้างต้น
GetConnectedWires
ส่งคืนคอลเลกชันของ Wires ปักหมุดAudioListener ปักหมุด"เอาต์พุต" หนึ่งตัว
พารามิเตอร์
ส่งค่ากลับ
GetDistanceAttenuation
คืนระยะการแผนผังตารางไปยังปริมาณกุญแจเป็นตัวเลขที่มากกว่าหรือเท่ากับ 0 ในขณะที่ค่าเป็นตัวเลขระหว่าง 0 และ 1 (รวมถึง) อธิบายวิธีการลดปริมาณในระยะทางวิธีนี้จะคืนโต๊ะว่างเปล่าหากใช้เส้นโค้งการลดระยะทางเริ่มต้น
ส่งค่ากลับ
GetInteractingEmitters
ส่งค่ากลับ
SetAngleAttenuation
ตั้งเส้นโค้งระดับเสียงเกินมุมที่มีผลต่อวิธีที่ จะได้ยิน ตามมุมระหว่างพวกเขาและ ที่เกี่ยวข้องกับ โดยอิงจากมุมระหว่างพวกเขาและ
เส้นโค้งจะถูกแทนที่ด้วยกุญแจแผนที่ตารางเพื่อค่าปริมาณคาดว่าคีย์จะเป็นหมายเลขที่ไม่ซ้ำกันระหว่าง 0 และ 180 (รวมถึง) ในขณะที่ค่าคาดว่าจะเป็นหมายเลขระหว่าง 0 และ 1 (รวมถึง)โต๊ะที่มีคู่คีย์-ค่าสูงสุด 400 คู่สนับสนุน
ปริมาณของ AudioEmitter จากมุมมองของ AudioListener ในมุมมองที่อยู่ในระยะ a จะถูกกำหนดโดยการเลื่อนเชิงเส้นระหว่างระดับปริมาณสำหรับจุดบนโค้งที่มีมุมมองของมุมมองที่อยู่ด้านบนและด้านล่างของ aหากไม่มีจุดใดต่ำกว่า a หรือไม่มีจุดใดสูงกว่า a ระดับความดังของจุดอื่นจะถูกเลือกโดยทั่วไปแล้ว เส้นโค้งเป็นลำดับจุดที่เชื่อมต่อโดยเส้นตรงและนอกจากจุดสิ้นสุดด้านซ้ายและขวาแล้วเส้นโค้งจะขยายออกไปที่ระดับปริมาณตามลำดับตามลำดับ
ปริมาณนี้จะถูกคูณกับปริมาณจากสัญญาณการลดความถี่ทั้งหมด (รวมถึงสัญญาณที่ส่ง AudioEmitter ) เพื่อให้ได้เสียงที่ได้ยินในที่สุด
หากตารางว่างเปล่าหรือ ค่าเริ่มต้นจะใช้เส้นโค้งการลดองศาด้วยค่าปริมาณคงที่ของ
พารามิเตอร์
ส่งค่ากลับ
SetDistanceAttenuation
ตั้งเส้นโค้งระดับเสียงทางระยะที่มีผลต่อวิธีที่ AudioListener จะได้ยินเสียงใด ๆ ของ AudioEmitters ขึ้นอยู่กับระยะห่างระหว่างพวกเขา
เส้นโค้งจะถูกแทนที่ด้วยกุญแจแผนที่ระยะทางตารางเพื่อค่าปริมาณคาดว่าคีย์จะเป็นหมายเลขที่ไม่ซ้ำกันมากกว่าหรือเท่ากับ 0 ในขณะที่ค่าคาดว่าจะเป็นตัวเลขระหว่าง 0 และ 1 (รวมถึง)โต๊ะที่มีคู่คีย์-ค่าสูงสุด 400 คู่สนับสนุน
ปริมาณของ AudioEmitter จากมุมมองของ AudioListener ในระยะทาง d ถูกกำหนดโดยการแอบระหว่างระดับปริมาณสำหรับจุดบนโค้งที่มีค่าระยะทางอยู่โดยตรงเหนือและเหนือกว่า d ของมันหากไม่มีจุดใดต่ำกว่า d หรือไม่มีจุดใดสูงกว่า d ระดับความดังของจุดอื่นจะถูกเลือกโดยทั่วไปแล้ว เส้นโค้งเป็นลำดับจุดที่เชื่อมต่อโดยเส้นตรง และนอกเหนือจากจุดสิ้นสุดด้านซ้ายและขวาแล้วเส้นโค้งจะขยายออกไปอย่างไม่มีที่สิ้นสุดที่ระดับปริมาณของพวกเขาตามลำดับ
ปริมาณนี้จะถูกคูณกับปริมาณจากสัญญาณการลดความถี่ทั้งหมด (รวมถึงสัญญาณที่ส่ง AudioEmitter ) เพื่อให้ได้เสียงที่ได้ยินในที่สุด
หากตารางว่างเปล่าหรือ ค่าเริ่มต้นจะใช้ปริมาณคงที่ของ 1 ทุกที่
พารามิเตอร์
ส่งค่ากลับ
อีเวนต์
WiringChanged
อีเวนต์ที่จะยิงหลังจากที่ Wire เชื่อมต่อหรือถูกตัดการเชื่อมต่อและ Wire ตอนนี้หรือเคยเชื่อมต่อกับพินบน AudioListener อินสแตนซ์
พารามิเตอร์
ว่าตัวอย่างได้เชื่อมต่อหรือถูกตัดการเชื่อมต่อ
เข็มบน AudioListener ที่เป้าหมาย Wire
The Wire ระหว่าง AudioListener และตัวอย่างอื่น