見出し画像

RBDlabで破壊シミュレーション


Blenderのインストール


RBDlab METALSOFT リンク

https://rbdlab.gumroad.com/l/rbdladb


事前知識

・シミュレーションをする時は、各オブジェクトのスケールを適用することが大切です。
・RBDlabの煙はBlenderに搭載されているMantaflowを使って生成されます。
・日本語版使用の際はプリファレンスの設定を一部変更します
 インターフェイスにある翻訳-【新規データ】のチェックを外しましょう
 (バグの原因です)

チャンクの塊か厚みの違い

モデル自体が塊か厚みかで、シミュレーションのビジュアルも変わります。

左…中身が詰まった塊のモデル
右…中身が空洞で、物体の外側に厚みのあるモデル

正方形を2分割した時の造り
破壊した時の見え方

破壊時の破片の表現では、塊の方が密度が高いので重たく見え、
厚みの方は中身が空洞なので破片が軽めです。
ソフトボディを作成する時も同じく軽さが画に現れます。

各モジュールの役割を知る

RBDlabではモジュールと呼ばれる(小分けされた機能)
順番に巡って設定を行っていきます。

モジュール一覧 Nパネルにあります

Fracture

破砕のオブジェクトや亀裂を生成するためのモジュールです。

 Prepare 前準備
 ペイントで破砕部分を指定したり、細分化をかけたりします
 Scatter 散布
 全体にヒビ入れをする時の方法を指定します
 Fracture 破砕
 破砕を作成します
 Details 詳細
 亀裂を作った後、破片の形状を調整できます

物理演算

物理演算を設定するモジュールです。

 Ground
 
物理の機能がついた地面を作ります。
 RBD

 オブジェクトにリジットボディ機能(重さ・衝突)を与えます。
 シミュレートするオブジェクトの重さや摩擦・弾性等の設定を行います。
 Kinematics
 
運動学の機能を与えます。
 破壊の始まるタイミングを設定する時に使います。
 親(Handler)
 
破壊するオブジェクト全体を移動させたい時に使います。
 キネマティクスと併用すると、上昇して爆発するような表現ができます。

コンストレイント

亀裂の入ったオブジェクト同士をくっつけておく機能です。

 作成
 コンストレイントのグループを作ります。
 編集
 グループ内のコンストレイント強度の調整などを行います。
 アニメーション
 設定したパラメータを変更するアニメーションを加えます

Activators

起爆スイッチを設定します。
チャンク(かたまり)に対して、動作範囲の指定やアニメーションタイミングを設定したり、他オブジェクトからの影響度合いを決めたりできます。

Metalsoft

金属性をオブジェクトに付与します。
鉄板をボコボコに変形させたり、ソフトボディなどのアニメーションを作成する際に使います。

モーション

シーン内のオブジェクトやパーティクルを配置した時に、簡単にリジットボディ化させる事ができます。

 Quick Rigidbodies
 オブジェクトをリジッドボディ化します
 Particles to Rigidbodies
 パーティクルをリジッドボディ化します

ベイク

シミュレーションをベイク(事前計算)をすることができます。

 RigidBodies
 リジッドボディの計算をします。
 To Keyflames
 キーフレームにベイク結果を生成します。
 ※リジッドボディが削除され、再シミュレーションへ戻れなくなります。
 Particles
 
全てのリジッドボディとパーティクルをベイクします。
 ※
パーティクルがある時に使用できます。

パーティクル

シミュレーションに細かな破片やほこり、煙を追加します。
全項目で物理演算もあります。

 Debris
 破片を生成します。大きさや速度、回転なども設定できます。
 Dust
 ほこりを生成します。大きさや速度、回転なども設定できます。
 Smoke
 
煙を生成します。大きさや速度、回転なども設定できます。

コリジョン

パーティクルとチャンク(かたまり)間に衝突を追加できます。

シミュレーションに煙や火の効果を付けることができます。
爆発のシーンなどで使います。

メッシュから生成するか、パーティクルから生成するかの選択ができます。
パーティクルから生成する方がパフォーマンスが良いです。

ツール

復元や可視性、属性のクリア、UVベイク等のユーティリティ系があります。

DynamicSwitch

元オブジェクトと破砕するオブジェクトの切り替えを行います。
ガラスやグラスなどの透過オブジェクトの破壊など、
オブジェクト内に亀裂を入れておかないといけない時に使います。

基本的なワークフロー

シーンを構築するにあたって、全てのモジュールを使うわけではなく、
表現したい事で使うモジュールを選定していきます。
頻度の低いモジュールもあるかもしれません。

まずはFractureモジュールで亀裂を作って、物理演算モジュールで設定し、
そこから各モジュールへ分岐していく事が多くなると思います。

シミュレーションなので、
ベイク(シミュレーション計算)、プレビュー確認を繰り返し、
納得のルックが出来上がったらレンダリングへ進むといった感じです。

レンダリングの前に

書き出し範囲とフレームレートを指定

出力プロパティにあります

出力解像度を指定します
例)
Instagram 1080px × 1080px
フルHD  1920px × 1080px

フレームレート(1秒あたりの枚数)を設定します。
フレームレート数値が高いとヌルヌルした動きに、
フレームレート数値が低いとカクカクした動きになります。

【フレームレート数 × 秒数】フレームの範囲を設定します。
5秒の動画を24フレームで書き出す場合は、
【 5 × 24 = 120 】なので、0から119までを範囲とします。
※0が1フレーム目の画になります。
 ステップとは何枚飛ばしで書き出すかの数値です。基本的に1です。

書き出すフレーム数が多いと、ベイクやレンダリング時間が増すので注意

出力プロパティにあります

出力の所で書き出し先を設定できます。
ファイルフォーマットで書き出しデータの設定、
カラーマネジメントでカラー情報の設定ができます。
◆Blender出力が最終アウトプットの場合
 カラーマネジメントのビューをAgx(3.6以前であればFilmic)にします。

◆出力画像を色補正(カラコレ)をする等、後工程がある場合
 カラーマネジメントのビューを標準にします。

レンダリング準備

レンダープロパティにあります

レンダラーを決めます。CyclesかEEVEEを使われる方が多いと思います。
デバイスは計算をCPUとGPUどちらで行うかを決められます。
安定性と正確性を求めるならCPUを、速度重視ならGPUのイメージです。

Cyclesサンプリング
EEVEEサンプリング

サンプルの数値、デノイズなどの設定をします。
他レンダリングに関する詳細は検索下さい

OPTIXとCUDA

Windws版BlenderでNVidia製GPUを使ってCyclesレンダリングを行う場合、
OptiXとCUDAというレンダリング方式が使えます。

OptiXは新しく、計算が早い方式です。
CUDAは対応GPUが多く、安定性が高いです。
自分に合ったデバイスを選択しましょう。

Blenderのプリファレンス設定【システム】にあります


Blenderが落ちる時はコマンドライン

レンダリング時に計算が重すぎてBlenderがシャットダウンする場合は、
コマンドラインでレンダリングをしてみましょう。
Blenderのアニメーションレンダリングよりも安定して書き出しができます。
 ※コマンドラインレンダリング中はBlenderは閉じてもOKです。

コマンドプロンプトを開いた状態

Windowsの検索窓からcmdと打つとコマンドプロンプトが出せます。
オレンジ線のところに上記のパスを入れてEnterを押します。

レンダリング

通常のアニメーションレンダリング、
あるいはコマンドラインレンダリングを行って、レンダリングを行います。



いいなと思ったら応援しよう!