同期オブジェクトのプレハブ化

目次

  概要
  プレハブデータ保存用フォルダの作成
  フォルダ内にプレハブを生成する
  生成元のオブジェクトを削除


概要

クライアント間通信を使って同期させるオブジェクトをプレハブにする

  MUN を利用してクライアント間でオブジェクトの位置や姿勢を一致させて動作させるためには、
  そのオブジェクトをプレハブ化させる必要があります。

  各種コンポーネントの登録が終わったところで、同期させるオブジェクト、
  今回のケースで言えば「操作キャラクタである Unity ちゃん」をプレハブ化してみましょう。


プレハブデータ保存用フォルダの作成

"Resources" フォルダの作成

  プレハブ化の前に、プレハブデータを保存するために用いるフォルダを作成します。
  Project ビューの Assets を右クリックして、ポップアップメニューから Create > Folder を選択します。
  ここで新しいフォルダに名前を付けることができますが、
  必ずフォルダ名は Resources にしてください(超重要事項です!)
MUN ではプレハブを読み込む際、内部処理で Unity API である Resources.Load() を使用していますが、
このAPIはマルチプラットフォーム(特にiOSデバイス)の読み込みにおいて、
Resources フォルダに含まれていなければならない鉄則があります。

MUN ではこの観点から、Resources フォルダに含まれていないプレハブは読み込みません。


フォルダ内にプレハブを生成する

UnityChanのプレハブを生成する

  作成した Resources フォルダに対し、先ほどまでコンポーネント編集を行っていた
  Hierarchy 上の unitychan_dynamic_locomotion をドラッグ&ドロップします。
  ドラッグ&ドロップした際に以下のようなウィンドウが表示された場合、「Original Prefab」を選んでください。
  (表示されなければ無視して構いません)
  Resourcesフォルダを開くと、
  その中に unitychan_dynamic_locomotion.prefab のファイルを確認できます。


生成元のオブジェクトを削除

Hierarchy ビューの UnityChan を削除する

  プレハブ化が完了した時点で、生成元のオブジェクトは不要ですので削除しましょう。

  Hierarchyビューにある unitychan_dynamic_locomotion を右クリックし、ポップアップメニューから Delete を選びます。
  Hierarchy ビューから unitychan_dynamic_locomotion が削除されていることを確認してください。