プロパティ ページをビルドするには、使用したいコントロールに対応する一連のパラメータを使用して、最初にカスタム プロパティ セットを作成する必要があります。 たとえば、(RGB)のカラー コントロール 1 つとテキスト ボックス 2 つをユーザに表示するダイアログを作成する場合、作成しなければならないパラメータは、浮動小数点パラメータ 3 つと文字列パラメータ 2 つ(全部で 5 つ)です。
また、カスタム プロパティ上のパラメータを動的に変更することもできます。 詳細については、「カスタム プロパティを動的に変更する」を参照してください。
カスタム プロパティを作成する際は、その作成方法に応じて、はじめに CustomProperty または CustomProperty オブジェクトへのポインタを取得します。
処理中にプロパティを作成する場合、SceneItem.AddCustomProperty または SceneItem::AddCustomProperty を使用して空のカスタム プロパティ セットを作成します。 プロパティをオーナーとしてサポートするシーン ノード(たとえば、クラスタ、3D オブジェクト、モデルなど)は、どれでも使用できます。
自己インストール プロパティの場合は、Context.Source または Context::GetSource プロパティから(Define コールバック内部で)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 の場合、2 種類の CustomProperty::AddParameter フレーバがあり、簡略化されたものと、UI 範囲を指定することができるものがあります。 両者とも、分類フラグおよびユーザ名を指定するための引数があります。
PPGLayout または PPGLayout オブジェクトを PPG.PPGLayout または ProjectItem::GetPPGLayout から取得してプロパティ セットのレイアウトを定義します。これにより、次のことができます。
プロパティ ページにコントロールを追加する(プロパティ ページ コントロール)。
プロパティ ページのコントロールを操作し、プロパティ セットのデータを処理するためのロジックを追加する(プロパティ コールバック)。
プロパティ ページにヘルプ ファイルを割り当てる(ヘルプ ファイルの提供)。
このカスタム プロパティを自己インストール プラグイン(再利用可能)にする場合は、特定のコールバックも指定する必要があります。 詳細については、「プロパティコールバック」を参照してください。
シーン内のスクリプト化された CustomProperty 定義から SPDL(およびオプションでプリセット)の作成と登録を行うことは、XSIUtils.WriteSPDL を使用してから XSIUtils.RegisterSPDL を使用することで可能になります。 ただし、これらの手法を使うことは低レベルであり、Softimage のインストールに障害が発生する可能性があるためお勧めしません。
また、同じ機能を自己インストール式カスタム プロパティで実行するときは、追加の SPDL ファイルを作成してもメリットはありません。