カスタムエディター

公式サイト:

カスタムエディター | Unity 2018.4 マニュアル [公式]

導入

参考:

カスタムエディタを使ってインスペクタをリッチにする – Qiita

Unity の Inspector を拡張する – Qiita

Unity の Editor 拡張をしてインスペクタをカスタマイズする | かめくめ

Isnpector が変わる! | マルペケつくろーどっとコム

はじめてでも簡単インスペクターのエディタ拡張の手順 | はなちるのマイノート

エディタ拡張でエディタを自由にカスタマイズしよう!インスペクタビュー編 | XR-Hub

基本

using UnityEditor; [CustomEditor(typeof(Example))] public class ExampleEditor : Editor { SerializedProperty prop; void OnEnable() { prop = serializedObject.FindProperty("prop"); } public override void OnInspectorGUI() { serializedObject.Update(); EditorGUILayout.PropertyField(prop); serializedObject.ApplyModifiedProperties(); } }
Code language: C# (cs)

参考:

カスタムエディター | Unity 2018.4 マニュアル [公式]

UnityEditor.Editor | Unity スクリプトリファレンス [公式]

UnityEditor.Editor | Unity 2018.4 スクリプトリファレンス [公式]

プロパティ

参考:

Unity のインスペクタで設定出来る値を見てみる | かめくめ

プロパティの編集 | Unity マニュアル [公式]

ボタン

カスタムエディタースクリプトは、Editor フォルダの下に配置する。

using UnityEngine; using UnityEditor; [CustomEditor(typeof(ExampleClass))] public class ExampleClassEditor : Editor { public override void OnInspectorGUI() { base.OnInspectorGUI(); if (GUILayout.Button("Do Something")) { DoSomething(); } } private void DoSomething() { Debug.Log("Hello, Do Something!") } }
Code language: C# (cs)

参考:

Inspector にメソッドを実行するボタンを追加する | kan のメモ帳

スライダー (Slider)

参考:

Inspector に float 型のスライダーを表示する | コガネブログ

EditorGUILayout.Slider | Unity スクリプトリファレンス [公式]

slider bar in inspector – Unity Answers

リスト

参考:

配列やリストの Inspector 表示を改良する | LIGHT11

Inspector のリスト型の複数情報の表示を色々と改造するエディター拡張 | SAT-BOX BLOG

多次元の List を Inspector に表示する | kan のメモ帳

CustomEditor 属性

参考:

UnityEditor.CustomEditor | Unity スクリプトリファレンス [公式]

Property Drawer

こちらのページを参照

参考:

自分だけの Property Drawer を作ろう! – Qiita

非 Mono Behaviour のインスペクタ表示をカスタムする | LIGHT11

Property Drawerで独自の属性をもつメンバーの外観を変える | Unity の使い方

カスタムアトリビュート

参考:

インスペクターにボタンを表示するカスタムアトリビュートを作ってみた | dobu

シリアライズドオブジェクト

こちらのページを参照

参考:

Seriazlied Object に迫る – Qiita

UnityEditor.SerializedObject | Unity スクリプトリファレンス [公式]

ボタンを付ける

参考:

Inspector にメソッドを実行するボタンを追加する | kan のメモ帳

ドロップダウンリストを作成する

参考:

How to make an enum-like Unity inspector drop-down menu from a string array with C#? – Stack Overflow

ヘッダー属性 (Header)

参考:

Inspector をきれいに – Qiita

Header と Space を使って Inspector を整理する | テラシュールブログ

Header Attribute を使ってフィールドを整理してみなイカ? | エクスプラボ

UnityEngine.HeaderAttribute | Unity スクリプトリファレンス [公式]

Headers does not show up if there is no public variable after it | Unity Issue Tracker [Official]

Header attributes in incorrect order – Unity Forum

Header don’t show up in the Unity inspector – Unity Answers

OnInspectorGUI

参考:

Editor.OnInspectorGUI | Unity スクリプトリファレンス [公式]

OnValidate

参考:

Inspector から値を変更したときにコールバック処理を実行する簡単な方法 – Qiita

MonoBehaviour.OnValidate() | Unity スクリプトリファレンス [公式]

Callback on variable change inside editor – Unity Answers

OnValueChanged

参考:

OnValueChangedAttribute | Odin Inspector for Unity [Official]

CustomEditor

参考:

UnityEditor.CustomEditor | Unity スクリプトリファレンス [公式]

Editor クラス

参考:

UnityEditor.Editor | Unity スクリプトリファレンス [公式]

MaterialEditor

こちらのページを参照

参考:

マテリアルの Inspector 表示を拡張するエディタ拡張 | テラシュールブログ

Custom Material Editors のサンプルを作ってみた | 強火で進め

UnityEditor.MaterialEditor | Unity スクリプトリファレンス [公式]

ビューを更新する

参考:

Unity Editor の Game View が更新されない時の対処方法 | 太郎Work

Editor 拡張をしたが描画が更新されない時 | Blue_Breath_Blog

EditorApplication.QueuePlayerLoopUpdate | Unity スクリプトリファレンス [公式]

How to force update in edit mode – Unity Forum

Edit mode, constant rendering update? – Unity Forum

How to manually update GameView? – Unity Answers

showMixedValue

参考:

違う値を持つプロパティの Inspector を複数選択表示した際の挙動を実装する | LIGHT11

EditorGUI.showMixedValue | Unity スクリプトリファレンス [公式]

MonoBehaviour

参考:

EditorGUI 環境で MonoBehaviour のインスペクタを描画する | LIGHT11

レイアウトが乱れる

参考:

Editor の OnInspectorGUI の呼び出しでハマったこと | うにてぃブログ

属性 (Attribute)

こちらのページを参照

参考:

Untiy 開発で早く知りたかった Attribute – Qiita

インスペクター拡張用の属性について | Uinty 使い方ガイド

Inspector ウィンドウでの表示に関わる Attribute のまとめ | エクスプラボ

Attribute で Inspector の表示変更 | 操作を忘れてしまうので。

属性 | Unity マニュアル [公式]

7 Useful Unity Attributes that Make the Inspector Easier to Use (Elnur) | Star Gazers

まとめ

参考:

Inspector をきれいに – Qiita

Inspector を拡張するサンプル Script 集 | Blue_Breath_Blog

インスペクター拡張の基礎 | Unity でコードから GUI を作る (kumaS)

Min Max Slider

コード:

MinMaxSlider (frarees) – GitHub Gist

参考:

Min Max Slider の実装 | Programming Serendipity

What is the best way to create custom inspectors? – Unity Answers

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。

Protected by reCAPTCHA