用於在 Unity 中製作網路遊戲的高階 API,利用 RevenantX/LiteNetLib
TinyBirdNet 的目標是創建一個環境,您可以輕鬆地將網路新增至 Unity 遊戲中,同時在幕後使用 LiteNetLib。
支援Unity 2017以上版本
目前版本已經在 Windows 和 Linux 上進行了測試,如果發現任何錯誤,請提出問題。
將 Assets 下的 TinyBirdNet 資料夾新增至您的專案將為您提供在遊戲中啟動網路所需的一切。
在 Examples 資料夾中,您將找到一個網絡遊戲的簡單工作演示。
您需要在遊戲中始終啟用TinyNetGameManager
或衍生實例,因此請將其新增至您的第一個場景並將其標記為「載入時不銷毀」。您的遊戲需要一個唯一的“ConnectKey”才能連接,最好在密鑰字串中包含應用程式的當前版本。
建議的工作流程是創建一個從TinyNetPlayerController
派生的類,並在那裡實現玩家控制邏輯,對於遊戲中的每個新玩家都會產生一個新的TinyNetPlayerController
。您可以使用TinyNetInputMessage
在客戶端玩家控制器和伺服器控制器之間傳送輸入。
您希望包含網路程式碼的每個GameObject
必須包含一個TinyNetIdentity
,之後,希望包含網路程式碼的類別必須實作ITinyNetComponent
,或者您可以將其設為TinyNetBehaviour
的子級,以存取許多功能,例如[TinyNetSyncVar]
和 RPC方法。
透過建立從TinyNetBehaviour
派生的類,您可以享受自動序列化和反序列化,儘管手動序列化/反序列化和使用ITinyNetMessage
仍然是可能的。
透過使用[TinyNetSyncVar]
屬性,每個TinyNetBehaviour
最多可以同步 64 個屬性。您可以隨時透過實作自己的TinySerialize
和TinyDeserialize
方法來繞過此限制。
給定包含TinyNetIdentity
的有效 GameObject,您只需在伺服器上呼叫TinyNetServer.instance.SpawnObject
和TinyNetServer.instance.DestroyObject
即可在網路中產生和銷毀物件。
請記得手動或透過點擊TinyNetGameManager
檢查器上的「註冊所有 TinyNetIdentity 預製件」按鈕來註冊TinyNetGameManager
上具有TinyNetIdentity
的所有預製件。