原カバンは鞄のお店ではありません。

Unityを使ったゲーム制作のあれこれを綴っていきます。

【アセット紹介】Odin Inspectorで意外と知らない便利機能


点検

車を定期点検にだしたら部品の劣化よりも走行距離が全然伸びてないことを注意された休日ニートな皆さんこんにちは。バッテリーの充電が不十分になりますよ、とやんわりと注意されましたがだからと言って用もないのに車を運転しようとは思わないのできっと次の定期点検でも同じようなことを言われるのだと思います。

 

Odin Inspector

皆さんはOdin Inspectorを使っていますか?Odin Inspectorは Unity界隈では非常に評価が高いアセットであり、導入することで Unity エディタが拡張され、作業を大幅に効率化する事が期待できます。

私はもう何年も前に導入して、このアセットなしには開発できないぐらいなんですが、変数のグルーピングなどいつも同じ機能ばかり使用していて調べてみると意外と知らい便利機能が備わっていて今後の為、これらの機能を忘れないように記事にまとめようと思います。

 

AssetList

List内に設定するGameObjectやScriptabelObjectを指定したフォルダ内から選ぶようになります。
例えば、以下のフォルダにPrefab化したGameObjectが格納されておりListに設定しておきたい場合、

設定するList変数の前にAssetListとファイルパスを設定しておくと

[AssetList(Path = "/Prepair/Prefab/")]
public List<GameObject> AssetList;

フォルダ内のファイルがList化して表示されるので使用するファイルにチェックを入れるだけで済みます。

 

Color palette

指定した名前のカラーパレットから選んでColorを設定できます。

[ColorPalette("My Palette")]
public Color MyColor;

カラーパレットを作成してない場合はこんな感じでInpspector上にボタンが表示されるので、これを押すと

カラーパレットの作成画面が表示されて作成することが出来ます。

カラーパレットを作り終えるとInspectorに反映されます。

 

Button

スクリプト内で関数の上に定義します。

[Button("スクリーンショット")]
private void ScreenShoButton()
{
    // スクリーンショットを保存
    CaptureScreenShot("ScreenShot.png");
}

するとInspector上にボタンが表示されるので

これを押すとPlay Modeにしなくても、その関数が実行できます。デバッグに便利。

 

変数の設定系

Rangeで変数に設定する値の範囲を指定すると

[Range(0, 10)]
public int Field = 2;

スライダーが表示され、指定範囲内で値を設定できます。

 

視覚的に変数をバーとして表示して設定したい場合は

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

Progress Barを指定します。

スライダーと同様にDragで値も変更できます。

 

最後に

Odin Inspectorは少し高価なアセットですが、その値段なりの価値はあると思います。
今回紹介した機能以外にもDictionaryの内容を参照できたりと便利な機能がそろっているので、作業の効率化を考えるなら購入を検討してはいかがでしょうか。

◇プライバシーポリシー

●個人情報の利用目的

当ブログでは、メールでのお問い合わせ、メールマガジンへの登録などの際に、名前(ハンドルネーム)、メールアドレス等の個人情報をご登録いただく場合がございます。

これらの個人情報は質問に対する回答や必要な情報を電子メールなどをでご連絡する場合に利用させていただくものであり、個人情報をご提供いただく際の目的以外では利用いたしません。

●個人情報の第三者への開示

当サイトでは、個人情報は適切に管理し、以下に該当する場合を除いて第三者に開示することはありません。

・本人のご了解がある場合
・法令等への協力のため、開示が必要となる場合

個人情報の開示、訂正、追加、削除、利用停止
ご本人からの個人データの開示、訂正、追加、削除、利用停止のご希望の場合には、ご本人であることを確認させていただいた上、速やかに対応させていただきます。

アクセス解析ツールについて

当サイトでは、Googleによるアクセス解析ツール「Googleアナリティクス」を利用しています。

このGoogleアナリティクスはトラフィックデータの収集のためにCookieを使用しています。このトラフィックデータは匿名で収集されており、個人を特定するものではありません。
この機能はCookieを無効にすることで収集を拒否することが出来ますので、お使いのブラウザの設定をご確認ください。

●免責事項

当サイトからリンクやバナーなどによって他のサイトに移動された場合、移動先サイトで提供される情報、サービス等について一切の責任を負いません。

当サイトのコンテンツ・情報につきまして、可能な限り正確な情報を掲載するよう努めておりますが、誤情報が入り込んだり、情報が古くなっていることもございます。

当サイトに掲載された内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。

●プライバシーポリシーの変更について

当サイトは、個人情報に関して適用される日本の法令を遵守するとともに、本ポリシーの内容を適宜見直しその改善に努めます。

修正された最新のプライバシーポリシーは常に本ページにて開示されます。