ここではSOP内で完結するワークフローでVellumによる旗を作成していきたいと思います。
この記事の一番下にあるリンクから002sopworkflow.hipをダウンロードして開きます。
シーンファイルはHoudini CoreまたはFXのバージョン19以上で開くことが可能です。
目次
ジオメトリにVellum Clothを設定
Vellum Configure Clothを作成します。
作成したVellum Clothをflagと接続します。
これでコンストレインなどを作成することができました。
これは布として動作するためのコンストレインを追加しただけなのでまだシミュレーションは行われません。
シミュレーションを行うために、Vellum Solverを追加し、接続します。
再生すると旗が落下します。
ここでシェルフからグランドプレーンを追加してしまうと、DOPが作成されてしまいます。今回はすべてSOPで行いたいと思います。
Vellum Solverのパラメータ
Vellum Solverには組み込みのグランドプレーンが用意されているのでこれを有効にします。
再生すると落下した旗が地面に衝突します。
旗が下に落ちていくのは最初から重力が設定されているからです。
更に風の影響を当たることもできます。
WindのXに-10を設定し再思します。
斜めに落下するようになりました。
地面に落下した後でも風の影響で旗が移動します。
次にポールをコリジョンジオメトリとして追加したいと思います。
Vellum Constraintsの一番右にはジオメトリコリジョンを入力することができます。
ただ、これはコリジョンを設定しただけです。フラッグはスタティックオブジェクトなので、ソルバでのシミュレーションは行われません。旗や地面とのコリジョンを行うのみです。
そこで次に旗を固定したいと思います。
ここでは2つの方法を検証してみましょう。
ポールが移動しない場合です。地面にがっちり設置されていると思ってください。
この場合、旗のポイントを固定するだけで安定した状態を得ることが可能です。
Vellum Clothをスタティックオブジェクトに固定
Vellum Clothを固定するにはPin to Animatinを使用します。
Pin Pointsの選択アイコンをクリックすると、ポイントを選択することができるようになります。
ビューポートで固定したいポイント(画像では上下4つずつ)を選択します。
Enterキーを押すと、選択したポイントの番号がPin Pointsに入力されます。
シミュレーションを再生すると選択したポイントが固定されたことがわかります。
このポイントはポールに固定されているわけではなく、空間のある地点に固定されています。
このように旗の固定した場所が移動しないということであればこの方法でも問題がないと思います。
正し、ポールが移動する場合この方法では問題があります。
ここではポールにTransformを追加して動きを付けてみましょう。
TransformノードのTranslate Xに下記のように入力します。
リアルタイム再生を有効にして再生してみましょう。
ポールが左右に移動し始めます。
そこで、Vellum SolverにDisplayフラグを設定し再生してみます。
旗はポールに全くついてきていません。現在、旗のポイントは座標で固定されており、ポールに固定されているわけではありません。
移動しているジオメトリにVellum Clothを固定
まずは旗を空間に固定している設定を解除します。
Pin Pointsから入力されたポイント番号を削除するだけです。
ジオメトリをVellum にアタッチするための便利なノードが用意されています。
このノードは3つの入力と3つの出力を持っています。他のVellumノードと同じですね。
左がジオメトリ、中央がコンストレイン、右がコリジョンになります。
Vellum Attach to GeometryをVellum ClothとVellum Solverの間にドラッグすると3つの入力、出力が接続されます。
再生すると旗がポールと一緒に移動するようになりました。
Mergeを作成し、ポールと旗を接続します。
ここで、Vellum Solverの風の影響を排除し、再生してみます。
布の形状が少し固定され、重力で旗がぶら下がるようにはなりません。
Vellum Attach to Geometryで旗のポイントの必要のない部分まで固定されていることが原因です。
Vellum Attach to Geometryを選択してビューポートを確認すると、旗の各ポイントにコンストレインが設定されていることがわかります。
最初のポールとのオフセット位置をすべてのポイントが保持するようになっています。
そこで、ポールにくっつけたいポイントを指定する必要があります。
Vellum Attach to Geometryのここでポイントを指定することが可能です。
Group Typeをポイントに変更し、Group選択ボタンをクリックします。
上4つと下4つのポイントを選択し、Enterキーを押します。
再生すると選択したポイントがポールと固定され、そのほかのポイントは重力の影響をうけるようになります。
今回調整したい設定は1つだけで、Vellum Attach to GeometryのStretchにあるRest Length Scaleです。
これは静止した距離、または初期オフセット距離のスケール値です。デフォルトの1台と現在の位置を維持するようになります。
値を0に設定し
再生すると、距離は保たれずポールにくっつきます。
しかし、Vellum Attach to Geometryに含まれていないポイントはオフセットされています。
特定の部分だけをポールに接地させているようにみえるのでこれはこれでいいかもしれませね。
今回はSOPのみで設定するVellumをご紹介となります。DOPとのやり取りがなくシンプルに設定できますのでお試し頂ければ幸いです。