Created on | Updated on

【初心者向けHoudiniトライアル006】Houdiniでガラスっぽく分割してみよう

使用するHoudiniバージョン

Houdini 18.0.460

今回からのシリーズは、RBD Material Fracture SOPsを使用し、窓が割れるシミュレーションを作成してみます。今回はまず窓をガラスっぽく分割してみます。

窓を作成する

  • CreateシェルフでBoxをクリックします。
  • Enterキーをおして、シーンにBOXを追加します。

    mceclip0.png

    これでObjectレベルにBoxが追加されました。
    ここでは、シーンレベルのジオメトリオブジェクトが表示されます。

    そして、作成されたbox_object1にはGeometryというコンテナの種類が記載されています。

    このGeometryコンテナオブジェクトでは、オブジェクト内部の個々のサーフェスとは別に、移動、回転、スケール、オブジェクト全体をシェーディングすることができます。

    mceclip1.png
  • box_objectをダブルクリックして、Geometryコンテナの中に入ります。

    mceclip2.png

    ネットワークの名前がGeometryと変わりました。
    このオブジェクトレベルのGeometryオブジェクトには、ジオメトリ(SOP)ネットワークを格納します。そして、このネットワークは、オブジェクトのジオメトリを作成するジオメトリノードを保持します。
    このGeometryオブジェクト内に作成するノードをSOP(Surface OPerator )ノードといいます。

    それではbox1のオプションを変更し、ジオメトリを変更してみます。
  • boxのオプションでSizeを下記のように変更します。
    mceclip3.png

    形状をみると、縦に長く薄い窓の形状になりました。

    mceclip4.png

窓を割る

早速この窓を割ってみましょう!
とその前に、この窓が割れて破片になっても、これが窓の一部だったことを認識できるようにアトリビュートとして設定しておきます。

アトリビュート

アトリビュート とは、Vertes、Point、Primitive、オブジェクト上に記録される名前を付けた値のことです。例えば、ポイントカラー、位置、UV座標、法線をPointアトリビュートとして保存することができます。

それでは現在のアトリビュートを確認してみましょう。

  • ビューポートの左上にあるボタンをクリックし、ドロップダウンリストからSplit Pane Top/Borromを選択します。

    mceclip5.png
    ビューポートが上下に分割されます。

    mceclip6.png
  • 下ウィンドウタブを右クリックします。
    mceclip7.png

    画面にGeometry Spread sheetが表示されます。
    ここではジオメトリの各場所に保存されたアトリビュートが表示されています。

    mceclip0.png

    現在、P[x]、P[y]、P[z]というアトリビュートが表示されました。
    これがどの部分に保存されたアトリビュートなのかは、下記の部分でわかります。

    mceclip1.png

    左からPoint/Vertex/Primitive/Detailアトリビュートを意味します。
    ここでは、Pointがオンになっているため、表示されているP[x]等はPointに保存されたアトリビュートとなります。


    Pはポイントの位置を表しています。P[x]、P[y]、P[z]はそれぞれ、ポイントのX、Y、Zの座標値を意味します。

  • Primitiveアトリビュートを確認します。

    mceclip3.png

    ここでHoudiniのPrimitiveに関してちょっと紹介します。ちょっと他のソフトよりPrimitiveの意味が広いかもしれません。
    Houdiniの プリミティブ とはオブジェクトよりも下のレベルでポイントよりも上のレベルのジオメトリの構成単位のことです。一口にPrimitveといっても下記全てがHoudiniではPrimitiveです。

    • ポリゴンフェース
    • ボリューム
    • Bezier/NURBSサーフェス
    • ポリゴン/Bezier/NURBSカーブ
    • メタボール
    • パックプリミティブ
      保存したジオメトリを軽量で参照することができる特別なプリミティブ
    • その他

      他にも、ポリゴンサーフェスとは違って数学的に形状を表現した二次プリミティブタイプがいくつかあります。これらのタイプは、軽量なジオメトリとして役に立ちます。例えば、チューブ/円錐(単一ポイント、向き、複数半径、長さで定義されたもの)など。

      先ほど作成したBoxはPolygonで作成しました。つまり、ここでのPrimitivesは各ポリゴンフェースとなります。

      確認すると、Primitiveにはアトリビュートがまだありません。
      mceclip5.png
  • Primitivesにnameアトリビュートを作成します。
    Nameノードを作成します。

    mceclip4.png

    mceclip6.png

    Geometry Spreadsheetを確認すると、nameアトリビュートが追加されましたがまた値がありません。

    mceclip7.png
  • NameノードのプロパティでNameにglassと入力します。
    Classはこのアトリビュートを追加する場所です。ここではPrimitivesに設定します。
    mceclip0.png

    Geometry Spreadsheetを確認すると[glass]と各プリミティブに追加されていることがわかります。
    mceclip1.png
  • 次に、RBD Material Fractureを作成します。
    但し、TabメニューからRBD Material Fractureと入力すると3つノードがあることがわかります。

    mceclip4.png

    これは同じノードの異なるバージョンが表示されていることになります。

    一番上のRBD Material Fractureをクリックして作成してみます。
    このノードがどのバージョンなのかわからず、このチュートリアルと皆さんが作成したRBD Material Fractureのバージョンが違うかもしれません。
  • Asset>Asset Managerを開きます。

    mceclip5.png

    ConfigurationタブのAsset Barを「Display Menu of All Definitions」に設定します。
    mceclip6.png
  • RBD Material Fractureを選択するとAssetバージョンが表示されます。
    mceclip7.png

    上記のようにアセットバージョンが表示されます。
    ここでrbdmaterialfracture::3.0を選択してください。
  • RBD Material Fractureをnameノードに接続します。

    mceclip2.png

    ビューポートを確認すると、既にデフォルトの設定を使用しジオメトリが分割されています。
    mceclip3.png
  • RBD Material Fractureを適用する対象をGroupオプションで設定することが可能です。
    Groupの横のドロップダウンリストをクリックすると@glassと表示されますのでこれを選択します。

    mceclip8.png

    上記のように@name=glassと表示されます。
    @はアトリビュートを意味します。つまり、nameアトリビュートでglassという値を持つものが対象となります。
  • 次にMaterial TypeをGlassに設定します。
    mceclip9.png

    ここでは材質タイプを指定しています。Glassに設定するとビューポートでの結果が変わります。
    mceclip10.png

  • 分割結果を調整します。
    ガラスが壊れる起点となるインパクトポイントからどのように亀裂が入るかをCrackで調整することができます。

    Cracksタブを開きます。

    Radial Crack Number、Number Variance共にこの値を38に増やします。
    Radial Crack Numberはインパクトポイントから放射線状に広がる亀裂の数になります。


    mceclip0.png

    mceclip6.png

  • Minimum Widthは、同心円状の亀裂間の最小幅を指定します。数値は0.04に設定します。
    Impact Spreadは、同心円状の亀裂が原点(s)から広がる距離を指定します。数値は0.6としました。

    mceclip8.png
    mceclip10.png

  • 次にChippingを設定します。Chippingを有効にするとピースの角を切り落として切れ端を作成することができます。

    Enable Chippingを有効にします。
    mceclip11.png

    角が切り取られます。
    mceclip12.png

  • Chipping Ratioを1に設定します。
    Chipping Ratioはすべてのピースから切れ端を作成する全体比率。1にすると各ピースから切れ端が生成されます。
    mceclip13.png
  • Corner Ratioを1に設定し、Corner Depthを.1に設定します。
    Corner Ratioは切れ端を角にする割合です。今回は1に設定したので全ての切れ端は角に生成されます。
    Corner Depthは各ピースの角からの切れはしの大きさとなります。
    mceclip14.png

    これでガラスを分割することができました。結果をプレビューしてみます。

  • RBD Exploaded Viewを追加します。
    mceclip18.png
  • RBD Material Fractureに接続しDisplayフラグを設定します。
    mceclip19.png

    このノードは、中心から外側に向かってジオメトリを押し出して、展開ビューを作成します。ビューポートを確認すると各ピース間に距離が開けられ表示されました。

    mceclip20.png

    また、各ピースの角も切り取られ破片が作成されたこともわかります。


【初心者向けHoudiniトライアル007】Houdiniでガラスを粉々にしてみようへ続く

 

問題が解決しない場合は、Born Digital サポートまでお問い合わせ下さい。

サポート問い合わせ