02 VDB Clip Flow
ここでは、前項で解説したClipからの応用編を解説します。前項では、ただストレートでClipしたものに厚みを付けただけですが、ここではVDBを使ってさらに複雑なジオメトリの作成方法にチャレンジしたいと思います。
ベースとなるジオメトリの準備は前項と同じです【A】。まず、Bounding Box SOP【B】で全体の大枠を取り、それをVDBに変換します。VDBに変換する際にFill Interiorで内側まで埋めます【C】。次にVDB Visualize Tree SOP【D】でPoint with Valueを使ってPointに変換します。さらにAttribute Rename SOP【E】でvdb_floatをsurfaceに変換します。そしてこのPointに対してRest Position SOP【F】を使ってrestを追加します。その後好みでDeformして準備は完了です【G】【1】。DeformしたPointをForの中でカットします。今度はClipを2つ使って【H】一定の間隔を取りカットします【2】。
カット後、restのAttributeからPへ変換します【I】【3】。同時に、Bounding Boxから作成したVDBをVolumeに変換します【J】。Volume from Attribute SOP【K】を使い、Volumeに対してsurfaceのAttributeを移行します。VolumeをVDBに変換して【L】VDB Resample SOP【M】で整理します。VDB Smooth SDF SOP【N】で滑らかにします【4】。
またVDB Reshape SDF SOP【O】を使ってカットするVDBにパディングを作成します。元のジオメトリのVDBとカットして作成したVDBを、VDB Combine SOP【P】を使いSDF Intersectionで演算します【5】。このとき、インプットされたVDBのDivisionがちがっていても、どちらかに合わせて演算することが可能です。その他、VDB Smooth SDF SOPをエッジの部分にかかるようにするなど、VDBの調整を行います【Q】。それらをForでGatherすれば完成です。最後に、VDB Smooth SDF SOPやConvert VDB SOPでPolygonに変換して完了します【R】【6】。