カーブに沿ったオペレーションのアニメーション方法
https://www.youtube.com/watch?v=VZcwP_3RXI4
Modoバージョン13.2からはフォールオフの一種としてカーブのフォールオフが追加されました。これにより、カーブに沿ってプロシージャルモデリングの様々なオペレーションをアニメーションできるようになっています。
まずはサンプルとしてメッシュを一つ作成し、いたポリゴンを作成します。プロシージャルモデリングでCubeプリミティブを追加し、セグメントが多めに切っておきましょう。あとはもう一つ、カーブフォールオフを解説するためのカーブを、この板ポリゴン上に作っておきます。このカーブに沿って、板ポリゴン上のポリゴンが変化するさまを確認してみます。
それでは、まずはポリゴンをこのカーブに沿ってベベルさせてみます。板ポリゴンのメッシュを選択し、オペレータ追加 > ポリゴン > Polygon Bevelを追加し、グループ化のオプションをオフにし、ハンドルをドラッグしてポリゴンを立ち上げます。ここではまだ特定のポリゴンが選択されていないため、全てのポリゴンが選択されるようになります。これをカーブに沿ったポリゴンを選択させるため、メッシュオペレーションリストのPolygon Bevelを展開し、Selection > (Selectionを追加) からSelect By Falloffを追加します。これでフォールオフで指定した範囲のポリゴンが選択されるようになりますので、さらにSelect By Falloffを展開し、フォールオフ > (フォールオフを追加)でCurve Falloffを追加します。これが13.2で新たに追加されたCurve Falloffです。
このCurve Falloffで使用するカーブを指定するため、Curve Falloffを展開し、カーブ > (カーブを追加)から先程作成したCurveを追加します。すると、カーブフォールオフのプロパティには様々なグラディエントが用意されているのが確認できます。グラディエントを調整していくと、カーブに沿った部分のポリゴンだけにベベルがかかったり、またそのカーブの長さに沿って太さなども変えられることが確認できます。
さらに、このカーブ自体も、カーブが伸びるようなアニメーションを設定することができます。いったん板ポリゴンは非表示にしてカーブのメッシュをアクティブにします。オリジナルのカーブはポイント数も少ない状態ですが、このカーブを形状そのままで、カーブに存在するポイント数を多く作り変えることができます。この作り変えたポイントを徐々に増えたり減らしたりすることで、カーブが伸びたり縮んだりする表現が可能になります。
まずはカーブを形状を変えずに作り変えましょう。オペレータ追加 > カーブ > Curve Rebuildを追加します。ポイント数は100にしておきましょう。一見オリジナルのカーブと違いがわからないように見えますが、このカーブは100個の頂点数で構成されるようになりました。
今度はカーブの伸び縮を行うため、この頂点を削除してみます。オペレータ追加 > 編集 > Deleteを追加します。Deleteを追加した時点では範囲が選択されていないため、全ての頂点が削除されてしまい、カーブが全て削除された状態となります。では削除する頂点の範囲を指定しましょう。Deleteを展開し、Selection > (Selectionを追加)からSelect By Indexを追加します。これはインデックス番号で削除する頂点を指定する選択方法です。試しに選択の欄に10-100や50-100と指定してみましょう。そうすると指定した範囲の頂点が削除され、カーブの形状が変わるのがわかります。今回はこの選択範囲の開始番号をアニメーションさせれば、カーブの伸び縮を表現できそうです。
この選択範囲をスケマティックへと追加します。スケマティックにはこの整数範囲を指定するためのノードが用意されています。スケマティックビュー > 追加 > 整数範囲 > Int Range Clampを追加し、このノードの出力をSelect By Indexの選択へと接続します。Int Range Clampの整数範囲を0-100に設定し、最小値の値を変えてみると、カーブが伸びるような動きになるのがわかります。
ここで最小値に対してキーフレームを設定し、アニメーションを設定できればよいのですが、整数に対してキーフレームを設定すると、その中間の値を補間することがないため、キーとキーの間で値が移行することなく切り替わってしまいます。このため、浮動小数点数のユーザーチャンネルを一つ作り、そのチャンネルに対してアニメーションを設定し、その値を整数の最小値のチャンネルへと接続するようにします。浮動小数点数から整数への型変換は自動で行われます。これでカーブが伸びるアニメーションを作ることができました。
もう一度、板ポリゴンを表示してみましょう。アニメーションを再生してみると、カーブが伸びるのに沿ってベベルが行われるのが確認できます。このCurve Falloffは他のオペレーションに対しても同様に使用することができます。
例えば、ベベルはいったんオフにして、削除のオペレーションを追加してみましょう。選択タイプはPolygonへと変更し、Selection > (Selectionを追加)で既存のカテゴリからSelect By Falloffを追加します。こうすると、先程作っておいたCurve Falloffの設定をそのまま転用することができます。同じ用にカーブに沿ってポリゴンが削除されていきます。
同じ用にマテリアルを変えていくこともできます。ポリゴン > Material Tagを追加し、マテリアル名称を変更し、フォールオフをCurve Falloffに設定し、マテリアルを設定してみると、カーブに沿った箇所だけマテリアルが変更されるというアニメーションを作成することができます。
このように、バージョン13.2から追加されたCurve Falloffにより、さらにカーブと絡めた自由な表現が可能になります。