プロパティ ページをビルドするには、使用したいコントロールに対応する一連のパラメータを使用して、最初にカスタム プロパティ セットを作成する必要があります。 たとえば、(RGB)のカラー コントロール 1 つとテキスト ボックス 2 つをユーザに表示するダイアログを作成する場合、作成しなければならないパラメータは、浮動小数点パラメータ 3 つと文字列パラメータ 2 つ(全部で 5 つ)です。
また、カスタム プロパティ上のパラメータを動的に変更することもできます。 詳細については、「カスタム プロパティを動的に変更する」を参照してください。
カスタム プロパティを作成する際は、その作成方法に応じて、はじめに CustomProperty または CustomProperty オブジェクトへのポインタを取得します。
処理中にプロパティを作成するには、SceneItem.AddCustomProperty または SceneItem::AddCustomProperty を使用して空のカスタム プロパティ セットを作成します。プロパティをオーナー(たとえば、クラスタ、3D オブジェクト、モデルなど)としてサポートするシーン ノードは、どれでも使用できます。
自己インストール プロパティを作成する場合は、Define コールバック内部で Context.Source または Context::GetSource プロパティから CustomProperty オブジェクトへのポインタを取得できます。
// JScript function MyCPSet_Define( in_context ) { var oCusProp = in_context.Source; // ... } // C++ CStatus MyCPSet_Define( CRef& in_context ) { Context ctxt(in_context); CustomProperty cus_prop(ctxt.GetSource()); }
単純なコントロールを定義する場合、または非表示のパラメータを作成する場合は、毎回 CustomProperty.AddParameter3 または CustomProperty::AddParameter を使用します。
カラーコントロールを定義する場合は、チャンネル(RGB/RGBA)ごとに 1 つのパラメータを作成する必要があるので、その手間がかかります。
Fカーブ ウィジェットには、CustomProperty.AddFCurveParameter または CustomProperty::AddFCurveParameter を使用します。
グリッド データ ウィジェットには、CustomProperty.AddGridParameter または CustomProperty::AddGridParameter を使用します。
C# またはスクリプトの場合は、CustomProperty.AddParameter3 がプロパティ セット作成の推奨バージョンです。これは、JScript 準拠(CustomProperty.AddParameter2 と同様)で、しかもオリジナル(CustomProperty.AddParameter)をベースに単純化されたものであるためです。ただし、パラメータがUI範囲、特定の分類フラグ、またはユーザ名を必要とする場合は、これら両バージョンのどちらかを使用することを考えてください。
C++ API の場合、単純化されたものと、UI 範囲を指定できるものの、2 つの CustomProperty::AddParameter 関数があります。両者とも、分類フラグおよびユーザ名を指定するための引数があります。
PPGLayout または PPGLayout オブジェクトを PPG.PPGLayout または ProjectItem::GetPPGLayout から取得してプロパティ セットのレイアウトを定義し、次の操作でその定義を使用します。
プロパティ ページにコントロールを追加する(プロパティ ページ コントロール)。
プロパティ ページのコントロールを操作し、プロパティ セットのデータを処理するためのロジックを追加する(プロパティ コールバック)。
プロパティ ページにヘルプ ファイルを割り当てる(ヘルプ ファイルのを提供する)。
このカスタム プロパティを自己インストール プラグイン(再利用可能)にする場合は、特定のコールバックも指定する必要があります。 詳細については、「プロパティ コールバック」を参照してください。
XSIUtils.WriteSPDL を使用してシーン内のスクリプト済み CustomProperty 定義から SPDL を(また必要に応じてプリセットも)作成し、XSIUtils.RegisterSPDL を使用して登録することができます。ただし、これらの手法を使うことは低レベルであり、Softimage のインストールに障害が発生する可能性があるためお勧めしません。
また、同じ機能を自己インストール式カスタム プロパティで実行するときは、追加の SPDL ファイルを作成してもメリットはありません。