2014年11月22日土曜日

[Unity]NGUIでUIRootが複数表示され、UIが表示されなくなる問題

Unity 4.5.5f1
NGUI 3.7.3

NGUIでUIが表示されない問題があった。
Hierarchyを見るとUIRootが大量に表示してある状態になっていた。

どうやらNGUIで作ったPrefabをHierarchyにドラッグしているときに
UIRootが自動的に作成されるようだ。

こうなるとUIRootが競合してすべてのNGUIのUIが表示されなくなる。

・解決方法
  1. 自動で作成されたUIRootをすべて削除する
  2. 使っているUIRootを非Activeにする
  3. ツールバー > NGUI > Create > UI Root (3D or 2D)を選択(UIRootがアクティブだと追加できない)
  4. 使っている非ActiveのUIRootの中身を3.で作った新しいUIRootに移動
  5. 使っている非ActiveのUIRootを削除
で正常に動くが、AnchorsをUnfiedにしているとNoneになるので、再度Unfiedにする必要がある。