こんにちは。スタジオトキのCG担当です。
今回はHoudiniの破壊のシミュレーションについて紹介したいと思います。
RBDBulletSolver
前回作ったFractureをRBDBulletSolverを作成して下記のイメージのように繋ぎます。今回は中の詳細なParameterの説明は省きますが、これによって対象の粘り気や頑強性等をセットできます。
rbdmaterialfractureの場合
voronoifractureの場合
少しvoronoifractureの方がNodeが多いのはConstraintの為のアトリビュートがvoronoifracture単体では作成されない為で、rbdconstraintpropertiesを繋ぐと”Glue”というアトリビュートが作成されます。このアトリビュートを使って破壊を行う為、これがないと上手く機能しなくなります。
Nullについては作らなくても問題ありませんが、作って確認すると下記の図のように蜘蛛の巣のようなものが出来ているかと思います。これがコンストレイントがどう機能するかになります。これが破片は多いのに極端に少ないと上手くシミュレーションされません。
点群のCacheを作成する
BulletsolverをアクティブにしてfileCacheを作成し、Bulletsolverの右下に繋ぎます。右下は何かというとシミュレーションの結果を破片ごとに点群にして出力するものです。こちらでCacheを作成することで、Mesh全てをCacheするより速くCacheすることができます。
Frame1
Frame72
transformpiecesで結果を確認する。
transformpiecesを作成して点群をCacheしたものを真ん中に右上に破片化させたものを繋ぐと破壊の結果をリアルタイムでシミュレーションせずに確認出来ます。結果が満足いくものでしたらこの下に更にFileCacheを作成して、今度はMeshをCacheします。
これで完成になります。
もしそれぞれにマテリアルを割り当てたい場合は、予めグループ化させておき、マテリアルでアサインするか、ブラストで各コンポーネント毎に分けます。
コンクリート
ガラス
窓のフレーム
全部合わせたもの
如何でしたでしょうか。今回は簡単な破壊のシミュレーションの方法をご紹介しました。
スタジオトキでは3D モデルの制作から配信、動画制作なども幅広く承っております。
無料の内覧会も行っておりますので、まずはお気軽にご相談ください!
Twitter アカウントはこちら!
ご予約はこちらから!
お問い合わせはこちらから!