カーブに沿ってメッシュを複製し変形させるには
https://www.youtube.com/watch?v=PR3wYOo2s8w
今回は、カーブに沿ってメッシュを複製し、なおかつカーブに沿った変形を行う方法をご紹介します。
カーブに沿ってメッシュを複製する方法に関しては、ビデオ「カーブを使ったメッシュの作成・配置・アニメーション」で、またカーブに沿った変形については「パスにそって伸びるアニメーション」などでもご紹介していますが、今回はサンプルシーンが示すような、この二つをプロシージャルモデリングを用いて組み合わせる方法を解説していきます。
ではまず最初に、添わせるカーブを作ってみます。添わせるカーブを作ったら、今度は直線状のカーブを作ります。これはメッシュが変形する前のメッシュが整列している状態を作るためのカーブです。今度はカーブに沿うメッシュを作ります。新たな空のメッシュレイヤーで今回はカプセルをプロシージャルモデリングで作ります。プロシージャルモデリングにこだわる必要はありませんが、プリミティブの形状の場合、後から形状のサイズであったり、セグメント数を簡単に調整できますので、今回はプロシージャルモデリングでカプセルを作っておきます。
このカプセル状のメッシュを、直線のライン上で複製します。複製するために、複製元となるポイントソースが必要ですので、今回はアイテム追加 > パーティクル > Curve Particle Generatorを追加します。Curve Particle Generatorのソースカーブに直線状のカーブを設定すると、この直線の上に、指定したポイント数分のポイントが作成されるようになります。それでは、カプセルをこの作成されたポイントに沿って複製するため、リプリケータを追加します。アイテム追加 > パーティクル > リプリケータを追加し、原形となるアイテムにカプセルのメッシュ、ポイントソースに先ほど作成したCurve Particle Generatorを追加します。
カプセルの大きさを調整し、直線の方向に向かうよう、Curve Particle GeneratorのCPGコントロールタブにある前方軸の値を調整します。この状態で、直線のカーブに対してカプセルが複製されるようになりましたので、これを最初に作った曲線のカーブ形状へと変えていきます。基本的な考え方としてメッシュをカーブに沿わせて変形するには、セットアップパレットのデフォーマのタブにあるスプラインというでフォーマを使用するのですが、リプリケータで複製した状態のままでカーブへと変形することはできません。リプリケータで複製されたいる状態を一つのメッシュとしてとらえる必要がありますので、それをプロシージャルモデリングで実現します。
空のメッシュレイヤーを一つ作り、オペレータ追加 > 編集 > Merge Meshesというメッシュオペレーションを追加します。このメッシュオペレーションは、他のプロシージャルモデリングメッシュ、リプリケータやMeshFusionのFusionアイテム、パーティクルといった通常のメッシュ以外のタイプを一つのメッシュとして扱えるようにするためのオペレーションです。Merge Meshesの読み込む元となるメッシュとして、ソースを追加からリプリケータを指定します。これでリプリケータが一つのメッシュとして扱われるようになりました。
ではこのメッシュをカーブの形状に沿わせていきます。リプリケータを読み込んだメッシュを選択した状態で、デフォーマタブのスプラインを適用します。リプリケータで複製しているのはX軸に5メートル伸びる直線ですから、軸をX、長さを5メートル、数を適用に10ぐらいに設定してみます。スプラインエフェクタのタブからターゲットカーブとして、このメッシュを添わせたいカーブを指定すると、メッシュがカーブに沿って配置され、なおかつ変形しているのがわかります。
Curve Particle Generatorのポイント数を調整すれば、後からでも複製数を変えることができますし、この状態でも添わせるカーブの形状を編集したり、おおもとのカプセルの形状を変えることも可能です。またCurve Particle Generatorで作成するポイントソースはその位置をアニメーションさせることもできますので、CPG分布のタブから後の動作をラップ、つまり繰り返す動作に設定し、オフセットパーセンテージの値をアニメーションさせると、延々とカーブに沿ってメッシュが複製され、変形して移動していくアニメーションというのを簡単に作れるようになります。