記錄開發過程:通用VR手柄接口

核心功能

  • VR射擊遊戲:與不同客製化手柄的輸入系統接口和流程控制系統

開發起因

公司開發了多款VR射擊遊戲,初期針對不同公司授權的需求,為每個客戶編寫專屬的版本。隨著授權公司增多,這種做法的工作量變得巨大,因此需要一個通用的接口來處理手柄訊號,讓遊戲內僅需關注手柄邏輯與功能觸發。

問題列表與解決方案

  1. 版本相容性
    • 問題:不同Unity版本的兼容性問題。
    • 解決方式:切分中介器系統為 GAMEMIDDLEWARE,兩者通過本機通訊進行互動。GAMEMIDDLEWARE 由通訊模塊和功能模塊組成,功能模塊提供接口,不同遊戲僅需實現這些接口的子類。
  2. 測試效率
    • 問題:人工測試VR射擊遊戲費時費力。
    • 解決方式:將功能模塊化,以單元測試方式編寫代碼,建立單元測試功能庫,隨著時間累積模塊,提升測試效率。

開發過程要點

  1. 接口設計:將手柄訊號觸發抽離遊戲內部,只處理手柄邏輯與功能觸發。
    • 原遊戲方案:
      • 使用完整VR手柄訊號偵測,包括左右手和六軸感應(藍芽控制)。
    • 客製手柄方案:
      • 不同客戶可以選擇VR或非VR的操作模式,客製手柄為單手控制,VR頭盔與槍合為一體,成本較低(有線晶片訊號觸發控制)。

這些改進可以使得開發更為高效,並減少維護和更新的成本。

Tags: