同期オブジェクトのプレハブ化
目次
概要
プレイヤーのプレハブ化
敵キャラクタのプレハブ化
ここまでの内容について、一旦セーブする
同期用コンポーネントを追加したオブジェクトををプレハブにする
先の 同期用のコンポーネントを追加 した、2つのオブジェクト
・ Player - プレイヤーオブジェクト
・ NPC - 敵オブジェクト
について、ネットワーク通信を使ってクライアント間で同期させるために、プレハブデータに置き換えます。
MUN でマルチプレイを実践するうえでプレハブ化しない限り、同期処理を実装することはできませんので
くれぐれも忘れないようご注意ください。
【注記】 ここからしばらくの間、実行ボタンを押しても正常な結果を得られません。
プレハブに置き換える結果、キャラクタデータがシーン上から消されます。
ここからしばらくの間、実行ボタンを押しても正常な結果は得られません。ご注意ください。
プレイヤーのプレハブ化▲
PlayerをResorcesフォルダに移動する
プレイヤーをプレハブ化します。
Hierarchy に表示されている Player を、Assets/Resource フォルダにドラッグ&ドロップしてください。

ドラッグ&ドロップした際に以下のようなウィンドウが表示された場合、「Original Prefab」を選んでください。
(表示されなければ無視して構いません)

Resources フォルダを開くと player.prefab が生成されます。
(前々章の「ノンプログラミング開発の手引き」を済ませている人は、この時点で
unitychan_dynamic_locomotion.prefab があると思いますが、それはそのまま残しておきましょう。)

Hierarchy の Player を削除する
プレハブ化が完了した時点で、Hierarchy に表示されている Player は不要ですので削除しましょう。
Hierarchy の Player を右クリックし、ポップアップメニューから Delete を選びます。

Player が Hierarchy から削除されたことを確認します。

敵キャラクタのプレハブ化▲
NPC をアクティブにする
プレハブ化する前に、Hierarchy に表示されている NPC をアクティブにします。
Hierarchy にある NPC をクリックしてください。

Inspector に表示されている NPC の項目のチェックボックスを ON にしてください。

NPC を Resorces フォルダに移動する
続いて、敵キャラクタをプレハブ化します。
Hierarchy に表示されている NPC を、Resource フォルダにドラッグ&ドロップしてください。
(前出で、すでに Resources フォルダを開いていると思いますので、そのまま player と同じフォルダに保存しておいてください)

ドラッグ&ドロップした際に以下のようなウィンドウが表示された場合、「Original Prefab」を選んでください。
(表示されなければ無視して構いません)

Resources フォルダに NPC.prefab が生成されます。

Hierarchy の NPC を削除する
プレハブ化が完了した時点で、Hierarchy に表示されている NPC は不要ですので削除しましょう。
Hierarchy の NPC を右クリックし、ポップアップメニューから Delete を選びます。

NPC が Hierarchy から削除されたことを確認します。

ここまでの内容について、一旦セーブする▲
プロジェクト全体を保存する
作成したプレハブを保存するため、プロジェクト全体を保存しましょう。
Unity のメニューから File > Save Project を選択してください。

シーンデータを保存する
プロジェクト保存に加え、変更を加えたシーンも保存しましょう。
Unity のメニューから File > Save (または File > Save Scene) を選択してください。
