Doozy UI導入Tips
2020/4/24
株式会社ヘッドハイ 一條貴彰
自己紹介:@Takaaki_Ichijo
株式会社ヘッドハイ 代表取締役
・「Back in 1995」Switch/PS4/PS Vita/Xbox One/N3DS/PC
・「デモリッション ロボッツK.K.」 Switch/PC開発中
趣味
・おめシス(VTuber)の視聴
・あつ森でジャックくんを愛でる
・クラフトビール(最近はもっぱらお取り寄せ)
もくじ
● Doozy UI基本
● Doozy UI導入つまづき3点
● Doozy UIと他のアセットを一緒に使う方法
Doozy UI基本
● uGUIベースのUI拡張キット+UI遷移ノードエディタ
○ UIのかっこいいアニメーションがプリセットから選んで使える
○ UIのボタンなどの遷移をビジュアライズ管理できる
● この資料が詳しい:「Doozy UI 使おうぜ! #unity_lt」
○ https://www.slideshare.net/torisoup/doozDoozy UI 使おうぜ! #unity_lty-ui-unitylt-202717204
○ この資料を読んで「使ってみよう!」と思って uGUIと入れ替えた時の備忘録
Doozy UI 導入つまづき3点
Doozy UI詰まったこと①
UIViewアニメーションするときの初期状態
● アニメーションは初期状態が「Hide」になっていないと始まらない
● アニメーション設定なしの場合は、そもそも表示・非表示切り替えが実行されない
よく見るとログに警告出てる
Hideを実行したけどアニメーションが設定されていないよのメッセージ
UIViewのデフォルト設定を変えて対処
Doozy UI詰まったこと②
同じGameEventを2回発火すると「無限ループ」エラー
● Nody:Dozzy UIのノードによる画面遷移エディタ
● 同一フレームで同じGameEventを2回発火した場合、「無限ループ」エラーになる
● どっかで2回呼んでないか確かめる
Doozy UI詰まったこと③
Progressorの値リセットタイミング
● Progressor
○ ロード中のプログレスバーみたいな、値に応じて見た目が変化する UIを作るコンポーネント
● デフォルト設定が「OnEnabledしたときに値を最小にする」設定になっている
○ 数値を指定→表示するというフローだと値がゼロになってしまう
Reset Valueプロパティを「Disabled」に
Doozy UIと
他のアセットを一緒に使う
Doozy UI x Rewired
● Rewiredとは
○ Input系の総本山、ゲームパッド入力の救世主
○ あらゆるゲームパッドのプリセットが同梱
○ ローカルマルチの複数パッドにもしっかり対応
● 一緒に使うには
○ UI Buttonの押下を検出するコードを修正する必要がある
○ BackButton機能を使う場合も同様
Input.GetButtonDownの部分を変更
まとめた:https://dev.to/takaakiichijo/attaching-rewired-input-to-submit-cancel-button-event-to-doozy-ui-2f2g
private void Update()
{
(中略)
case InputMode.VirtualButton:
if (ReInput.players.AllPlayers.ToList().Any(r => r.GetButtonDown(InputData.VirtualButtonName)) ||
InputData.EnableAlternateInputs && ReInput.players.AllPlayers.ToList().Any(r => r.GetButtonDown(InputData.VirtualButtonNameAlt)))
ExecuteClick();
break;
(中略)
}
Doozy UI x ADX2
● ADX2とは
○ 統合型サウンドミドルウェア
○ 音声圧縮&CPU負荷軽減
○ サウンドエフェクトの作り込み
○ インタラクティブミュージック機構
○ 個人は無料版の「ADX2 LE」が使える
■ https://game.criware.jp/products/adx2-le/
● 一緒に使う理由
○ 上記のアドバンテージ
■ 対戦ゲーなので大量に音が鳴る
○ DoozyUIの内蔵システム (Soundy)が微妙
■ 全部resources.assetsにぶっこまれる
■ AssetBundleに対応してない
結構規模が大きいのでプラグイン化
● ADX2forDoozyUI
○ https://github.com/TakaakiIchijo/ADX2forDoozyUI
○ NodyでADX2データのロード&再生
○ UIButtonを押したときにADX2データを再生
○ まだインタラクティブミュージック向けの連携機能がないので追加予定
■ メニュー遷移時に BGMのミックスが変わるとかやる予定
● Nody拡張については同人誌に書く予定
○ Unibook 12
まとめ
● DoozyUI便利、だけどクセがあるのでしっかり把握しよう
● UIアニメーションをゼロから作るより、覚えたほうがはるかに楽
● 他アセットの連携は(がんばれば)できる
ご清聴ありがとうございました。

Doozy ui 導入Tips