Technical Design - pangaeastudio/vrgame-htc-vive-jam GitHub Wiki

基础框架

  • 游戏流程驱动:采用Director-Stage模式进行,由GameMain(Bootstrap)引导启动。
  • Container:采用GameObject常驻单例GameContainer方式统一提供通用游戏服务或管理器,尽量通过接口方式提供(第三方不好修改的可以通过Wrapper、Facade模式提供,也可以直接通过对象类直接提供)。
  • Director:GameDirector自身预定义一些游戏状态UnityEvent,通过事件驱动游戏状态改变。
  • Stage:每个游戏Stage用Unity Scene实现和编辑
    • 包含机甲仓库、要塞、游戏关卡、生存副本、对战战场等。
  • 游戏对象尽量采用MVCS模式开发,Modle、View、Control、Service尽量分开
    • 如机甲定义:
      • View:形象、动画等
      • Model:机甲属性、Player信息等
      • Control:行走控制、武器控制、伤害控制等

基础技术选型

  • UI:新的UGUI
  • 事件:UnityEvent(封闭的或不需要可视化编辑的部分可用event delegate)
  • 动画:Mecanim
  • FSM/BT:NodeCanvas

系统设计

机甲系统

  • 机甲定义

    • 腿部:上身挂点(暂时只支持挂接肩部)
    • 肩部:驾驶舱挂点、左肩武器挂点、右肩武器挂点、左手武器挂点、右手武器挂点
    • 驾驶舱:背部挂点、左武器挂点、右武器挂点、上武器挂点
  • 机甲控制

武器系统

战斗系统