การแสดงผลในเอนจิน UI แบบโอเวอร์เลย์
ภาพรวม¶
ฟังก์ชันการแสดงผลโอเวอร์เลย์ในเอนจิน UI เป็นฟังก์ชันที่แสดงโอเวอร์เลย์ที่ SDK จัดเตรียมไว้ผ่านระบบ UI ของเกมเอนจิน ฟังก์ชันนี้ใช้ข้อมูลหน้าจอ OSR (Off-Screen Rendering) ของ Chromium Embedded Framework (CEF) Hive SDK จะส่งข้อมูลนี้ไปยัง UI ของเกมเอนจินเพื่อแสดงโอเวอร์เลย์ วิธีนี้ช่วยให้แสดงโอเวอร์เลย์บนหน้าจอเกมได้อย่างเสถียรในสภาพแวดล้อม Windows ฟังก์ชันนี้รองรับใน Hive SDK Unity Windows และ Hive SDK Unreal Windows
วิธีใช้งาน¶
- ตั้งค่า
engineOsrRenderEnabledเป็นtrueใน hive_config.xml - หากเปลี่ยนการตั้งค่าหลังจากติดตั้ง Hive SDK แล้ว ให้บิลด์แพ็กเกจเกมที่รวม SDK ใหม่อีกครั้ง หากไม่บิลด์เกมใหม่ การตั้งค่าที่เปลี่ยนจะไม่ถูกนำไปใช้
- หลังจากบิลด์เสร็จแล้ว เมื่อรันเกมจะทำงานดังนี้:
- Hive SDK Unreal Windows: ค้นหาเกมเวิลด์ (Game World) ปัจจุบันโดยอัตโนมัติและเรนเดอร์โอเวอร์เลย์หน้าจอ UI ของ Hive SDK ลงบนหน้าจอเกมโดยตรง
- Hive SDK Unity Windows: เรนเดอร์โอเวอร์เลย์หน้าจอ UI ของ Hive SDK ลงบนหน้าจอเกมโดยตรง
Unreal Engine: กำหนด World โดยตรงเพื่อแสดงโอเวอร์เลย์¶
โดยค่าเริ่มต้น Hive SDK Unreal Windows จะตรวจจับ World ปัจจุบันของเกมโดยอัตโนมัติและเรนเดอร์โอเวอร์เลย์ UI ของ SDK
อย่างไรก็ตาม หากโปรเจ็กต์ Unreal Engine ใช้หลาย World หรือแสดงโอเวอร์เลย์ในสภาพแวดล้อมพิเศษ SDK อาจไม่สามารถตัดสินใจโดยอัตโนมัติได้ว่า World ใดควรแสดงโอเวอร์เลย์ ในสภาพแวดล้อมเช่นนี้ ให้เรียกเมธอด SetTargetWorld() และส่งออบเจ็กต์ World เป้าหมายโดยตรง
- กลับไปใช้การเลือกอัตโนมัติ: ส่ง
nullptrเพื่อเปลี่ยนกลับไปเป็นโหมดเลือก World อัตโนมัติ ซึ่งเป็นการทำงานเริ่มต้น - การจัดการเมื่อเปลี่ยนเลเวล: หาก World ที่กำหนดถูกทำลาย SDK จะกลับไปยัง World ที่เปิดใช้งานอยู่ในปัจจุบันโดยอัตโนมัติ ดังนั้นจึงไม่จำเป็นต้องเรียกเมธอดนี้ใหม่ทุกครั้งที่มีการเปลี่ยนเลเวล