ICE(Interactive Creative Environment)ツリーは、データと機能を表す相互接続されたノードのセットを作成できる、特殊なタイプのオペレータです。 この操作は、Render Tree でシェーダ ツリーを作成する場合と非常によく似ています。
オブジェクト モデルおよび C++ API の両方に、ICENodes または ICENodes と呼ばれるこれらの最小単位を表すインターフェイスあります。各ICENodeには少なくとも1つの出力ポートが必要であり、1つまたは複数の入力ポートがグループにまとめられています(オペレータに似ています)。これらのインターフェイスは、ICENodeInputPort または ICENodeInputPort および ICENodeOutputPort または ICENodeOutputPort です。ICENode のグラフを ICECompoundNode または ICECompoundNode と呼ばれる特別なコンテナにまとめて、利便性、再利用性、非公開性を高めることができます。これはちょうど、プログラミングの関数やサブルーチンのようなものです。これは主にパーティクルを作成する手段であるため、ICEAttribute または ICEAttribute インターフェイスから、ジオメトリやプロパティなどのシーン オブジェクトに属する属性データ セットにアクセスできます。
オペレータは Softimage シーン エレメントの ICE ツリーへのエントリ ポイントであるため、ICETree または ICETree と呼ばれます。ICE ツリーをオブジェクトに追加する場合、基本的には ICETree または ICETree オペレータをオブジェクトに適用するので、ApplyOp コマンドを使用します。
C++ API で自己インストール プラグインとしてカスタム ICENode を作成できます。カスタム ノードを ICENodeDef クラスで定義して、メイン ロジック(計算)を Custom ICENodes コールバックでコーディングします。Evaluate コールバックによって、ICENodeContext オブジェクトを介して、入力および出力ポートデータが取得されます。詳細については、「カスタム ICENode」を参照してください。
また、ジオメトリまたはプロパティの ICE 属性をナビゲートする方法およびすべての属性値のログを記録する方法を示す ICE 属性の検査のサンプルを参照することもできます。このサンプルは、Softimage SDK のインストール フォルダにある examples フォルダにあります。