Unity 連線概觀
這裡有兩種連線功能提供給使用者:
- 使用者使用 Network Manager 或是高層級API,建立多人連線遊戲。
- 使用者如果要建立連線的基礎或是進階的連線遊戲。需使用 NetworkTransport API (網路傳輸API)。
高層級API
Unity 的連線功能提供了高層級的API(下稱HLAPI)。使用這個代表你可以使用這涵蓋所有所需的連線機制,而且不用管一些低層級的機制是如何運作的。HLAPI 提供了:
- 使用 Network Manager 控制連線遊戲的狀態。
- 操作當莊家的遊戲,也就是莊家也是遊戲玩家。
- 使用一般用途的序列化器來序列化資料。
- 送出和接收網路訊息。
- 從客戶端送出網路的 Command (命令)到伺服器端。
- 從伺服器端送出 RPC (遠端方法呼叫) 到客戶端。
- 從伺服器端送出網路事件到客戶端。
引擎和編輯器整合
Unity 的連線整合至引擎和編輯器,允許你在 Component 和視覺的支援下建立起你的多人連線遊戲。它提供:
- NetworkIdentity Component 給要連線的物件。
- NetworkBehaviour 給要連線的腳本。
- 可自訂物件的 Transform 的同步。
- 支援在場景中放置需連線的物件。
- 網路相關的 Component 。
網路服務
先不急著翻。
NetworkTransport - 即時性傳輸層級
包含的即時傳輸層提供:
- 以 UDP 協定為基礎並優化。
- 多通道設計來預防隊列頭的阻塞。
- 提供多種不同等級的服務品質(QoS)給每個通道。
- 靈活的網路拓樸,且支援P2P或是主從式架構。
範例
此網址堤供幾個連線範例。