「スポーン」という言葉は、より特殊な意味を持ちます。モデルでは、ゲームオブジェクトをサーバーで「スポーン」するということは、つまり、ゲームオブジェクトがサーバーに接続するクライアント上で作成され、そのスポーンシステムで管理されるという意味です。ゲームオブジェクトがこのシステムで生成されると、ゲームオブジェクトがサーバー上で変更されるたびに状態の更新がクライアントに送信されます。サーバー上のゲームオブジェクトを破棄すると、クライアント上のゲームオブジェクトも破棄されます。サーバーは生成されたゲームオブジェクトを他のネットワーク化されたゲームオブジェクトと一緒に管理します。そのため、もし他のクライアントが後からゲームに参加しても、サーバーはそのクライアント上にゲームオブジェクトを生成することができます。ネットワーク全体に設定されるメッセージをゲームオブジェクトにルーティングし、ゲームオブジェクトを識別するために使用されます。コンポーネントを使ってゲームオブジェクトをスポーンする場合、クライアント上で生成されるゲームオブジェクトは同じ「状態」を持ちます。サーバー上のゲームオブジェクトとまったく同じものが作成されます。使用されている場合は、同期された変数を持ちます。それらを作成する場合、クライアントのゲームオブジェクトは常に最新です。このことは、ゲームオブジェクトが誤った初期位置で生成され、その後、状態の更新が行われたときに正しい位置に再度出現する、というような問題を回避します。登録したプレハブからのみゲームオブジェクトを生成し同期できます。使って特定のゲームオブジェクトのプレハブを登録します。コンポーネントが設定されたゲームオブジェクトプレハブしか受け付けません。コンポーネントを加える必要があります。コンポーネントへ移動します。横の三角をクリックし開きます。ボタンをクリックします。プレハブをリストに加えるには、空のフィールドにドラッグアンドドロップします。割り当てられたプレハブが表示されています。コンポーネントを使わずに行いたい場合があるかもしれません。コンポーネントを使わずにゲームオブジェクトをスポーンするには、プレハブの登録をスクリプトを通して独自に処理します。プレハブを登録します。作成してそのゲームオブジェクトにアタッチします。フィールドにドラッグします。これにより、サーバーが木のゲームオブジェクトを生成するときに、クライアント上にも同じ種類のゲームオブジェクトが作成されます。プレハブを登録すると必ず、アセットはシーンとともにロードされるので、アセットを作成するためのフリーズやロード時間がなくなります。スクリプトが機能するには、サーバーのコードも追加する必要があります。スクリプトに加えます。スポーンのメッセージで送信されているので、サーバーはなにも登録する必要はありません。クライアントはゲームオブジェクトをルックアップする必要があるので、ゲームオブジェクトはクライアントで登録される必要があります。独自のネットワークマネージャーを作成する場合、サーバーでスポーンコマンドを呼び出す前に、クライアントが状態の更新を受信する準備が完了していることが重要です。ないと、スポーンのコマンドは送信されません。コンポーネントを使用する場合は、これは自動的に行われます。メソッドを利用できます。このメソッドを使うと、コールバック関数をクライアント側のスポーンのために登録することができます。ゲームオブジェクトが同期された変数などのネットワークの状態を持つ場合は、その状態はスポーンメッセージで同期されます。以下の例では、このスクリプトは木のプレハブにアタッチされます。関数を変更したりして、それがクライアントに正確に反映されているかを確認できます。スクリプトにアタッチし、実際に動かしてみます。可能なプレハブのルートゲームオブジェクトに置く必要があります。プレハブを加えることができません。ゲームオブジェクトに設定されなければなりません。ゲームオブジェクトの生成のフローゲームオブジェクトを生成するために発生する内部操作の実際のフローは以下の通りです。持つプレハブが登録されます。サーバー上でプレハブからゲームオブジェクトがインスタンス化されます。物理の力は、即座には有効になりません)。インスタンスで呼び出されます。呼び出すことによって収集されます。タイプのネットワークメッセージが接続したクライアントに送信されます。