Cell_Fractureオブジェクトを破壊するアドオン、『Cell Fracture』
簡単に岩やガラスをそれらしく粉砕してくれる。
Cell Fractureと剛体(Rigid Body)シミュレーションで
グラスを割って破片を床に落としてみるまでの覚え書き。


準備

[ファイル]メニュー > ユーザー設定アドオンから、「Cell Fracture」を有効にしておく。

01

ツールシェルフのツールタブに[Cell Fracture]が現れる。

03

オブジェクトが小さいと、綺麗に分割されない。
対処法がわからないので、グラスを10倍に拡大した。


UV球を作成して、ヒビを入れたい場所に移動させる。

05


グラスとUV球を親子設定する。
UV球を選択し、親にしたいグラスを最後に選択してから
[オブジェクト]メニュー > 親 > オブジェクトCtrl+Pキー) を実行する。

07

ヒビ作成用オブジェクトは、とくになくても構わない。
グリースペンシルでのヒビ位置指定もできる。
これらを指定しないで実行すると、均等に粉砕されるので、ちょっと不自然。


オブジェクトを粉砕 (Cell Fracture)

「オブジェクトモード」にて、壊したいオブジェクトを選択し、
[Cell Fracture] ボタンを押す。

08


オプション画面が出てくる。

09

今回はひび割れに子オブジェクト使うので「Child Verts」を選ぶ。
「ノイズ」は割れ方のランダム性。適当な数値を入れる。

Cell Fractureオプションの詳細
【Point Source】分割数の設定。複数選択可。
Own Verts : 選択したオブジェクトの頂点数が分割数になる。
Child Verts : 子オブジェクトの頂点数が分割数に。
Own Particles : 「パーティクル」で設定した数
子パーティクル(Child Particles)  : 子の「パーティクル」で設定した数
グリースペンシル(Grease Pencil) : グリースペンシルで描いた頂点数。

Source Limit :分割数の最大数。 0で無制限。
ノイズ(Noise) : ランダム性。数値が高いほど不規則になる。
【Recursive Shatter】分割されたオブジェクト(破片)の再分割の設定
Recursion : 破片をさらに分割する。Recursionの数値×Point Source数値が、分割される数になる。
Source Limit : 分割の最大数。0で無制限。
Clamp Recursion : オブジェクトの最大数。この値を超えたオブジェクトを作らないように、再分割を制限できる。0で無効。
再分割する破片の対象を選ぶ。
ランダム(Random) : ランダム
Small : 小さいオブジェクト
Big : 大きいオブジェクト
Cursor Close : カーソルに近いオブジェクト
Cursor Far : カーソルから遠いオブジェクト
【Mesh Data】破片の断面に関する設定
Smooth Faces : スムーズ
シャープな辺(Sharp Edges) : 無効の場合はエッジを鋭く設定。(??"Set sharp edges when disabled"が原文)
Apply Split Edge : 鋭いエッジを分割 (無効だと断面の角が取れて丸くなる。)
Match Data : オリジナルメッシュと同じマテリアルとレイヤーを使用
マテリアル(Material) : 内側(断面)部分のマテリアルをインデックス番号で指定
Interior VGroup : 内側(断面)部分の頂点グループを作成
余白(Margin) : 破片同士の隙間をあける(物理演算がより安定する)
Split Islands : 分離したメッシュを分割
シャープな辺(Sharp Edges)とApply Split Edgeは両方チェックしておかないと
破片同士がなんだか丸くなる。    

設定が終ったら[OK]ボタンを押すと、処理が開始される。


処理が終わると、Cell Fractureを実行したオブジェクトの隣のレイヤーに、
分割されたオブジェクトたちが作成される。

10

分かりにくいので、シェーディングを「レンダー」にしてみる。

11

こんな塩梅になる。
ヒビ指定した箇所を中心に割れていく。
気に入らなければ、レイヤー内オブジェクトを削除して、再びCell Fractureする。


剛体(Rigid Body)シミュレーション

粉砕されたオブジェクトをすべて選択する。(Aキー)
Cell Fracture実行後に何も弄っていなければ、全選択状態になっている。

ツールシェルフ > 物理演算タブ > [剛体ツール]パネル[アクティブ追加]ボタンを押す。

12


破片オブジェクトとは別のレイヤーに、床にするオブジェクト(平面プリミティブ)を用意する。
床だけを選択状態で(破片は非選択)にして、
ツールシェルフ > 物理演算タブ > [剛体ツール]パネル[パッシブ追加]ボタンを押す。

13

破片と床に、剛体が設定される。

破片と床のレイヤーを分けたのは、「破片のみ全選択」をしやすくするため。
両レイヤーを表示するときは、Shiftキーを押しながらレイヤーを選択する。


タイムラインの終了フレームを長めに設定して(デフォルトは250)
[アニメーション再生]ボタンを押す。

14

破片が落下していく様子がシミュレーションされる。


剛体の再設定

剛体の設定を変更したいときは、破片を全選択し、
どれか一つをアクティブにした状態で数値を変更、
ツールシェルフ > 物理演算タブ > [剛体ツール]パネル[アクティブからコピー]ボタンを押す。

15

「摩擦」 を低くすると、滑りやすくなる。
「弾性」 を高くすると、跳ね返りやすくなる。

床の方も、合わせて調整するとよい。


場合によっては、細かい破片が床をすり抜けて落ちていく。

17


よくわからないが、床の[剛体コリジョン]感度: 余白
デフォルトの4cmから10cmにしたら、床に留まるようになった。

18

大きすぎても小さすぎてもダメらしく、 シミュレーション具合を見ながら調整した。
大きいと破片が上空へと飛んで行ってしまった。


レンダリング(F12キー)して完成。

Rigid_Body

「Cell Fracture」以外にも、オブジェクトを破壊するアドオンに「Fracture Tool」などがある。
Blenderにデフォルトで入っている。



参考リンク