範囲拡張していくウェイトによる変形表現
https://www.youtube.com/watch?v=65bfeFVvHIA
Modoバージョン14.2では、ウェイトを操作するメッシュオペレーションがいくつか追加されていますが、それらを使うと変形具合の範囲を広げるような表現が可能になります。
こちらのサンプルシーンには、モーフマップがひとつ設定されたメッシュが用意されています。このメッシュのつるの先端部分からモーフの変形が行われるよう、ウェイトのメッシュオペレーションを使って設定していきます。
メッシュオペレーションのタブを開き、プロシージャルモデリングを行えるようにします。まずはウェイトを設定していきます。モーフが適用され始める弦の先端部分のポリゴンを選択します。この部分に対してまずウェイトを設定したいので、オペレータ追加 > 頂点マップ > Set Weightオペレーションをダブルクリックして追加します。
プロパティからマップ名称をGrowと設定しておきます。この段階では表示を頂点マップにしても、ウェイトマップが実際に選択されていないので、頂点マップの設定具合を確認することができません。この場合にはマップを選択ボタンをクリックすることで、作成したウェイトマップが表示されるようになります。ちょうどポリゴンを選択していた先端部分にのみ値が設定されています。
このウェイトが選択を拡張するように、範囲を拡張させていくようにします。ウェイトの範囲を拡張するには、オペレータ追加 > 頂点マップ > Grow Weightを追加します。マップ名称にはGrowと指定しておきます。またグラディエントの値は最初は100%に設定しておきましょう。
ここでプロパティのステップの値を大きくしていくと、先端部分にだけ設定されていたウェイトが、どんどんその連結部分から拡張していくのが確認できます。この拡張具合の値の変化をより緩やかなものへと変更したい場合にはグラディエントで設定していきます。
グラディエントで100%の個所を0に設定してみると、ウェイトの拡張がより緩やかに変化していくのが確認できます。このステップの値に対してキーフレームを設定していけば、先端からウェイトが全体に広がるといったアニメーションが設定できそうです。0フレームでは0、120フレームでウェイトが全体に設定される値を設定しておきます。これでウェイトが拡張していくアニメーションができました。
ではこのウェイトでモーフを調整していきます。頂点マップタブからモーフマップを選択し、右クリックでモーフインフルエンスを追加します。デフォルトではメッシュ全体に対してモーフが適用されています。これをウェイトによってモーフを調整できるよう、メッシュオペレーションリストのMorphを展開し、フォールオフ > (フォールオフを追加)からWeight Map Falloffを追加し、先ほど作成しておいたウェイトマップをドロップダウンから指定します。そうするとウェイトマップが拡張していくアニメーションに従って、モーフの変形が行われているのが確認できます。
このウェイトマップによる調整は、変形アニメーションだけにとどまりません。シェーダツリーへと移り、レイヤー追加 > 処理 > Constantを追加します。このテクスチャは単色を設定するだけのテクスチャですが、色の変化を表現したい場合などに非常によく使うテクスチャです。もう一つ、このテクスチャを複製し、それぞれ緑と赤色に設定しておきましょう。ここでもう一つ、レイヤー追加 > 処理 > Vertex Map Textureを追加します。これは頂点マップによるテクスチャを表現しますが、このVertex Map Textureで頂点マップに作成しておいたウェイトマップを指定したら、上側にあるConstantテクスチャへとドラッグアンドドロップします。これでVertex Map Textureのエフェクトはレイヤーマスクとなり、このウェイトマップにより上下二つのConstantをウェイトマップによって切り替えることができるようになります。
Grow Weightメッシュオペレーションは、連結しているポリゴンやポイント部分に対してマップの値を拡張していきますので、少しずつ変形やマテリアルの変化が伝わり、やがて全体をすっかり変化させてしまうといったアニメーションを簡単に表現できるようになります。