まいにち、いっぽ

物事を理解するための出力装置

UIを作りやすくするアセット「DoozyUI」の紹介

DoozyUI とは

Unity のアセットストアで販売されている、UIを作りやすくするスクリプトのアセットです。 api.assetstore.unity3d.com

Unity Editor 上でサウンドの追加、アニメーションの追加を行い、Unity Editor と Script の行き来を減らすことが出来ます。 メニュー操作の階層化も行えるため、複雑なバックボタン処理を作り易いです。
エディター拡張も凝っており、分かり易い作りとなっています。

f:id:syuuki_kisaragi:20190215145235p:plain
最初に表示するUIElement用

必須アセット

api.assetstore.unity3d.com アニメーション等で使用されているようです。 無料ですのでプロジェクトに追加しておきましょう。

大体の手順

  1. Hierarchy上で右クリック → DoozyUI → Managers → UIManager で UIManager を生成する
  2. Hierarchy上で右クリック → DoozyUI → UICanvas を作成(大本の管理キャンバス)
  3. Hierarchy上で右クリック → DoozyUI → UIElement を生成(これがメニューの1単位)
  4. UIElement を Inspector 上で設定する。 最初に表示するかどうか、開始と終了用のアニメーションの指定など
  5. 必要分のUIElement を生成する
  6. Tools → DoozyUI → ControlPanel を選択する
  7. UIElements,にカテゴリーを追加する
  8. Hierarchyに作成した UIElement に手順7のカテゴリーを設定していく(このカテゴリーの単位でメニューを操作する)
  9. 各UIElement に UIButton を作成する
  10. UIButton の OnClick の Navigation の SHOW に次のメニュー、HIDEに今のメニューのカテゴリーを設定する
  11. 実行する

ESC ボタンの取り扱い

階層化されたメニューを1つ戻す挙動を行います。 UIButton の OnClick の Navigation で次のメニューを設定する際に、Add To Navigbation HistoryをONにすると階層化され、Backボタンが動作するようになります。

特殊な「Back」ボタンについて

UIButton のカテゴリーを「Back」とすると、ESCキーを押したときの同様の動作をします。

おまけ スワイプメニューを作れる拡張アセット「UIDrawer」

画面端にあるメニューをスワイプで取り出すメニューを作る為のアセットです。 使用する場合は、UIDrawer → DoozyUI の順番でプロジェクトに追加しましょう。 api.assetstore.unity3d.com

おまけ DoozyUIのテストで作成したもの

幾つかの挙動はスクリプトで調整していますが、殆どの機能はDoozyUIで作成されています。 Backボタンの対応は大変ですが、DoozyUIを使う事でかなり楽に作成できると思いました。

f:id:syuuki_kisaragi:20190215145023g:plain
DoozyUIで作成しました