Boxの特定方向以外の面を削除する方法

Box から特定の方向を向いている面だけを残したい場合は、「面の向き(法線)」を基準にして削除するのがシンプルで確実です。

基本的な考え方は以下の通りです。

  1. 残したい面の方向を Direction ベクトルで定義
  2. Primitive(面)の法線ベクトル N と Direction ベクトル D の角度を比較
  3. 一致しない面を Delete Non-Selected で削除

下の設定は「法線が (0, 1, 0) 方向を向いているプリミティブだけを残す」といった判定を行っているイメージです。

Primitive の 法線ベクトル N と指定した Direction ベクトル D のなす角度によって削除するかどうかが決まります。

ここで重要なのが Spread Angle の設定です。
Boxをサンプルに見てみるとSpread Angle = 0であれば、法線が 完全に同じ方向 を向いている面のみ一致と判定されますが

    Spread Angle = 89 であれば上面は一致するが、側面は除外される

    Spread Angle = 90であれば側面も判定に含まれるようになる

    つまり、Spread Angle は「どこまで角度を許容するか」を決める値です。
    Box の面選別では、89 と 90 の差が結果に大きく影響するので注意が必要です。

      返信を残す

      メールアドレスが公開されることはありません。 が付いている欄は必須項目です