このチュートリアルは、「【初心者向けHoudiniトライアル001】複数の単純なオブジェクトの周囲にロープを張る」の続きです。
使用するデータのダウンロード
Apprenticeの方はこちらからシーンファイルをダウンロード
商用版(HoudiniFX/Core)の方はこちらからシーンファイルをダウンロード
湾曲した形状のジオメトリに対応したロープの作成
ダウンロードしたシーンを開きます。
このシーンで、ネットワークの出力フラグはTubeが2つ接続されたmergeノードに設定されています。
- sticksの出力をShrinkwrapノードに接続します。
- SticksをTemplateに設定します。
- ネットワークの一番下にあるSubstance Materialにフラグを合わせます。
この状態でビューポートを確認します。
ロープが枝から外れてしまっていることがわかります。 - Shrinkwrapノードにネットワークの出力フラグを設定する。
Shrinkwrapノードは入力ポイントから凸状の形状を計算します。そのため、入力した形状の場合、実際のジオメトリの位置から大分異なった形になることがわかります。
ロープはこの形状に合わせて張られています。
このずれを修正する必要があります。Shrinkwrapノードの後に形を修正するノードを追加します。 - 新しくできた凸型オブジェクトを入力ジオメトリに添わせるにはポイントが足りません。
Shrinkwrapノードの後ろにRemeshノードを追加します。
Remeshを行うと、ジオメトリに全体が均一に分割されます。 - RemeshノードのTarget Sizeを0.1にすると、分割する三角形のエッジの長さが短くなり、さらにポリゴンが細かくなります。
十分なポリゴン数になりましたら、元の形状に投影します。 - Rayノードを追加します。
Rayノードにはまだ入力も出力も接続していません。
Rayは2つの入力に赤い矢印が付いており、どちらも必ず入力する必要があることがわかります。
入力にマウスのカーソルを合わせると、その入力に何を接続するのか教えてくれます。
例えば、左側にマウスのカーソルを合わせると、Ray Point or Primitivesと表示され、実際に投影し、ポイントを移動したいジオメトリ情報を入力します。
右側にマウスのカーソルをあわせると、Collision Primitvesとなっているので衝突先のジオメトリを入力する必要があることがわかります。 - Remeshノードを左側に、Sticksを右側に入力します。
rayに出力フラグを合わせます。 - RayのMethodをMinimum Distanceに設定します。
ビューポートを確認するとジオメトリが枝の形状にそって変形していることがわかります。 - Rayの後ろにFuseノードを追加します。
Rayで同じ場所にポイントが重なってしまっているため、Fuseでポイントを整理します。 - intersectionanalysisにネットワークの出力フラグを設定し、Gridを選択します。
ハンドルツールを選択し、グリッドを移動、回転してみてください。
ロープが作成されるカーブが木の枝にそって配置されることがわかります。 - Substance Materialにネットワークの出力フラグを設定します。
正しくロープが張られていることがわかります。
SweepのRadiusでロープの太さを調整したり、Sweepの1つ前のresampleでロープの滑らかさを変えてみてください。 - Remeshでの分割が足りないと、ロープが木の枝に埋まってしまいます。
RemeshのTarget Sizeをより小さくして、より細かく分割します。
これで中に埋もれていた状態を修正することができました。
これで曲がった形状にも対応したロープツールを作成することができました。
次回はこれをHoudini Digital Assetに設定し、いつでもHoudiniで使えるようにしましょう!