状態同期の詳細
ネットワーク レベルロード

ネットワークのインスタンス化

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Network.Instantiate 関数により,Object.Instantiate でひとつのクライアント上でするのと直感的に同じ方法で,プレハブを全てのクライアントでインスタンス化できます。インスタンス化するクライアントはオブジェクトをコントロールするもの(すなわちInputクラスはクライアントインスタンスのスクリプトからのみアクセス出来ます)ですが,変更はネットワーク上に反映されます。

Network.Instantiate()の引数リストは次の通りです:

static function Instantiate (prefab : Object, position : Vector3, rotation : Quaternion, group : int) : Object


Object.Instantiateと同様に,最初の3つの引数は,インスタンス化するプレハブと,希望する配置,回転です。_group_引数により,オブジェクトのサブグループを指定して,メッセージのフィルタリングを制御することが出来,ゼロを指定した場合はフィルタリング不要になります(下記 コミュニケーショングループ セクションを参照下さい)。

技術的な詳細

裏では,ネットワークのインスタンス化は,プレハブの識別子,位置やその他詳細情報を持つ,RPCコールから構成されています。このRPCコールは他のRPCコールと同様にバッファされ,インスタンス化されたオブジェクトは新しいクライアントが接続してきたときに表示されます。バッファリングの詳細についてはRPC を参照下さい。

コミュニケーショングループ

コミュニケーショングループは,特定のメッセージを受け取るクライアントを選択するのに使用します。例えば,2つの接続されたプレーヤーはゲーム世界の別々のエリアに存在するかも知れず遭遇することがないとします。この場合にゲーム状態を2つのプレイヤークライアントで受け渡す理由はありませんが,チャット通信だけ許可したいとします。この場合,ゲームプレイのオブジェクトのインスタンス化は制限する必要がありますが,チャット機能を実現するオブジェクトでは制限されないため,それらは別グループに入れる必要があります。

状態同期の詳細
ネットワーク レベルロード