記事の目次

    今回は、Wire Solverを使用して粘性をもって伸びる糸を作成します。


    TEXT_森田悠揮 / Yuuki Morita(OnenessArt
    EDIT_小村仁美 / Hitomi Komura(CGWORLD)




    Wire Solverで粘着質な糸のたるみを表現

    今回は、筆者自身使用頻度のあまり多くないWire Solverを初めて使ってみました。Wire Solverは始点や終点をわざわざ指定することなく、エッジからワイヤーのたるみなどを手軽にシミュレーションすることができます。また、Wrangleなどは極力使用せずデフォルトのノードのみで作成しているので初心者の方もマネしやすい作例になっているかと思います。

    【1】顔モデルを読み込む
    ZBrushから顔を読み込みます。



    【2】Densityアトリビュートをペイントする
    Paint Attribute SOPでDensityアトリビュートをペイントしていきます。糸がくっつく場所となります。



    【3】Scatterノードでポイント散布
    ScatterノードでDensityAttributeを指定し、ポイントを散布します。このポイント数がメインの糸の数となります。



    【4】頂点に色付け
    ColorノードでRandomモードにし、頂点に色を付けます。



    【5】Gridへポイントを散布し、色を付ける
    同じように別ノードツリーでGridへポイントを散布し、同じく色をランダムで付けます。こちらのポイント数は顔モデルに散布したポイント数と同じにする必要があります。



    【6】顔とGridのポイントをマージする
    顔とグリッドに散布したポイントをMergeノードでまとめます。



    【7】同じ色の頂点同士をエッジで接続
    AddノードでPolygonsのBy GroupからBy Attributeを選択し、Attribute NameをCdにします。こうすることで同じ色の頂点同士がエッジで接続されます。右画像のようになっていれば成功です。



    【8】派生の糸を作成
    次に、メインの糸から派生してできている糸を同じ手順で作成します。準備としてまずはAttribute Deleteで既存のCdを削除します。



    【9】ソースとターゲットの頂点散布と着色
    ScatterとColorノードで同じようにソースとターゲットの頂点の散布と色付けを行います。



    【10】頂点数の設定
    ターゲットの頂点数は、先ほどと同じようにソースの頂点数と同じにしておきます。



    【11】Addノードでエッジを追加
    Addノードでエッジを追加するとこのようにセカンダリの糸ができていると思います。



    【12】ワイヤーをマージする
    メインのワイヤーとセカンダリワイヤーをMergeノードでまとめるとこのようになっています。



    【13】Resampleノードで頂点数を増やす
    後にDOPでシミュレーションをかける際十分な挙動が得られるようResampleノードで頂点数を増やします。



    【14】Fuseで隣接頂点を結合し、Nullを作成
    Fuseで隣接頂点を結合し、Nullを作成します。OUT_WIREという名前をつけ、これをシミュレーション対象とします。



    【15】DOP Networkを作成
    DOP Networkを作成し、中へ入ります。



    【16】接続
    画像のようにWireObject、Wire Solver、Gravityを接続します。



    【17】CollisionsとFracturingの設定
    WireObjectノードのCollisionsでCollide Selfを、FracturingでEnable FracturingをONにします。Widthなども調節しておくといいでしょう。



    【18】シミュレーション確認
    時間を進めてみるとこのような感じで糸が重力によってたわんでいくようなシミュレーションができます。



    【19】ポリゴン化のセッティング
    Resample後、WrangleでWidthアトリビュートを作成し、Attribute BlurをしたあとPolyWireノードでポリゴン化します。



    【20】ワイヤーの太さを調節
    PolyWireのWireRadiusへ@widthと入力し、ワイヤーの太さを調節しましょう。このようなルックとなりました。



    【21】VDB化してポリゴン化

    最後にVDB化→VDB Smooth→ポリゴン化して終了です。



    【完成】



    Profile.

    • 森田悠揮 / Yuuki Morita
      フリーランスキャラクターデザイナー/デジタルアーティスト/造形作家

      国内外問わずアート、映画、ゲーム、広告、デジタル原型など様々なジャンルで活動しているフリーランスのアーティスト。ZBrushでの生物や怪獣などのクリーチャーデザインを得意とする傍ら、Houdiniを用いた動画、アート制作なども行う。
      初の著書 『the Art of Mystical Beasts』ボーンデジタルから発売中。

      website: itisoneness.com
      Instagram: yuukimorita
      Twitter: @YuukiM0rita