プレハブに変換すると、孫オブジェクト以下の階層をProjectウィンドウで見ることが出来ない。
プレハブにしてみた
以下は、Hierarchyウィンドウの一部です。
HierarchyウィンドウのToggleFloorをProjectウィンドウへドラッグ&ドロップしてプレハブを作成します。
Projectウィンドウにプレハブ(ToggleFloor)が作成されます。しかし、プレハブの横の三角形をクリックして階層を開いても元の階層の孫オブジェクト(Checkmark)が見当たりません。ToggleFloorの中にはTouchCircleとBackgroundしかないように見えます。
ただし、プレハブ作成後のHierarchyウィンドウでは、ToggleFloor以下が紺色の文字で表示され、それらがプレハブの一部であることは分かります。Checkmarkも含まれています。
この状態では、Projectウィンドウでプレハブを選択してCheckmarkに関わる部分に修正を加える事ができません。
孫を持たない階層にする
以下は、階層を見直したものです。CheckmarkをToggleFloorの子に変更しました。
この状態でToggleFloorをプレハブにすると
全てのオブジェクトがプレハブに含まれています。これでProjectウィンドウでプレハブを選択した状態で修正を加える事ができます。
この件に関して、Unityのフォーラムに以下のトピックを見つけました。
Showing deeper nested levels in Prefabs (project-view)
http://forum.unity3d.com/threads/8101-Showing-deeper-nested-levels-in-Prefabs-(project-view)
トピックが立てられたのは2008年。随分前から気にしている方がいたようですが、現在も変わっていません。きっと何らかの理由があって変えていないんだと思います。
じゃあどうするか?
・オブジェクトをグルーピングする意味で階層構造を作っているなら、孫オブジェクト以下をつくらない。
・階層化が必要な場合は、Hierarchyウィンドウのインスタンスを編集してプレハブへ適用するようにする。
でしょうか・・・。いい方法や考え方があったら教えて下さい。
コメントを残す
コメントを投稿するにはログインしてください。