ICE のコンポーネントを指定および修正する

 
 
 

ICE オペレータ以外でインタラクティブにモデリングする場合は、ビューポートで選択することによって対象のコンポーネントを指定します。ICE を使って手続き型でモデリングする場合も、何らかの方法でコンポーネントを指定する必要があります。これはコンポーネントのインデックスを使用して行われます。コンポーネントは、それらのインデックスを明示的にリストすることによって指定するか、希望のインデックス値を手続き型で計算することができます。[Delete Vertex]などのトポロジ ノードの多くでは、コンポーネント インデックスを、1 つの整数、整数の配列、または(おそらくフィルタされた)整数の集合として指定できます。

エクスプリシット インデックスを指定する

ICE トポロジ ノードのスライダを使って 1 つのコンポーネントを指定できます。または、配列を接続することによって複数のコンポーネントを指定できます。配列は、[Build Array]または[String to Array]などのさまざまな配列ノードで作成できます。

エクスプリシット インデックスは ICE モデリングを学習するときには便利ですが、コンパウンドの開発およびデバッグを行う際にはとても制限的なものです。さまざまな条件に基づいてインデックスを手続き型で計算する方がより強力です。

インデックスを手続き型で計算する

インデックスを手続き型で計算する 1 つの方法として、1 つ以上の条件を満たさないインデックスをフィルタで除外する方法があります。[Test Polygon Inside Null]コンパウンドは、Preset Manager の[タスク](Tasks) [Topology]グループの[Conditionals]グループにあります。または、結果がブール値である計算を使って独自のテストを作成することができます。

コンポーネント インデックスをテストするコンパウンドを使用する

[Conditionals]グループには、コンポーネント タイプごとにさまざまな方法でインデックスを指定するためのコンパウンドが含まれています。[Test Edge Index][Test Polygon Index][Test PolyNode Index]、および[Test Vertex Index]があります。

これらのノードは、コンポーネントの指定がいずれの方法でも可能なコンパウンドを作成するときに特に便利です。

コンポーネント タイプを変更する

コンポーネント タイプを切り替えることが必要になる場合があります。たとえば、ポリゴンでテストを行った結果、関連付けられているエッジを修正する必要が発生した場合などです。このような場合には、[PolygonToEdges]属性を使用することができます。この属性は、ポリゴンごとの整数配列で、そのポリゴンが持つエッジのインデックスを格納しています。すべてのポリゴン メッシュ コンポーネント(頂点、エッジ、ポリゴン、ノード(ポリノード))間で変換ができるように、他にも同様の属性が用意されています。

以下の例は、フィルタされたポリゴンのセットから、フィルタされたエッジ インデックスのセットを作成する方法を示しています。

この例は、頂点インデックスの配列から、フィルタされたポリゴン インデックスのセットを作成する方法を示しています。

コンポーネントを修正する

Preset Manager の[ツール]タブの[Topology]カテゴリ内のノードは、指定されたコンポーネントを修正します。これは、ICE 以外の対応するトポロジ オペレータと同じ操作を実行します。トポロジを取得し(または、Self.Topologyの入力を接続しないままにし)、トポロジ ノードに接続して、トポロジを設定します。

[タスク](Tasks) [Topology]グループの[Modifiers]グループ内のコンパウンドを使用することもできます。これらには、コンポーネントを指定するための組み込みのオプションがあります。また、ICETree ルートに次々と直接的に接続されるようにする、実行タイプの出力もあります。

ループの処理

ループを処理するときに役立つコンパウンドもいくつかあります。オープン メッシュのループは一方向(特定のエッジから 1 つまたは他の境界)であることに注意してください。

  1. ヌルを取得します。このヌルは、近接によってエッジを指定するために使用します。
  2. [Get Closest Edge Index from Null]をルートに接続し、ヌルの名前を接続します。これは、最も近いエッジのインデックスを、後からツリーで取得できるようにカスタム パラメータ値として格納します。
  3. [Get Edge Loop]を接続し、そのオプションを設定します。これは、ループ内の、エッジ、ポリゴン、頂点についてその他のカスタム属性を格納します。
  4. 最後に、[Get Edge is on Edge Loop][Get Polygon is on Edge Loop][Get Vertex is on Edge Loop]を使用してコンポーネントを取得し、それらをモディファイヤで使用します。