コレクションとCEL

コレクション式言語(CEL)は、操作または割り当てが作用するシーングラフの場所を記述するために使用されます。CELステートメントを使用して定義することもできますcollectionsその後、他のCELステートメントで参照される場合があります。

CELステートメントが使用される目的は、マッチングと収集の2つです。

マッチングは最も一般的な操作であり、シーングラフデータが生成されるときに使用されます。の多くのノードKatanaこのノードによって定義された操作がどの場所で動作するかをユーザーが指定できるCELステートメントがあります。たとえば、CELステートメントはMaterialAssignノードで使用され、階層内のどの場所に特定のマテリアルが割り当てられているかを指定します。各シーングラフの場所が生成されると、CELステートメントに対してテストされ、一致するかどうかが確認されます。存在する場合、その場所で操作が実行されます。通常、このマッチングプロセスは計算が非常に高速です。

コレクションは完全に異なるタイプの操作です。CELステートメントは、一致するシーングラフ内のすべての場所のコレクションを生成するために使用されます。CELステートメントによっては、これを評価するのに費用がかかる可能性があります。シーングラフ内のすべての場所を開いて一致を確認する必要がある場合があります。収集は通常、ベイク処理の一部として、またはUIで項目を選択するために行われます(FindandSelect)、ただし、ライトを指定するために任意のCEL式を使用する場合、ライトリンクに対しても行う必要があります。