ここでは、 Houdini 16.5.427 から Trace SOP に追加された Boundary Color オプションについて説明する。
使用したビルド: 16.5.427
シーンファイルへのリンクは一番下にあり。
1. 今までの問題点
- 例えば、COP で次のような画像シーケンスを作ったとする。
- これを Trace SOP に次のように読み込む。
- Filters タブの一番下*の Hole Faces をオンにすると、文字の穴の部分にあった面が取り除かれる。
- 問題は、文字がフレームよりも大きくなり、輪郭の色が反転する時に、Trace の方向も反転してしまうことにある。見てわかるとおり2番目(10-11フレーム)が反転している。これを回避するには、COP で画像の周りに白い枠を追加するなどして、輪郭の色が一定であるようにすることで対応できた。
*: 16.5.426 までは Filters タブの一番下、16.5.427 以降は一番下に以下の新しい Boundary Color が追加されたので、下から2番目。
2. 今回の追加オプション
16.5.427で、Trace SOP にBoundary Color が追加された。今回の例であれば、これを Black と設定すれば、文字の部分に面が作成される。
- 下は、Boundary Color を Black とした時の11フレーム目。
- Boundary Color を White にすれば、明示的に反対に設定することが出来る。
- Boundary Color を "Same as (0,0)" とすれば以前の挙動になる。
3. 穴を塞ぐ面を削除する別の方法
Trace SOP への入力データ次第では、上記の方法を使ってもうまくいかない可能性がある。その場合の回避策として以下の方法が考えられる。
- Trace SOP の Filters タブにある Hole Faces をオフにする。
- Trace SOP の出力に Group ノードを追加。
- Group Type は Primitives のまま
- Keep By Normals をオンに
- Spread Angle を90° にする。
- これで穴の部分の面が group1 としてグループ化される。
- Group SOP の出力に TAB->Split ノードを作成。
- Group に group1 を設定。
- このノードには二つの出力があることに留意。
- TAB->Boolean ノードを作成。
- Boolean の入力二つに、Split の出力二つを交差せずに接続。
- Set A、Set B ともに Treat As を Surface に
- Operation を Subtract にして B-A に設定。
この方法でも、Houdini 16.5.257 以前の場合は特に、うまくいく。
シーンファイル
- trace_165427.zip 10KB
- trace_165427.hip: #2 までのファイル
- trace_boolean.hip: #3 までのファイル
0 件のコメント:
コメントを投稿