Asdf Overlay - ไลบรารีอินเกมโอเวอร์เลย์ประสิทธิภาพสูงที่เขียนด้วย Rust
(github.com/storycraft)เป็นไลบรารีที่ช่วยให้สามารถพัฒนาซอฟต์แวร์โอเวอร์เลย์ที่แสดงอยู่เหนือหน้าต่างเกมได้อย่างง่ายดาย เขียนด้วย Rust แต่ก็มีทั้ง Node.js binding และแพ็กเกจสำหรับ Electron ให้ด้วย
เมื่อไม่นานมานี้ได้ออกเวอร์ชัน 1.0 จึงขอนำมาแนะนำครับ
อินเกมโอเวอร์เลย์คืออะไร?
หมายถึงโปรแกรมที่แสดง UI ที่โต้ตอบได้บนหน้าจอเกม หรือให้และแสดงฟังก์ชันอำนวยความสะดวกต่าง ๆ คิดว่าน่าจะเคยใช้งานผ่านโปรแกรมตัวอย่างที่เป็นที่รู้จักด้านล่างนี้มาบ้างอย่างน้อยสักครั้ง
- Nvidia Overlay - ฟังก์ชันแสดงประสิทธิภาพและบันทึกหน้าจอ
- MSI Afterburner - ฟังก์ชันแสดงการใช้งาน GPU และทรัพยากรระบบ
- Discord - ฟังก์ชัน voice chat overlay
- Steam - ฟังก์ชันแสดงการแจ้งเตือน แชต และเบราว์เซอร์ของ Steam
ความจำเป็น
โอเวอร์เลย์ทำงานโดยแทรกโค้ดเข้าไปในโปรเซสเป้าหมาย จากนั้น hook ฟังก์ชันที่จำเป็นต่อกระบวนการเรนเดอร์และอินพุต แล้ววาดโอเวอร์เลย์ซ้อนทับในขั้นตอนสุดท้ายของการเรนเดอร์ การสร้างโปรแกรมที่ทำงานได้เสถียรนั้นไม่ใช่เรื่องง่าย และแทบไม่มีไลบรารีโอเพนซอร์สที่เปิดเผยอยู่เลย
Asdf Overlay มีฟังก์ชันหลากหลายที่จำเป็นสำหรับการแสดงโอเวอร์เลย์ และผ่าน IPC implementation ก็ทำให้สามารถควบคุมได้ง่ายจากโปรเซสภายนอกด้วย
คุณลักษณะและฟังก์ชัน
ไลบรารี Asdf Overlay รองรับความสามารถต่อไปนี้
- รองรับและตรวจจับอัตโนมัติสำหรับกราฟิก API ได้แก่ DirectX9, 11, 12, OpenGL, Vulkan
- จับและดักอินพุตของหน้าต่าง
- ฟังก์ชันเลย์เอาต์โอเวอร์เลย์พื้นฐาน
- การเรนเดอร์โอเวอร์เลย์โดยไม่มี CPU overhead
ยังมีตัวอย่างและเอกสารแนะนำสำหรับการสร้างโอเวอร์เลย์ได้ง่ายผ่าน Electron ให้มาพร้อมกันด้วย
1 ความคิดเห็น
เป็นโปรเจ็กต์ที่น่าสนใจจริง ๆ หลังจากไม่ได้เห็นอะไรแบบนี้มานาน ขอเป็นกำลังใจให้ครับ