$30 off During Our Annual Pro Sale. View Details »

[Unity] Presetでちょっぴり楽するUI組み立て / Assemble the UI using Preset

lycoris102
August 03, 2019

[Unity] Presetでちょっぴり楽するUI組み立て / Assemble the UI using Preset

Unity UIエンジニアリング勉強会
https://unity-ui-avengers-outgame.peatix.com/view

lycoris102

August 03, 2019
Tweet

More Decks by lycoris102

Other Decks in Technology

Transcript

  1. Unity UIエンジニアリング勉強会 LT枠 青木とと@lycoris102 Presetで楽する UI組み立て ちょっぴり

  2. だれ? 2 @lycoris102 青木とと ねんれい:29 しごと: 株式会社キッズスター かぞく: 妻と3歳の息子 ・Unityアンバサダー

    ・Gotanda.unity ・UnityDesigner’sCafe ・勉強会主催/サポート ・ゆるふわゲームクリエイター
  3. だれ? 3 #unity1week でゲームを作るのも好きです https://unityroom.com/users/lycoris102

  4. 4 Preset Presetについて 今日のお題 Unity2018でリリースされた機能です

  5. 5 Presetについて コンポーネントの設定を保存できる コンポーネント右上の アイコンを選択し Select Preset Window を開いて [Save

    current to…] 導線から現状の設定を保存できる
  6. 6 Presetについて 保存したPresetをコンポーネントに適応できる

  7. 7 Presetについて アセットの設定も保存/適応できる

  8. 8 Presetについて ProjectSettingsも保存/適応できる 設定配布したり、ビルド試す前にバックアップ取ったり、なんか色々使えそう

  9. 9 Presetについて 保存したPresetをデフォルト値に設定できる Presetを選択した状態で [Set as (ComponentName) Default]を適応

  10. 10 Presetについて 保存したPresetをデフォルト値に設定できる デフォルト値に設定したPresetは 自動的に適応される

  11. 11 Presetについて 保存したPresetをデフォルト値に設定できる デフォルト値は ProjectSettings -> PresetManager で確認できる

  12. 12 Presetについて 保存したPresetをデフォルト値に設定できる ただしHierarchy/Menu経由でCreateした場合に デフォルト値が適応されないので注意が必要 明示的にPresetを適当するかResetする必要がある

  13. 13 Presetについて 保存したPresetをデフォルト値に設定できる ただしHierarchy/Menu経由でCreateした場合に デフォルト値が適応されないので注意が必要 Unity2019.2 リリースノート uGUIオブジェクトをHierarchy/Menu経由で 生成したときに default

    Presets を使用するよ! やったー!
  14. 14 Presetについて PresetをUI組み立てに 適応できそうなパターンを見ていくぞ!

  15. 15 パターン(1) 予期しない当たり判定の無効化 パターン(1) 予期しない当たり判定の無効化

  16. 16 パターン(1) 予期しない当たり判定の無効化 クリックすると俺たちの冒険が始まる… このLTのために素材探してタイトル画面だけ作りました……

  17. 17 パターン(1) 予期しない当たり判定の無効化 始まらない

  18. 18 パターン(1) 予期しない当たり判定の無効化 EventSystem下部から閲覧できるEventSystemビューから 現在のPointerEventDataを確認することができる

  19. 19 パターン(1) 予期しない当たり判定の無効化 犯人は前面に配置したFrame(枠)

  20. 20 パターン(1) 予期しない当たり判定の無効化 FrameのImageコンポーネントのraycastTarget = falseにして ようやく俺たちの冒険が始まる……

  21. 21 パターン(1) 予期しない当たり判定の無効化 FrameのImageコンポーネントのraycastTarget = falseにして ようやく俺たちの冒険が始まる…… raycastTargetに 気遣って生きたくない! Textコンポーネントでも結構やりがち

  22. 22 パターン(1) 予期しない当たり判定の無効化 Presetを使って解消する raycastTarget = false の状態にした Imageコンポーネント /

    TextコンポーネントのPresetを作って デフォルト値に設定しておく プロジェクト作ったら最初にやりましょう!
  23. 23 パターン(2) デザインガイドラインを作る パターン(2) デザインガイドラインを作る

  24. 24 パターン(2) デザインガイドラインを用意する どういう場面でどういう文字設定にするか決まっていると 迷わなくてよいし、アプリ全体で統一感が出る 一覧できるSceneを作っておくと色々試せて良い

  25. 25 パターン(2) デザインガイドラインを用意する それぞれのTypographyルールを Presetで用意するアプローチ ちょっと待ちな! CanvasのSortOrder周りもこんな感じで定義しておくと良さそう

  26. 26 パターン(2) デザインガイドラインを用意する Preset Prefab 変更に追従できる 様々なコンポーネント 変更に追従できない 単一コンポーネント 責務が大きい

    責務が小さい 既に配置したものに反映できない 配置済みのものに一括反映が可能 PrefabとPresetは一長一短
  27. 27 パターン(2) デザインガイドラインを用意する TextBody TextBody-Dialog TextBody-Default Text以外のコンポーネントの差異を Prefabで吸収する TextコンポーネントのTypographyルールを持つ (ルールをUnity上に置いておくことで適応しやすく)

    変更時には各Prefabに適応する (修正範囲をなるべく小さく) チーム/中・大規模プロジェクトになると触る人が増えるのである程度ルールがあると破綻しない SceneB SceneA SceneC
  28. 28 パターン(3) 画像アセットのデフォルト設定を作る パターン(3) 画像アセットのデフォルト設定を作る

  29. 29 パターン(3) 画像アセットのデフォルト設定を作る Pixels Per Unit / Wrap Mode 等

    素材毎に共通させたい項目は デフォルトPresetを作って インポート時に反映させる
  30. 30 パターン(3) 画像アセットのデフォルト設定を作る 【Unity】新機能のPresets について - ゴイサギ日記 より
 https://goisagi-517.hatenablog.com/entry/2018/05/28/090245 Texture/SpriteでPresetの設定を分けたいケース等

    インポート時に任意のPresetを適応する AssetPostprocessor を用意するアプローチも!
  31. 31 まとめ Presetはいいぞ! UI組み立て以外でもバリバリ使えるはずなので活用していきましょう!

  32. Unity UIエンジニアリング勉強会 LT枠 青木とと@lycoris102 Presetで楽する UI組み立て ちょっぴり