すあまの備忘録

誰得内容の自分のための非営利目的備忘録ブログ(筆者がわかっても内緒にしてください)

個人的Houdiniの破壊ワークフロー

破壊のワークフローを再考する必要があったので次回に備えてメモ

破壊するモデルの準備

破壊モデルが既存のスキャンモデルをパッチワークのように適当に重ねたもので、厚みもないためモデルを再生成する必要があった。 その他、コンポジットで使用するため、プロジェクションしてUVスクロールできるUVを作成する必要があった。

1.Maya上で必要なだけ細かく分割した大きめのモデルを用意し、Shrink Wrapで元のモデルのディテールを転写

2.そのモデルをHoudini上でVDBに変換し、メッシュをcleanup

3.VDBを再度ポリゴンに変換し、元モデルからUVを転写

f:id:godofsuama:20191111003853p:plain
UVアイランドごとにUVを転送

分割

全体の一部のみを穴を開けるように分割する必要があった。

1.「Boolean Fracture」ノードを使用して分割 穴を開けたい部分をVDB Combineなどで抽出し、その内部にScatterでポイントを散布 散布したポイントに「Copy to Point」ノードを使用し、ノイズをかけ、UV展開したSphereをコピー この際、DetriangulateをOnly Unchanged Polygonにする。

f:id:godofsuama:20191111003557p:plain

Boolean FractureはBooleanするオブジェクト(今回は散布したSphere)にUVが存在すればそのまま断面部分にUVを写すことができる。

2.小さい破片が邪魔なので大きい破片と結合 「Measure」ノードを使用して各破片の大きさを測り、小さい破片を近くの大きい破片を合体

コリジョン作成

1.穴周囲のコリジョン用オブジェクトを「Convex Decomposition」ノードで作成 くり抜いた周囲のオブジェクトにコリジョンする必要があるため、周囲のオブジェクトのみを取り出し、Convex Decompositionノードでコリジョンを作成

複雑なオブジェクトでも、ある程度に分割してコリジョンメッシュに変換することができる。

最後

1.2frame先のオブジェクトからActiveを転送してRBDシム

2.「Transform Pieces」ノードで元のオブジェクトへ破壊の移動回転値を転送

3.Pathアトリビュートを作成し書き出し