カスタム変数型用にカスタム PropertyDrawer を作成する
Visual Scripting でカスタムクラスからカスタム型を使用したい場合で、そのソースコードにアクセスできない場合は、カスタムの PropertyDrawer が必要になります。
PropertyDrawer がないと、エディター内でカスタム型に値を割り当てたり、カスタム型を持つ変数の値を初期化したりすることができません。
Note
カスタム型のクラスは、カスタム PropertyDrawer を作成するための [Serializable]
タグをソースコード内に持っている必要があります。
カスタム PropertyDrawer の作成は、以下の手順で行えます。
(任意) Project ウィンドウがまだ開かれていない場合は、Window > General > Project を開くか、Ctrl + 5 (macOS: Cmd + 5) を押してください。
Project ウィンドウのフォルダーリスト内、または Project ウィンドウのプレビューペイン内の任意の場所で右クリックし、Create > C# Script を選択してください。
新しいスクリプトファイルの名前を入力し、Enter を押してください。
例えば、Counter
という名前の新しいカスタム型用に PropertyDrawer を作成したい場合は、CounterDrawer
というスクリプト名も使用できます。新しい C# ファイルをダブルクリックしてください。Unity によって、Preferences (環境設定) の External Script Editor の項目下に指定されたプログラムでファイルが開かれます。Unity のスクリプトエディターに関する詳細は、Unity ユーザーマニュアルの 統合開発環境 (IDE) サポート を参照してください。
スクリプトファイルから、
Start
およびUpdate
関数と、そのコメントを削除してください。以下を新しい
public class
が定義されている行の上に追加してください。その際、<Counter>
を、この PropertyDrawer に割り当てたい型の (Unity に表示される通りの) 名前に置き換えてください。[CustomPropertyDrawer](type of(<Counter>))]
新しい
public class
を定義する行の最後で、Monobehavior
をPropertyDrawer
に変更してください。
カスタム PropertyDrawer の作成を続行する方法は、表示する必要のあるフィールドと、それをエディターのインターフェースにどのように表示したいかによって変わります。例えば、PropertyDrawer の作成に UIElements モジュールを使用する場合も、特定のフィールドの表示に Unity の IMGUI モジュールを使用する場合もあります。
カスタム PropertyDrawer の作成に関する詳細は、基本の Unity スクリプトリファレンスの PropertyDrawer クラス とその関連メソッドに関するセクションを参照してください。
Note
カスタム PropertyDrawer を作成したら、必要な追加的プロパティプロバイダースクリプトを Visual Scripting の Project Settings から再生成する必要があります。詳細は Visual Scripting のプロジェクト設定 を参照してください。