ポリゴン メッシュ コンポーネントをフィルタリングする

 
 
 

ポリゴン メッシュ オブジェクトをフィルタリングすると、特定の基準に合致するコンポーネント(たとえば、ディテールに影響のない小さなコンポーネントなど)を削除することで、ポリゴン メッシュ オブジェクトの領域をクリーンアップできます。フィルタリングは、エッジ、ポイント、ポリゴンに対して適用できます。

エッジをフィルタリングする

エッジのフィルタリングでは、エッジの長さまたは角度に基づいてエッジを集約することにより、エッジが削除されます。どちらの場合も、[境界エッジをそのまま保持](Keep Borders Edges Intact)オプションで境界エッジを保護できます。

エッジのフィルタリングは、特に、ブール演算により生成されるポリゴン メッシュの三角分割を減少させる上で役立ちます。

エッジを長さでフィルタリングする

エッジを長さでフィルタリングすると、最も短いエッジが集約されます。

エッジを長さでフィルタリングするには

  1. ポリゴン メッシュ オブジェクトまたは複数のエッジを選択します。

  2. [モデル]ツールバーで[修正](Modify) [ポリゴンメッシュ](Poly. Mesh) [フィルタエッジ](Filter Edges)を選択します。[エッジフィルタ オペレータ]プロパティ エディタが開きます。

  3. [フィルタタイプ](Filter Type)[エッジ長](Edge Length)に設定されていることを確認します。

  4. [エッジ長](Edge Length)の値を調整します。この値がエッジを削除するしきい値となります。この値よりも長さが短いエッジが集約されます。

エッジを角度でフィルタリングする

エッジを角度でフィルタリングすると、指定したしきい値よりも角度の相違が小さい 2 つのエッジ(正確に 2 つです)により共有されるポイントが集約されます。

これにより、ほとんど一直線であるエッジを統合できます。3 つ以上のエッジで共有されるポイントが集約されることはありません。

エッジを角度でフィルタリングするには

  1. ポリゴン メッシュ オブジェクトまたは複数のエッジを選択します。

  2. [モデル]ツールバーで[修正](Modify) [ポリゴンメッシュ](Poly. Mesh)[フィルタエッジ](Filter Edges)を選択します。[エッジフィルタ オペレータ]プロパティ エディタが開きます。

  3. [フィルタタイプ](Filter Type)[エッジ角度](Edge Angle)に設定されていることを確認します。

  4. [エッジ角度]の値を調整します。この値がエッジを削除するしきい値となります。この値よりも角度の相違が小さいエッジが統合されます。

ポイントをフィルタリングする

ポリゴン メッシュ オブジェクト上のポイントをフィルタリングすると、指定の距離内にある頂点同士がウェルディングされます。これは、エクスプロード(「分解された」)メッシュで接続解除されているポリゴンを修正する場合に特に便利です。エクスプロードメッシュは、メッシュが他のプログラムから書き出された場合に発生することがあります。

ポイントを距離でフィルタリングするには

  1. ポリゴン メッシュ オブジェクト上の、フィルタリングするポイントまたはポイント クラスタを選択します。オブジェクトを選択すると、オブジェクトのすべてのポイントが選択されます。

  2. [モデル]ツールバーで[修正](Modify) [ポリゴンメッシュ](Poly. Mesh) [フィルタポイント](Filter Points)を選択します。

    選択したポイントが既定の設定でフィルタリングされ、[FilterPointsByDistance Op]プロパティ エディタが開きます。

  3. [距離](Distance)を調整します。この値より近い距離内にあるポイント同士がウェルディングされます。この値より距離が離れているポイント同士は、別々の「クランプ」にウェルディングできます。値は Softimage 単位です。

  4. 必要に応じて、ウェルディングのターゲットを指定します。

    • [平均位置](Average position): 選択範囲内にあるポイントの各クランプを、それらの平均位置でまとめてウェルディングします。

    • [選択ポイント](Selected point): 選択範囲内にあるポイントの各クランプを、その平均位置に最も近いポイントの位置でまとめてウェルディングします。

    • [非選択ポイント](Unselected point): 選択された各ポイントを、同じオブジェクト上の選択されていないポイントにウェルディングします。

  5. 必要に応じて、この後のセクションで説明する、その他のパラメータを調整します。

結果をクリーンアップする

[FilterPointsByDistance Op]プロパティ エディタの[クリーンアップ]セクションには、ポイントをフィルタリングした結果として発生する不要なジオメトリを削除するためのオプションが 2 つあります。

  • [2面を持つ新規ポリゴンの削除](Remove new double-sided polygons)は、フィルタリング処理で発生した、背中合わせのポリゴンの対を削除します。これらの両面ポリゴンは、2 つのポリゴンが狭い間隔で互いに面している場合に発生します。たいていの場合、最終的な結果ではこのような両面ポリゴンは不要になることが多いため、このオプションはオンのままにしておくとよいでしょう。ただし、最終的に生成されたポリゴンを今後のモデリングで使用する予定の場合は、このオプションをオフにすることができます。

  • [新たなダブルエッジの集約](Collapse new double edges)は、フィルタリング処理で作成されたダブル エッジを除去します。非境界ポイントの 2 つの行をすべて 1 つの頂点に集約せずにウェルディングする場合などには、このオプションをオフにすることができます。

フィルタリングを制限する

[FilterPointsByDistance Op]プロパティ エディタにあるオプションを使用すると、フィルタリング処理の対象を、特定の条件を満たす頂点に限定することができます。

  • [境界ポイントのみ](Border points only)は、非境界ポイントが選択に含まれている場合でも、境界エッジ上のポイントのみをウェルディングします。このオプションは、個別にモデリングされた部品を結合して 1 つのオブジェクトにマージするなどの場合に便利です。

  • [最大法線角度差](Max normal angle difference)は、2 つのポイントの法線角度差が指定量より小さい場合にのみ、それらのポイントをウェルディングします。このオプションを使用すると、逆向きに向かい合うポイント同士(たとえば、キャラクタの腕の表と裏にあるポイント同士)が一緒にウェルディングされないように制限することができます。チェックボックスをオンにして、スライダを調整します。値は度数で指定します。

  • [接続されたユーザターゲットクラスタ](Connected user target cluster)を使用すると、他のポイントに集約されない「優先ターゲット」とするポイントのクラスタを指定できます。接続アイコンをクリックし、[接続](Connect)を選択してクラスタを選択します。取り消す場合は、接続アイコンを再度クリックして[接続解除](Disconnect)を選択します。

ポリゴンをフィルタリングする

ポリゴンをフィルタリングする場合に、ポリゴンの領域や二面角を基準にポリゴンを削除できます。どちらの場合も、削除した後にエッジをクリーンアップするためのオプションが用意されています。

ポリゴンをフィルタリングする代わりに、ポリゴン リダクションを適用する方法もあります。詳細については、「ポリゴン リダクション」を参照してください。

ポリゴンを角度でフィルタリングする

ポリゴンを角度でフィルタリングすると、指定したしきい値よりも小さい二面角を持つ隣接ポリゴンがマージされます。小さい角度を指定すると平面になってしまうため、この方法は鋭いディテールを維持するのに適しています。

   

二面角: 平らなエッジの角度は小さく、鋭いエッジの角度は大きくなります。

ポリゴンを角度でフィルタリングするには

  1. ポリゴン メッシュ オブジェクトまたは複数のポリゴンを選択します。

  2. [モデル]ツールバーで[修正](Modify) [ポリゴンメッシュ](Poly. Mesh) [フィルタポリゴン](Filter Polygons)を選択します。[ポリゴンフィルタ オペレータ]プロパティ エディタが開きます。

  3. [フィルタタイプ](Filter Type)[入射角](Incidence Angles)に設定されていることを確認します。

  4. その他のパラメータを調整します。

    • ポリゴンの[入射角](Polygon Incidence Angle)は、ポリゴンをマージするしきい値です。二面角の大きさがこの値以下である場合に、隣接するポリゴンが組み合わされます。

    • [対でディゾルブ](Dissolve by Pair)は、1 度に 1 ペアずつ、順番にポリゴンを結合します。これにより、指定されたポリゴンに対し、共に削除される隣接ポリゴンはすべて同一平面上のポリゴンとなります。

      このオプションをオフにすると、ポリゴンはまとめてディゾルブされ、最終的には大きな非平面ポリゴンになります。

ポリゴンを領域でフィルタリングする

ポリゴンを領域でフィルタリングすると、最も小さいポリゴンが削除されます。これにより、小さなノイズとなるディテールを消去できます。

ポリゴンを領域でフィルタリングするには

  1. ポリゴン メッシュ オブジェクトまたは複数のポリゴンを選択します。

  2. [モデル]ツールバーで[修正](Modify) [ポリゴンメッシュ](Poly. Mesh) [フィルタポリゴン](Filter Polygons)を選択します。[ポリゴンフィルタ オペレータ]プロパティ エディタが開きます。

  3. [フィルタタイプ](Filter Type)[ポリゴンエリア](Polygon Areas)に設定されていることを確認します。

  4. その他のパラメータを調整します。

    • [ポリゴンエリア](Polygon Area)は、ポリゴンを削除するしきい値です。この値より領域が小さいポリゴンが削除されます。

    • [アクション](Action)は、ポリゴンを削除する方法を指定します([ディゾルブ](Dissolve)または[集約](Collapse))。削除に関する別の方法については、「ポリゴン メッシュ コンポーネントを削除する」を参照してください。

      [ディゾルブ]は隣接する小さなポリゴンを削除しますが、大きいポリゴンで囲まれた単一の小さなポリゴンは削除しない点に注意してください。

エッジをクリーンアップする

ポリゴンをフィルタリングすると、エッジをフィルタリングするオプションを指定できるようになります。[ポリゴンフィルタ オペレータ]プロパティ エディタの[フィルタサブエッジ](Filter Sub Edges)は、ポリゴンを削除した後に不要となったエッジをクリーンアップします。頂点が、フィルタリング前は 3 つ以上のポリゴンで共有されていて、フィルタリング後は 2 つのポリゴンだけで共有されている場合、その頂点は集約されます。

 

元のジオメトリ。

 

[フィルタサブエッジ]をオフにし、角度によりポリゴンをフィルタリングした後のジオメトリ。

2 つのポリゴンによってのみ共有されるポイントがあります。

 

[フィルタサブエッジ]をオンにし、角度によりポリゴンをフィルタリングした後のジオメトリ。

2 つのポリゴンによってのみ共有されていたポイントが集約されています。

フィルタリング前に 2 つのポリゴンだけですでに共有されているポイントには影響を与えません。特に境界には影響を与えません。

これらのポイントを削除するには、エッジをフィルタリングします。「エッジをフィルタリングする」を参照してください。

フィルタリングに関するヒント

ポリゴン メッシュ コンポーネントのフィルタリングに関するヒントを次に示します。

  • オブジェクト全体をフィルタリングすることもできますが、通常は特定のコンポーネント領域を選択する方法をお勧めします。オブジェクトには、しばしばフィルタリングする必要がない大きい領域があります。これらの領域を除外すれば、処理を高速化できます。

    また、フィルタリングするコンポーネントを選択する方法では、各領域ごとに異なる基準を使用できるため、細かいコントロールが可能になります。

  • コンポーネント フィルタのプロパティ エディタには、オブジェクト上のコンポーネントの総数に関する統計情報が表示されます。ゲーム、またはその他の特殊なアプリケーションのジオメトリ要件に合致させる必要がある場合にこの情報が役立ちます。