Part 1: シーンの設定 | Part 3: Scene ビューからのアクセス
Whitewater の分割
- whitewater_sim の中に入り、whitewaterobject1 を選択
- Guides タブの Color Particles by Type をオンにすれば、Spray, Foam, Bubbles が色分けされて表示される。
このようにそれぞれのタイプのWhitewater を別キャッシュで出力するのが今回の目的。
- whitewater_sim を出て、import_whitewater の中に入る。
- Delete ノードを一つ追加、import_whitewater ノードから接続。
- 表示フラグをこの delete1 に設定。表示モードを Hide Other Objects にしておくと良いかもしれない。
- delete1 のGroup の右端にある三角形から bubbles を選択
- Operation を Delete Non-Selected
- Entity を Points に設定。
- これにより、bubbles パーティクルのみが表示される。この delete1 ノードを bubbles と名前を変更しておく。
- 名前を変更した bubbles ノードを Ctrl+C、Ctrl+Vでもう一つ追加。
- 名前を foam
- Group も foam に変更。
- もう一度 Ctrl+C、Ctrl+Vでもう一つ追加。
- 名前を spray
- Group も spray に変更。
これらのノードを元に Alembic でキャッシュを書き出そうとすると、Houdini 13ではエラーが起き書き出すことが出来ない。Bgeo であれば問題なく書き出すことが可能。これはなぜかというと、1フレーム目に キャッシュすべきパーティクルが存在しないから。注: Houdini 14 では問題なく書き出すことが可能。
回避策は二つあり、- Whitewaterが発生するフレームから書き始める (今回のシーンでは23フレーム目から)
- 固定パーティクルを一つ追加し、Whitewaterパーティクルとマージすることで 1 フレーム目からパーティクルが存在するようにした上で、パーティクルを書き出す。
- パーティクルをマージする際には、両方のパーティクルが同じセットのアトリビュートを持っている必要がある。
- 3つのPoint アトリビュート
- 1つのPrimitive アトリビュート
- 2つのDetail アトリビュート
- 14のPoint アトリビュート
- 2つのPrimitive アトリビュート
- 3つのDetail アトリビュート
- 23フレーム目(whitewaterが出現したフレーム以降)に行き、
/obj/import_whitewater/ 以下で import_whitewaterに deleteノード(delete1)をもう一つ接続- Group: 「空白」
- Operation: Delete Non-Selected
- Entity: Points
- Pattern: 0
- このノードを onepoint と名称変更しておく。この状態でノードをロックする。
ノードのロックには、ネットワークビューでの onepoint ノードの左から2番目の帯をクリック、赤くする。
これで、フレーム番号に関わらず、常に一つのパーティクルが必要なアトリビュートを伴ってこのノードに存在する。
この一つだけのパーティクルが邪魔な場合は、Transformノードを挟んで、どこか見えないところに移動しても構わない。
例えば、01_sceneSetup.hip の 1フレーム目で /obj/import_whitewater/import_whitewater 上でMMBクリックすると、 このノードには、
ところが、実際にWhitewaterが発生を始めた 23フレーム目で同じノードをMMBクリックすると、
パーティクルを新たに一つ作成し、これだけのアトリビュートを追加するのは正直非常に面倒。
よって、以下の方法を取る。
ここまでの設定を行ったのが、 02_deleteGroups.hip。 (854KB zip)
0 件のコメント:
コメントを投稿