同期オブジェクトのプレハブ化
目次
概要
プレイヤーのプレハブ化
敵キャラクタのプレハブ化
ここまでの内容について、一旦セーブする
同期用コンポーネントを追加したオブジェクトををプレハブにする
先の 同期用のコンポーネントを追加 した、2つのオブジェクト
・ Player - プレイヤーオブジェクト
・ NPC - 敵オブジェクト
について、ネットワーク通信を使ってクライアント間で同期させるために、プレハブデータに置き換えます。
MUN でマルチプレイを実践するうえでプレハブ化しない限り、同期処理を実装することはできませんので
くれぐれも忘れないようご注意ください。
【注記】 ここからしばらくの間、実行ボタンを押しても正常な結果を得られません。
プレハブに置き換える結果、キャラクタデータがシーン上から消されます。
ここからしばらくの間、実行ボタンを押しても正常な結果は得られません。ご注意ください。
プレイヤーのプレハブ化▲
PlayerをResorcesフォルダに移動する
プレイヤーをプレハブ化します。
Hierarchy に表示されている Player を、Assets/Resource フォルダにドラッグ&ドロップしてください。
![](image/image58.png)
ドラッグ&ドロップした際に以下のようなウィンドウが表示された場合、「Original Prefab」を選んでください。
(表示されなければ無視して構いません)
![](image/image59.png)
Resources フォルダを開くと player.prefab が生成されます。
(前々章の「ノンプログラミング開発の手引き」を済ませている人は、この時点で
unitychan_dynamic_locomotion.prefab があると思いますが、それはそのまま残しておきましょう。)
![](image/image60.png)
Hierarchy の Player を削除する
プレハブ化が完了した時点で、Hierarchy に表示されている Player は不要ですので削除しましょう。
Hierarchy の Player を右クリックし、ポップアップメニューから Delete を選びます。
![](image/image61.png)
Player が Hierarchy から削除されたことを確認します。
![](image/image62.png)
敵キャラクタのプレハブ化▲
NPC をアクティブにする
プレハブ化する前に、Hierarchy に表示されている NPC をアクティブにします。
Hierarchy にある NPC をクリックしてください。
![](image/image63.png)
Inspector に表示されている NPC の項目のチェックボックスを ON にしてください。
![](image/image64.png)
NPC を Resorces フォルダに移動する
続いて、敵キャラクタをプレハブ化します。
Hierarchy に表示されている NPC を、Resource フォルダにドラッグ&ドロップしてください。
(前出で、すでに Resources フォルダを開いていると思いますので、そのまま player と同じフォルダに保存しておいてください)
![](image/image65.png)
ドラッグ&ドロップした際に以下のようなウィンドウが表示された場合、「Original Prefab」を選んでください。
(表示されなければ無視して構いません)
![](image/image59.png)
Resources フォルダに NPC.prefab が生成されます。
![](image/image66.png)
Hierarchy の NPC を削除する
プレハブ化が完了した時点で、Hierarchy に表示されている NPC は不要ですので削除しましょう。
Hierarchy の NPC を右クリックし、ポップアップメニューから Delete を選びます。
![](image/image67.png)
NPC が Hierarchy から削除されたことを確認します。
![](image/image68.png)
ここまでの内容について、一旦セーブする▲
プロジェクト全体を保存する
作成したプレハブを保存するため、プロジェクト全体を保存しましょう。
Unity のメニューから File > Save Project を選択してください。
![](image/image69.png)
シーンデータを保存する
プロジェクト保存に加え、変更を加えたシーンも保存しましょう。
Unity のメニューから File > Save (または File > Save Scene) を選択してください。
![](image/image54.png)