Created on | Updated on

【初心者向けHoudiniトライアル001】複数の単純なオブジェクトの周囲にロープを張る

上記動画のチュートリアルを元に記事を作成しています。
とてもシンプルなツールなので、Houdiniを始めたばかりの方にも作りやすいと思います。

使用するHoudini

シーンはHoudini 18.0.416で作成しましたが、Houdini18であれば同じように作成することが可能です。

下準備

全くHoudiniを触ったことがない方はまずは用語を知るために、下記のチュートリアルを進めてみましょう。

ノード, ネットワーク & デジタルアセット

上記に記載されたリンクより日本語チュートリアルテキストをダウンロード可能です。

SideFX Labsをインストール

SideFXが提供している無料ツールSideFX Labsをインストールします。
SideFXLabsツールはApprenticeでもインストールすることが可能です。

SideFXLabsのインストールに関して

使用するデータのダウンロード

Apprenticeの方はこちらからシーンファイルをダウンロード

商用版(HoudiniFX/Core)の方はこちらからシーンファイルをダウンロード

使用したSubstanceをダウンロード

※このSubstaceファイルは512pxで固定されています。またオプションはなく、MetalRoughnessの出力しか持っていません。

ロープの作成

この記事ではシンプルな3つの円柱に絡みつくロープツールをHDAとして作成してみましょう。

mceclip2.png

 

  1. ダウンロードしたシーンファイルを開きます。
    円柱が3つ並んだシーンが開きます。
    mceclip0.png

    この円柱の周りにロープを張りたいと思います。

  2. Tabキーを押して、表示されたTab MenuにShrと入力すると、下記のように入力した文字列を含むノードが表示されます。
    mceclip1.png

  3. 一番上に出ているShrinkwrapノードをクリックし作成します。
    mceclip2.png

  4. Copytopointsノードの下にある〇をクリックし、次にShrinkwrapの上にある〇をクリックすることでノード同士をつなぎ、ネットワークを作ります。

    基本的にノードは上が入力、下が出力になります。
    mceclip3.png

  5. Shrinkwrapノードの右端をクリックします。
    mceclip4.png

  6. ネットワークを出力ノードがShrinkwrapノードに設定され、ビューポートにここまでの結果を表示することができました。
    mceclip5.png
    mceclip6.png

    Shrinkwrapノードを接続するとその形状全体を囲むように凸状ジオメトリが作成されます。

  7. 次にロープを張る位置をグリッドで決定します。
    TabキーからGridを作成します。
    mceclip7.png
    mceclip8.png

  8. 作成したGridを選択していると、ビューポートの上部にGridのオプションが表示されます。
    Sizeを3、RowsとColumnを2に設定し、グリッドの大きさ、分割数を変更します。
    mceclip10.png

  9. ビューポートの左側にあるツールから、Show Handleツールを選択すると現在選択しているノードのためのハンドルが表示されます。
    mceclip11.png
    mceclip12.png

  10. 青色の矢印を使用し、Gridを上に移動します。
    緑色の円型のハンドルをドラッグして、回転することも可能です。
    mceclip13.png

    このGridの位置にロープを張ることになります。

  11. Tabキーから、Interと入力します。
    一番上に表示されたIntersection Analysisを選択します。
    mceclip14.png

    このノードには2つの入力があります。
    mceclip15.png

    入力の上にカーソルをおくと、その入力に何を接続すればいいのか教えてくれます。
    左側は、赤い下三角アイコンがあり、Requiredと出ているため、必ず計算に必要な入力ということになります。

    このノードは、2つの入力の交差した箇所にポイントを配置してくれます。
    mceclip16.png

  12. GridとShrinkwrapを数と同じように接続します。
    intersection analysisノードにネットワークの出力を設定します。
    mceclip17.png

    ビューポートで結果を確認すると、GridとShrinkwrapの交差部分にポイントができていることがわかります。
    mceclip18.png

  13. Intersection Analysisのオプションにて、Output Intersection Segmentsを有効にします。
    mceclip19.png

    ポイント同士をつなぐエッジが生成されます。
    mceclip20.png

    ここで作成されたカーブが実際に最初の3本の円柱にあっているかを確認したいと思います。

  14. シーンを開いた時からあったcopytopointノードの右から2つのボタンをクリックします。

    この設定は、そのノードをTemplateとして表示することができるフラグです。

    mceclip21.png

    ビューポートを確認すると、3本の円柱の外側を通るようにカーブが作成されていることがわかります。
    mceclip22.png

  15. 作成されたカーブのポイントを表示したいと思います。
    ビューポート左側には表示関係の機能がまとめられています。

    下記のアイコンをクリックして、ポイント表示をオンにします。
    mceclip23.png

  16. ここでポイントが重なっていたり、非常に近い位置にポイントがあった場合の事を考え、その部分を1つのポイントに統合する処理を追加します。

    ここでのノードの作成と接続を同時に行ってみます。

    Intersection Analysisノードの出力をクリックし、引っ張るとノード同士をつなげるためのワイヤーが表示されます。

    mceclip24.png

    ワイヤーが表示されている状態で、Tabキーを押し、Fuseと入力してノードを作成します。

    mceclip25.png

    作成されたFuseにネットワークの出力フラグを設定します。

    mceclip26.png

  17. Fuseノードは設定した閾値内のポイントを1つに結合することが可能です。

    ビューポートでポイント番号の表示をクリックして有効にします。
    mceclip27.png

    FuseノードのオプションにてSnap Distanceを調整することで、この距離より近いポイントが1つに結合されます。

    数値の上でマウスの中ボタンを押し続けると、下図のようなメモリが表示されます。
    ここで表示されたメモリごとに値を変更することができるたえ、例えば、.01にマウスのカーソルを合わせドラッグしてみてください。

    mceclip33.png

    下記のように値を大きくすると、近いポイント同士が結合し、ポイントが少なくなっていることがわかります。
    mceclip32.pngmceclip31.png


  18. 現在このカーブはポイント毎に分離されていて、異なるカーブが複数存在する状態です。

    そのことを確認するためにカーブの番号を確認してみます。
    下記の画像のアイコンをクリックします。

    mceclip38.png

    するとポイント間のカーブにそれぞれ異なる番号が表示されます。これはポイントでカーブが切断され、それぞれ別のカーブであることを意味しています。
  19. 複数のカーブからできているカーブを1つのカーブに結合します。

    Fuseノードの出力をクリックして、引っ張りTabキーを押します。
    Tabメニューから、PolyPathノードを作成します。
    mceclip39.png

    mceclip40.png

    カーブの番号を確認すると0番のみになっており、全てのカーブに1つに結合されたことがわかります。

    mceclip41.png

  20. 作成したカーブではポイント間の距離が一定ではありません。そこでポイントを等間隔に配置します。

    Resampleの出力をクリックして引っ張り、Tabキーからresampleを作成します。
    mceclip42.png

    ビューポートを見るとポイントが等間隔に配置されていることがわかります。
    mceclip35.png

    ポイント間の距離は、ResampleノードのLengthオプションで設定することができます。

    mceclip36.png

    再度中ボタンでメモリを表示し、.01ずつ増やし、必要な滑らかさになるようにLengthを小さくします。
    ここでは0.06に設定しました。
    mceclip43.png

    mceclip44.png

  21. それではこのカーブを使用してロープジオメトリを作成します。

    Resampleノードの出力をクリックして引っ張り、Tabキーを押します。
    TabメニューからSweepノードを作成してください。
    作成したSweepノードにネットワークの出力フラグを合わせます。

    mceclip45.png

  22. Sweepノードを作成するとノードの左側に大きな赤い三角のアイコンが表示され、!マークが書かれています。このアイコンが表示された時、このノードは計算できていないことを意味します。

    ノード情報を確認するには、そのノードを中ボタンでクリックすると、クリックしている間はノードの情報が表示されます。

    ここでは、Error No cross section geometry provided.と表示され、ジオメトリを作成するために入力が足りないことがわかります。

    mceclip46.png

  23. Sweepノードのオプションを確認すると、Surface ShapeがSecond Input Cross Sectionsとなっていることがわかります。

    これはジオメトリの断面を2つ目の入力で決定するということなり、2つ目の入力がないためエラーになっています。

    mceclip48.png

    そこで、Surface ShapeをRound Tubeに設定します。これはHoudini18から追加されており、2番の入力がなくてもジオメトリを作成することができるようになりました

    mceclip49.png

    ビューポートをみると、カーブにそってジオメトリを作成することができました。

    mceclip50.png

    Radiusを調整し、ジオメトリの断面の半径を決定します。
    mceclip51.png

    mceclip52.png

  24. 作成されたジオメトリを異なる角度から見てみるとジオメトリの最初と最後がつながっていないことがわかります。

    mceclip53.png

    以前に作成したPolyPathノードを選択します。

    mceclip54.png

    Make Isolated Loops Closedを有効にします。
    これでカーブを閉じることが可能です。

    mceclip55.png

    ビューポートを確認すると、ジオメトリも閉じたことがわかります。

    mceclip56.png

  25. 次にこのジオメトリにUVを作成します。
    まずは、UVをみてみましょう。

    ビューポート上にカーソルを置き、Ctrl と2のキーを同時に押すと、下記のようにビューポートを2分割にすることが可能です。

    mceclip57.png

    この状態で、Perspビュー以外のビューにカーソルを置き、Spaceと5のキーを同時におします。
    すると片方のビューをUV Viewに変更することができます。

    mceclip58.png

    ただし、まだUVが作成されていないため、UV ViewにはUVがありません。

  26. カーブからジオメトリを作成しているSweepを選択します。

    オプションにて、UVs and Attributesタブを選択し、Compute UVsを有効にしてください。
    mceclip59.png

    UV Viewを確認すると、UVが作成されたことがわかります。
    mceclip60.png

  27. PerspビューでもUVが現在どのような状態なのか確認したいと思います。

    Sweepの出力をクリックして引っ張り、Tabキーを押します。
    TabメニューにUVと入力すると、UV関連ノードがフィルタされますので、UV Quick Shadeを作成します。

    mceclip61.png

    ビューポートを確認すると、UVを確認するためのチェッカーをジオメトリで表示することができます。

    チェックがジオメトリに対し、適切に表示されていることがわかります。

    mceclip62.png

    これでUVが作成されたことがわかりますので、Perspビューにマウスのカーソルを置き、Ctrl と1を同時におします。

    これで2分割されたビューを再度単一のビューで表示することが可能です。
    mceclip63.png

    それではジオメトリにダウンロードしたSubstanceマテリアルを割り当ててみます。

  28. Sweepの出力をクリックして引っ張り、Tabキーを押します。
    TabメニューにSubstanceと入力し、Labs Substance Materialを作成します。
    mceclip64.png

    Labs Substance Materialを作成するには、下準備でSideFXLabをインストールしておく必要がありますのでご注意ください。

  29. 作成したSubstance Materialノードにネットワークの出力フラグを設定します。
    mceclip65.png

  30. Substance Materialノードのオプションからファイルボタンをクリックします。
    mceclip66.png

    ウィンドウが開いたら、ダウンロードしたrope.sbsarを選択します。
    mceclip67.png

    Acceptをクリックすると、Substanceファイルがロードされます。
    mceclip68.png

    ビューポートを確認すると、ジオメトリにSubstaceから生成されたマテリアルが割り当てられたことがわかります。

    ※このSubstaceは解像度は512で固定されています。解像度を変えないでください。

    mceclip69.png

  31. ロープを配置する場所はGridで決めています。
    ロープの位置と角度を変えてみましょう。

    Gridノードを選択します。
    mceclip71.png

    ハンドルツールを使用して、移動や回転を行ってください。
    常に3本の円柱に沿った状態でロープが作成されることがわかります。
    mceclip72.png

ここまでで複数のジオメトリを囲むようにロープを張ることができるようになりました。
次回の記事では複雑な形に対応して、ロープが張れるように設定していきましょう!

 

 

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

サポート問い合わせ