カスタム オペレータは、文字列パラメータに直接接続することはできません。 カスタム オペレータから文字列パラメータに対して読み書きを行うには、そのパラメータを所有するオブジェクト(たとえば、CustomProperty または CustomProperty など)に接続します。
そのコマンドは、シーン データには完全に影響しない限り、(たとえば、PickObject など)、オペレータの内部からコマンドを呼び出すことはできません。
ジオメトリやシーン オブジェクト(CreatePrimやAddNull など)を生成するコマンドや、トポロジを変更したり項目をクラスタに追加するあらゆるコマンドは、シーン データを変更し、Softimage の動作を不安定にするおそれがあるため、呼び出しは厳禁です。
シーン グラフは、オペレータが評価されるタイミング以外のタイミングで読み込むことはできません。 ただし、シーンが最初から最後まで注意深く評価されている場合は、回避策として、オペレータ内にデータをキャッシュすることができます。 この種類の回避策の実装方法については、「ParticleOp の例」を参照してください。
オペレータが評価されるタイミングが再生コントロールによって設定された現在の時間であると想定すること、またはフレームごとに評価が1つしかないと想定することはできません。 以下のツールを使用できます。OperatorContext.Time または OperatorContext::GetTime を使用して、現在の評価時間を取得できます。
可能であれば、各ポート グループにポートを 1 つずつ使用して、接続を明確にしておくことをお勧めします。 ダイナミック オペレータについては、数多くのインスタンスを含む 1 つのポートを定義できます。 詳細については、「スタティック オペレータとダイナミック オペレータ」を参照してください。
グループまたは階層に追加(または削除)されたオブジェクトは、カスタム オペレータがプリミティブに書き込む出力ポートを定義している場合にのみ、カスタム オペレータに自動的に接続(または切断)されます。 これは、グループ/ブランチ オペレータ機能の既知の制限事項です。
PortGroup が Filter を定義し、オペレータがブランチ グループ接続をサポートしている場合、フィルタにはグループ フィルタが含まれている必要があります。 これにより、オペレータをブランチ内のオブジェクトやグループ オブジェクト上に適用する場合、ApplyOp コマンドまたは Operator.Connect メソッドによって入力オブジェクトを評価できるようになります。