nGUIとuGUI
Unity 4.xの時代ではGUI系が標準のままだと不便なので、GUI系をNGUIで作成する方が多く存在します。
また、Unity 4.6から新しいUIシステムuGUIが搭載されるようになって、Unity 5ではuGUIがさらに更新され、とても便利なツールになりました。以前のUIシステムと違って、かなり改善されていました。
nGUIからuGUIに移行するプロジェクトがたくさんいます。
nGUI VS uGUI
わかりやすいようにテープルにまとめることにします。
nGUI | uGUI | 結論 | |
---|---|---|---|
Source | 買ったら勝手に編集 | Open Source | お金ですね |
大きさ | android:20.1MB & ios:15.4MB | android:19.4MB & ios:14.4MB | ボタン一個の場合 |
開発言語 | 全部C# | コアの部分がC++ | C++なので、性能いいだろう |
ライブラリー | 以前のUIライブラリーnGUI対応するのが多い | 5.3以後ライブラリー対応 | 将来的にuGUI |
Layout | grid | AutoLayout & CustomLayout | uGUIの方が拡張しやすい |
Event処理 | collider | RaycastTarget | - |
zOrder | Panel depth & RenderQueue | hierarchyの並び順 | uGUIの方がわかりやすい |
画像ソース | 手動パケッジーグ | 開発段階は普通のソース、リリース段階はパケッジーグ | uGUIの方がコントロールしやすい、効率向上 |
uGUIはunity側作っていた新生UIシステムのため、nGUIのものを吸収して、いろいろのフィードバックをもらった後に開発した。未来性はすごくあると思います。
メリット&デメリット(uGUI)
uGUIはRectTransformを活用しています、UIパーツはスクリーンサイズに適用しやすくなる、コントロールしやすくなりました。
uGUIは画像ソースとか入っていないため、ソースの管理はあんまに大変ではなかった。
uGUIはTweenないです。
uGUIはUIWrapでScrollViewを作成しない。
NGUIはWebみたいに画像とテキストを一緒に並べることは可能だが、uGUIは対応する必要がある。
注意点
nGUI
アニメションを再生する場合、spriteではなく、panelです。
SpriteのTypeができるだけ、tileに避けましょう。
uGUI
たくさんのcanvasがある場合、タッチイベントが下か上のcanvasで反応してしまうので、graphics raycaster、GameObjectなどの注意は必要。
まとめ
nGUIはuGUI出る前に、UIシステムを効率よくなるためのプラグインでした。uGUIはunityに合うUIシステムを作り込んでいました、その効率性、性能はかなり進んだと思います。新規のプロジェクトだと、uGUIを利用すべきかと思います。unityのチュートリアルも詳しい使いたかも乗っているのため、コスト的にもほぼないかと思います。
PR:自分のブログ