Property Drawer

公式サイト:

Property Drawer | Unity マニュアル [公式]

導入

参考:

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

Property Drawer が思ったより便利だった – Qiita

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

Property Drawer | STAC STAR

使い方

using UnityEditor;

[CustomPropertyDrawer(typeof(ExampleClass))]
public class ExampleClassDrawer : PropertyDrawer
{
    public override void OnGUI(
        Rect position, SerializedProperty property, GUIContent label)
    {
        // ...
    }
}Code language: C# (cs)
注意事項
  •  Property Drawer では、パフォーマンス上の理由で EditorGUILayout 関数は使用できない。EditorGUI 関数を使用して実装する。

ドキュメント:

Property Drawer | Unity マニュアル [公式]

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

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

参考:

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

インスペクタで独自 UI を使う/Property Drawer の下準備 | いんでぃーづ

Property Drawer の OnGUI の書き方 | いんでぃーづ

Property Drawer で変更した変数の保存 | いんでぃーづ

Custom inspector for nested struct inside class with visibility switch – Unity Forum

Scriptable Object resetting Array of Property Drawer to length of zero – Stack Overflow

高さを調節する (GetPropertyHeight)

参考:

Property Drawer on Array elements with different heights? – Unity Forum

overlaps with other components and ‘Add Component’ button – Unity Answers

Property Attribute

動画:

Property Attributes #1 (Otter Knight)

Property Attributes #2 (Otter Knight)

参考:

Property Drawer によるフィールドのカスタマイズ | murnana

Custom Property Drawer で型指定のカスタムプロパティを作成する | MR が楽しい

コンポーネントを設定したフィールドを非表示にする | テラシュールブログ

Inspector に Get Component In Children を行うボタンを追加する | うにてぃブログ

Draw Default GUI

参考:

Property Drawer でデフォルトの GUI を描画する | LIGHT11

Drawing default Property Drawer in a Custom Property Drawer – Unity Forum

Draw default property types in Custom Property Drawer – Unity Answers

配列 (Array)

参考:

ScriptableObject resetting array of Property Drawer to length of zero – Stack Overflow

Reordable List

参考:

Reorderable List と Property Drawer を組み合わせて使う | GREE Engineering

オブジェクト参照

ドキュメント:

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

参考:

Property Drawer for objectRef – Unity Forum

Trouble setting the object reference in a property drawer – Unity Answers

シーンを参照する

コード:

A Reliable, User-Friendly Way to Reference Scene Assets – GitHub Gist

参考:

How to link Scenes in the Inspector – Unity Forum

GetPropertyInstance

参考:

Getting a reference to the property and to its owner behaviour? – Game Development Stack Exchange

競合

参考:

複数のカスタム Property Attribute を作ると Property Drawer が競合する問題とその対応策 | LIGHT11

型を判定する

参考:

How do I get the child type in a Property Drawer of parent type – Unity Forum

DropAreaGUI

参考:

override drag-and-drop implementation on list / array types – Stack Overflow

Serialized Property

こちらのページを参照

ドキュメント:

SerializedProperty | Unity スクリプトリファレンス [公式]

SerializedPropertyType | Unity スクリプトリファレンス [公式]

EditorGUI

ドキュメント:

EditorGUI | Unity スクリプトリファレンス [Official]

リファレンス

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

チュートリアル

Introduction – Property Drawers / Customize Your Inspector (Jason Weimann)

Property Drawer Value Side By Side (Kasper Dev)

Property Drawers (Otter Knight)

Improve Your Workflow with Custom Property Drawers & UI Toolkit (Llam Academy)

Autohook

動画:

Demo

コード:

AutohookAttribute.cs (Lotte) – GitHub Gist

Editor Extension Methods

コード:

EditorExtensionMethods.cs (Lotte) – GitHub Gist

Filter File Extension Drawer

コード:

特定の種類/拡張子のファイルだけを設定したい (hiyorin) – GitHub Gist

Property Drawer Collection

**OBSOLETE**

動画:

Demo

入手:

Property Drawer Collection | Unity Asset Store [Official]

フォーラム:

Property Drawer Collection | Unity Forum

Disappear Attached Field

コード:

DisappearAttachedFieldAttribute.cs (tsubaki) – GitHub Gist

参考:

コンポーネントを設定したフィールドを非表示にする | テラシュールブログ

Layer Mask Drawer

コード:

Custom Layer Mask Field Drawer that Behaves Exactly Like Unity Layer Mask Drawer (seyahdoo) – GitHub Gist

Enum Flags / Masks

フォーラム:

Property Drawer for Enum Flags / Masks – Unity Forum

Folder Attribute

リポジトリ:

Eldoir/FolderAttribute: Now You Can Reference Folders into Inspector – GitHub

参考:

Folder Attribute – Inspector でフォルダを設定できる | コガネブログ

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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Protected by reCAPTCHA