カーブに沿って動的にメッシュを配置したり押し出すには


https://www.youtube.com/watch?v=u5GiWx5rKa0

MODO 10.1ではリプリケータなどのポイントソースとなる点群(ポイントクラウド)を、カーブ上でリアルタイムに調整できるようになり、カーブに沿って動的にメッシュを配置したり、またメッシュのジオメトリを押し出すアニメーションを作成することができるようになりました。

サンプルとなるシーンにはカーブが用意されており、カーブの各コントロールポイントに対してピンク色のトランスフォームのデフォーマが仕込まれています。これによりピン色のマークを動かすことで、カーブのジオメトリを自由に制御することができるようになっています。

まずはこのカーブに沿ってプロシージャルモデリングでメッシュを押し出してみましょう。道路の断面図となるメッシュRoadが用意されていますので、Roadを選択し、メッシュオペレーションのタブからアイテム追加複製Curve Extrudeを追加します。これがカーブに沿って道路の断面図が押し出されるようになりました。

Curve Extrudeを展開してみると、Tool Pipeの中にPath GeneratorPath Segment Generatorの二つのサブツールが含まれています。Path Generatorはカーブメッシュをパスとして認識させるオペレーション、Path Segment Generatorはパスを押し出す際に生成されるセグメントをコントロールするためのオペレーションとなります。これらが一組になっているのがCurve Extrudeです。道路をより滑らかにしたい場合には、Edge Bevelを重ねてかけると良いでしょう。

ではこの道路の上に自動車を走らせてみます。自動車の位置を調整し、自動車とカーブとなるメッシュを複数選択したら、モディファイヤタブにあるパスをクリックします。これで車に対してカーブに沿って移動するというパスコンストレイントの機能が適用されました。パスコンストレイントのプロパティであるパスパーセンテージの値を調整すると、車はパス上を移動するようになりますので、0フレームでパスの始点付近、120フレームでパスの終点付近へと移動させるアニメーションを設定します。

次にこの車の動きに合わせて、道路自体が押し出されて作り出されるという動きを作ってみます。道路に設定されているPath Generatorの設定を見て見ると、パスの終わりを指定する終点のプロパティがありますので、車の動きに合わせって終点の値をアニメーションさせます。そうすると車が伸びていく道路の上を走っていくという形になります。

もちろん、こういったアニメーションが設定されている場合であっても、ピンク色のトランスフォームのエフェクタを動かすことで、大元のパスの軌跡であるカーブ自体を編集することが可能ですし、このエフェクタは単なるシーン内のアイテムですので、このエフェクタが動くアニメーションを作ることも可能です。

ではさらに、車の動きに従って街灯を立てていくアニメーションも設定します。街灯はリプリケータを使って作っていきますが、10.1では動的にメッシュの形状を変えるだけでなく、カーブを利用したポイントソースも変化させることができます。

アイテム追加からパーティクルポイントクラウド Curve Particle Generatorを追加します。これがリプリケータポイントソースとなります。ソースカーブにはCurveを選択しておきます。さらにアイテム追加からリプリケータも追加し、原型となるアイテムに街灯のメッシュを、ポイントソースにCurve Particle Generatorを設定します。向きはCurve Particle Generatorの上方ベクトルで調節します。

あとは、終了パーセンテージを先ほどと同様アニメーションさせることで、一つのカーブを元にメッシュの押し出し、メッシュの配置、メッシュのアニメーションを同時に行えるようになり、さらに元となるカーブ自身をいつでも修正可能な状態になります。