ก่อนอื่นฉันเป็นเจ้าของ Unity Pro
ฉันกำลังมองหาที่จะปิดไฟเมื่อพวกเขาไม่ได้รับการดูในขณะนี้เพื่อปรับปรุงประสิทธิภาพ วิธีการหลักที่ฉันใช้ในการใช้ BecameVisible () และทดสอบ frustum ของกล้อง
ปัญหาหลักของฉันคือถ้าผู้เล่นกำลังดูพื้นที่ที่จะสว่างด้วยแสงฉันยังต้องการแสงที่จะเปิด
ขณะนี้ฉันใช้วิธีการตรวจสอบเพื่อดูว่าพื้นที่แสงสว่างอยู่ใน frustum ของกล้องหรือไม่ แต่บางครั้งปัญหาไฟอยู่ใน frustum โดยที่ผู้เล่นไม่สามารถมองเห็นได้ (เช่นกำแพงกั้นระหว่างพวกเขากับเครื่องเล่น) ฉันลอง raycasting กับพวกมัน แต่คุณไม่สามารถรับรายละเอียดเพียงพอสำหรับพื้นที่ที่เกิดขึ้นจริง (สิ่งที่ดีที่สุดที่ฉันคิดได้คือใช้ renderer.bounds.extent และ renderer.bounds.center เพื่อคำนวณจุดส่องสว่างสูงสุดจากแสง)
ไม่มีใครรู้วิธีที่ง่าย ๆ ใน Unity Pro เพื่อปิดไฟ? หรือคุณสามารถบอกวิธีที่ดีในการใช้วิธีการที่ศูนย์กลางกล้องที่ฉันพูดถึง?