Unity-Technologies / multiplayer
On 12月 16, 2021 by adminWelcome to the Unity Real-time Multiplayer Alpha repository!
Here are all the resources you need to start prototypingyour own real-time multiplayer games.
NetCode Manual
Transport Manual
Click here to visit the forum
Included content
-
sampleproject/
– Unity Project contains all the multiplayer samples. -
sampleproject/Assets/Samples/Asteroids
– Asteroids clone demonstrating the core netcode concepts. -
sampleproject/Assets/Samples/LagCompensation
– Sample showing lag compensation based on Unity Physics. -
sampleproject/Assets/Samples/NetCube
– 基本的なネットコードの使用方法を示すサンプル。 -
sampleproject/Assets/Samples/Ping
– 基本的なトランスポートの使用方法を示すサンプル。 -
sampleproject/Assets/Samples/Soaker
– トランスポート用のソークテスターで、典型的な生産負荷をテスト。
Unity Transport Package
UNet 低レベル API を置き換える新しい Unity Transport Package です。 トランスポート パッケージの詳細については、Unity Transport Documentation
Unity NetCode Package
ネットコード パッケージは、マルチプレイヤー ゲームでワールドの同期を実装するために必要なマルチプレイヤー機能を提供します。 ソケット レベルの機能には transport パッケージを使用し、Entity Component System 用に作られています。
- Server authoritative synchronization model.
- RPC support, useful for control flow or network events.
- Client / server world bootrapping so you have clear seperation of logic and can run a server with multiple clients in a single process, like the editor when testing.
- Synchronize entities with interpolation and client side prediction working by default.
- Network traffic debugging tools
- GameObject conversion flow support, so you can use a hybrid model to add multiplayer to a GameObject/MonoBehaviour based project.
- GameObject conversion flow support, so you can be used a hybrid model to add multiplayer to a project to a GameObject/MonoBehaviour based.
Netcode パッケージの詳細については、Unity NetCode Documentation
Samples
Ping
ping サンプルは、トランスポート パッケージのすべてのパーツについて学ぶ良いスタート地点となります。 PingクライアントはPingサーバとの接続を確立し、Pingメッセージを送信し、Pong応答を受信します。 Ping が受信されると、クライアントは切断します。これは、新しい Unity Transport Package の使用方法を示す簡単な例です。Ping は複数のシーンで構成されており、すべて sampleproject/Assets/Scenes/
.
-
PingMainThread.unity
にあります。 – ping のメインスレッドのみの実装です。 -
Ping.unity
– ping のクライアントとサーバを完全にジョブ化したもの。 -
PingClient.unity
–Ping.unity
と同じジョブ化したクライアントコードで、サーバはありません。 -
PingServer.unity
– jobified ping の専用のサーバ版です。 このシーンのヘッドレス(2019.1ではServer Build)Linux 64bitビルドがMultiplayにデプロイされるべきものです。 -
PingECS.unity
– Jobified PingサンプルのECSバージョン。
Soaker
同じプロセスで一定の数のクライアントとサーバーを作成するストレステストです。
Asteroids
Unity NetCode Packageの機能を使った小さなゲーム。
LagCompensation
Unity Physicsに基づいた遅延補償を実装する方法を示すサンプルです。 Unity NetCode に基づくゲームでは、クライアントは古い世界の状態を表示します。ラグ補正により、サーバーはレイキャストを実行するときにこれを考慮し、プレイヤーはクライアントに実際に表示されているものを狙えるようになります。 これはNetCodeに関するUniteのプレゼンテーションで使用されたコードです
Installation
このリポジトリ内のサンプルを試すために必要なことは、Unityでsampleprojects/
を開くことです。これらのパッケージを使用して新しいUnityプロジェクトを作成したい場合は、それも可能です
- Make sure you have an supported version of Unity (2019.).3 以降)
- Create a new Unity project
- NetCodeを使用したい場合は、パッケージマネージャから
Unity NetCode
を追加します。 - NetCodeではなく、トランスポートを使用したい場合、パッケージマネージャから
Unity Transport
を追加します。 - パッケージ依存は自動的にプロジェクトに引き込まれます
コメントを残す