No More Retake

3DCG屋さん向けTips&Referenceサイト

メニュー

Houdiniレシピ:破片の作成とシミュレーション(基本編)

今回は、簡単な破壊エフェクトについて手順も踏まえて書いてみようと思います。
最終的にこういうのを作ります。

Houdini_Fracture_011

出来るヒトは見なくてよろしw

 

ここでは事前にジオメトリを破片に分割して、それをシミュレーションするという手順で進めたいと思います。
ざっくり書くと、

1:ボロノイ分割での破片の作成
2:RBD Fractureでシミュレーション
です。

 1:破片の作成

Houdini_Fracture_001

まず、破壊したいオブジェクトを細かい破片に分割します。ここではboxを破片に分割しています。
(Houdiniに限らず)破片の分割には、ボロノイという分割方法を使うのが一般的かと思います。
ボロノイ分割の詳しい解説は別の機会に譲るとして、この手法をヒトコトで言うと、
「複数の点を基準にして領域を分けてゆく方法」です。
Houdiniでこのボロノイ分割をするには「Voronoi Fracture」というノードを使います。

いきなりですが、簡単にノードを組むとこうなります。

Houdini_Fracture_002

“voronoifracture”ノードの左端の入力には分割したいジオメトリを、
真ん中の入力にはボロノイ分割の基準となるpointを接続します。
(右端の入力は、内部のディテールを作成する際の深度サンプリングに使います。今回はやりません)

ちなみにShelfで一発で作れます。
Houdini_Fracture_020

ボロノイによる破片の作成で大事なのでpointの分布です。
上の例ではscatterノードによるpointの配置部分です。
pointの数と分布密度で破片の大きさが決まります。
pointがたくさん集まっている部分は細かな破片が、まばらな部分は大きな破片が、といった具合です。
例えば、ジオメトリの中心にpointを沢山配置すると中心ほど破片が細かく、外に行くほど破片が大きくなります。

Houdini_Fracture_003

ここでは分かりやすく、破片とpointを両方表示しています。

中心のpoint群を動かしてみました。特に意味はありませんが、なんかおもしろい。

Houdini_Fracture_003-anim

他にも、”point form volume”ノード等を使って、均等にpointを配置するとサイコロのような四角い破片ができます。

Houdini_Fracture_018

これで破片ができました。
次はこれを動かします。

 

2:破片のシミュレーション

破片が出来たら、それを使ってシミュレーションしてみます。
シェルフからネットワークを作るのが楽なので、今回はそれでやります。
破片のジオメトリを選択して、”Rigid Bodiesシェルフ”にある”RBD Fracture…”を選択します。

Houdini_Fracture_004

すると、「どんなタイプの破片オブジェクトにする?」とHoudiniが尋ねてきます。

Houdini_Fracture_005

ここでは、”RBD Packed Object”と答えておきます。
これについては、後で解説します。

Houdini_Fracture_006

すると、objの階層に”AutoDopNetwork”が1コ作られます。

Houdini_Fracture_007
これで、破片がシミュレーションされます。
地面も欲しいので、同じ”Rigid Bodiesシェルフ”にある”Ground Pla…”をクリックして、Ground Planeも作成します。

Houdini_Fracture_008
地面が出来たと思うので、再生してみましょう。

Houdini_Fracture_009-anim

これで、破片が地面に当たって崩れるシミュレーションができました。
ここでは見やすいように破片に色をつけてます。
最終的なネットワークはこんな感じ。

Houdini_Fracture_010

めでたしめでたし。

 

 

以下、シェルフの”RBD Fracture…”について。

Houdini_Fracture_004

これを使うと、ジオメトリのプリミティブごとにRBDオブジェクトを作成しシミュレーションするネットワークを組んでくれます。
噛み砕いて言うと、物体を破片ごとに剛体シミュレーションするネットワークを組んでくれるものです。
この”RBD Fracture…”には2種類、”RBD Packed Object”と”RBD Fractured Object”が存在します。
上の作例では、”RBD Packed Object”を選びましたね。
“RBD Packed Object”は、”RBD Fractured Object”の出来ることに制限を付けて、処理を高速にしたもの、とでもいいましょうか。
H13では流体などと相互作用が出来なかったため、そういう場面では”RBD Fractured Object”を使っていましたが、H14では相互作用出来るようになったっぽいので、ますます”RBD Packed Object”を使う頻度が増えました。

 

以上長くなりましたが、今回はここまで!
Houdiniのバージョンは14を使用しています。

次回は破壊つながりで、徐々に崩れるシミュレーションを紹介したいと思います。
間違い等ありましたらご指摘を!

 

サンプルファイル
voronoifracture_003

関連記事

  1. 2015.06.30

    Houdini: Snow R&D
  2. 2016.02.08

    Houdini:SubFrame

コメントをお待ちしております

このサイトについて

3DCG Tipsサイト。Houdiniの記事が多めです。

RSS

follow us in feedly

アンケート

ほしい?(複数可)

View Results

Loading ... Loading ...

言語切り替え

  • English (United States)
  • 日本語

Archives

  • 2017 (17)
  • 2016 (36)
  • 2015 (64)
  • 2014 (54)
  • 2013 (60)
  • 2012 (54)

スポンサードリンク