【Unity】インスペクターを使いやすくして効率アップ!【Odin Inspector】

はじめに

unity標準のインスペクターをかなり使いやすくできるアセットOdin inspectorの紹介です。

Odin inspector を使うことで自分のプロジェクトに特化したエディターを作成し、開発効率が上がります。

アセットストアでも非常に評価が高いアセットです。他のブログ記事でも取り上げられていることが多いので、人気があります。

Odin Inspector and Serializer

Odin inspectorの特徴

インスペクターに様々なものが表示できる

ボタンやスライダー、マテリアルのプレビュー表示などが簡単にできるようになります。

ボタンをインスペクターに表示するだけなら、Unity標準機能でも実現できますが、非常に簡単なコードで、様々なサイズのボタンを配置できるため、お手軽です。

標準的なボタンから、

変数の横に表示するボタンなどもあります。

ボタンを横に並べることもできます。

オブジェクトのコンポーネントも表示可能

さらに、オブジェクトのコンポーネントを表示させることで、いちいちオブジェクトをクリックして、そのオブジェクトのインスペクターを見に行く手間が省けます。

1つのインスペクターに複数のオブジェクトのコンポーネントを表示できます。

何度もいじる必要がある要素は一つのインスペクターにまとめておけば、デバッグもはかどりますね。

オブジェクトのコンポーネントまで表示できるのはすごい便利!

そのほか、Unity標準機能では、インスペクターに表示できないprivateな変数を表示できるようにしたり、

自作のウィンドウが簡単に作れるようになる

インスペクターだけではなく、ウィンドウ自体を作ることも可能です。

ゲームで使うデータベースを一覧できるウィンドウを作ることに活用できそうです。画像の左側のように、メニューバーを作成できるので、表示したい項目が多くなっても整理して見やすくできます。

ドキュメントが豊富

また、公式ドキュメントが豊富にあります。

Odin Inspector and Serializer | Improve your workflow in Unity
Odin Inspector is a plugin for Unity that lets you enjoy all the workflow benefits of having a powerful, customized and user-friendly editor, without ever havin...

英語で書かれてあるので、抵抗がある方もいるかもしれませんが、コード例や表示画面も記載されてあるので、理解しやすいと思います。

使い方

事前準備

スクリプトの頭に以下のコードをつけます。

using Sirenix.OdinInspector;

これで準備はOK!

あとはインスペクターに表示したいものを入れていきます。

画面上の、Tools > Odin > Inspector > Attribute Overview を見て取り入れたいものを探すのが、実際のプレビュー表示も見えるのでおすすめです。

どのようなものを表示できるか、インスペクターの見え方と、コードについても書いてあるので、使いたいものをコピペしてきましょう。

機能の一例

いろいろ探ってみて、良さそうだと思った機能を紹介します。

ボタンの配置

まずは基本的な機能です。ボタンをインスペクターに配置するコードです。

[Button("ボタンの名前")]
    private void Button()
    {
        // ここにボタンを押した処理を書く
        Debug.Log("ボタンを押した!");
    }

インスペクターへの設定し忘れを防ぐ

[Required]をつけると、インスペクターに表示したものがNoneになっているときは、エラーコメントを表示して気づかせてくれます。

いつもは実行してからエラーが出て、初めて気づくことが多いので、役立ちそうです。

[Required]
public GameObject MyGameObject;

Dictionary型の表示

通常、Dictionaryをインスペクターに表示するのが難しいのですが、Odin Inspectorでは簡単に表示することができます。

public Dictionary<int, Material> IntMaterialLookup;

Addボタンを押すことで、リストに追加することができます。

インスペクターからDictionaryが編集できる!

変数をまとめて見やすくできる

BoxGroupで、変数をまとめて表示することができます。

[BoxGroup("Some Title")]
public string A;

[BoxGroup("Some Title")]
public string B;

// Box with a centered title.
[BoxGroup("Centered Title", centerLabel: true)]
public string C;

[BoxGroup("Centered Title")]
public string D;

数値をプログレスバーで表示する

[ProgressBar(0, 100)]
public int ProgressBar = 50;

ウィンドウも自作できる

専用のウィンドウも簡単に作成することができます。

チュートリアルは、Tools > Odin > Getting Startedを選択します。

Odin InspectorのGet startedを押します。

Odin Editor Windowsを選択すると、ウィンドウのサンプルとコードを見ることができます。

おわりに

Odin Inspectorのアセットを使ってみました。簡単にインスペクターを使いやすくしたい方におすすめのアセットです。

時間の節約にもなるので、ぜひ使ってみましょう!

Odin Inspector and Serializer

タイトルとURLをコピーしました