Unityゲーム開発 Project1-② ~エディタ拡張と管理クラスの作成~

2023年1月22日

infeed1

広告

はじめに

前回の続きです。
シーン遷移までできたので今後を楽にするためのパッケージ導入とエディタ拡張を実装していきます。
なので今回は成果物として見せれるものはない地味な内容になりますが、
開発工程として参考にさればと思います。

パッケージ

  • InputSystem
    • 従来の入力システム(InputManager)は使用せずにこちらを使用します。
      パッケージマネージャーからインストールできます。
      わかりやすい記事は少ないから最初は苦労するけど、
      今後こちらがデフォルトになるとかならないとかって話があるのと、
      新しい機能はバンバン使用していくほうが知見も高まるので皆さんも導入検討することをおススメします。
      https://forpro.unity3d.jp/unity_pro_tips/2021/05/20/1957/
      https://nekojara.city/unity-input-system-intro
  • SRDebugger
    • これまでは似たようなデバッグ機能を自作してましたがものすごく便利な代物です。
      デバッグ機能を作るのってもの凄く大変なのでこれ一つでデバッグ周りの土台を用意する必要もなしです。
      特に実機での効率がものすごく上がります!
      またSRDebugger内のコンソールでUnityEngine.Debugのログ関数周りが種別ごとに全て流れてくれるのは
      何よりも助かります。
      SRDebugger – Console & Tools On-Device

エディタ拡張

  • Scripting Define Symbol拡張
    • 必須ではないけどあると嬉しいくもあるくらいの機能ですね
      扱い辛いPlayerSetting回りでもプラットフォームごとに設定しなくてはいけないため、
      個人的にミスが起きやすい場所ではないかと思う…
      今回はScriptableObjectも組み合わせて、自作のEditorWindowで管理できるようにしました。
      凄い楽ですね^^
  • テンプレート作成機能
    • シーンクラスやシングルトンクラスなど多用するであろう継承クラスはテンプレートテキストを使用して生成するようにしました。
      同じ処理を毎回コピペする手間を省く目的
  • シーンビュー拡張
    • シーン一覧をシーンビュー内にてプルダウン形式で選択して開くようにしました。
      わざわざフォルダ漁ったり検索する手間を省く目的

管理クラス

  • シーン
    シーン遷移を行う管理クラス
  • リソース
    読み込んだリソースを管理し破棄し忘れが無いようにするための管理クラス
  • フェーダー
    各種フェード演出を管理するクラス
  • UniTask
    CancekationTokenを管理したりそのほか個人的に管理したいUniTask機能がある場合に使用するクラス
    以外にCancekationTokenを上手く使用している現場がなかったけど使用することのメリットは大きいと思います。
    特にシーン遷移時に今動いている処理を一気に止めたいときなどCancekationTokenを使用すれば一発で止まるので
    ゴミタスクを無くせます。

最後に

次回はプロトタイプまでを目標に作って記事を上げる予定です。
皆さんも開発頑張りましょう!