CurveSweepオペレーションによるカーブの押し出し
https://www.youtube.com/watch?v=w8WHKTy3nUk
Modoではプロシージャルモデリングが組み込まれてから、ダイレクトモデリングで実装されているツールに対応するように、プロシージャルモデリング版のツールも実装されてきました。カーブで押し出す(Curve Extrude)の機能もその一つであり、ダイレクトモデリング版・プロシージャルモデリング版がそれぞれ用意されていますが、Modoバージョン13.1ではさらにプロシージャルモデリング版特有のカーブで押し出すメッシュオペレーションCurve Sweepが追加されています。このCurve Sweepメッシュオペレーションは従来のカーブで押し出し(Curve Extrude)よりもさらに様々な設定が可能であり、柔軟性に富んでいます。
まずは押し出しもととなるカーブを含んだメッシュレイヤーPathと、断面図となるメッシュレイヤーCrossSectionとを用意します。さらに新たなメッシュレイヤーを一つ作成し、ここにCurve Sweepを追加します。Curve Sweepを追加するにはオペレーションリストのオペレータ追加 > カーブ > Curve Sweepをクリックします。
まずはカーブで押し出す際のパスを指定しましょう。これはプロパティのスイープパスカテゴリにあるパスのポップアップから指定します。もしくは、オペレーションリストのCurve Sweepを展開し、パスメッシュでメッシュを指定しても構いません。どちらも同じことです。
次に断面図を指定します。プロパティの押し出し形状カテゴリにある押し出し形状のプルダウンからリンク形状を選択し、形状メッシュのプルダウンからメッシュレイヤーCrossSectionを指定します。こちらもオペレーションリストのCurve Sweepを展開して、形状メッシュから指定することも可能です。押し出す元となる断面図を別のメッシュレイヤーに分けるのではなく、ベースメッシュ自体に断面図のジオメトリを入れている場合には、押し出し形状から現在のメッシュを選択してください。ポリゴンが反転している場合は反転オプションをオンにし、セグメントの数はステップカテゴリのプロパティで調整してください。
ここまでは従来どおりのカーブで押し出し(Curve Extrude)の機能と、さほど変わりはありません。しかしCurve Sweepではさらに押し出しをコントロールするための様々なプロパティが用意されています。まずは指定するカーブについてですが、このCurve Sweepでは複数のカーブを指定することが可能になっています。Curve Extrudeの場合はメッシュレイヤー内に入っているカーブをインデックスで指定することが可能でしたが、複数同時に指定することはできませんでした。Curve Sweepでは、独立した複数のカーブに対して、同時に押し出し処理を行うことが可能になっています。
またCurve Sweepでは、スケールとツイストのグラディエントの設定が追加されています。これにより、カーブに沿って全体的な拡大縮小と捻りをグラディエントで簡単にコントロールすることができます。
この修正はカーブ全体に対してではなく、カーブの一部に対してピンポイントにスケールやツイストを欠けることも可能です。パス変形カテゴリにある変形ポイントを編集モードをオンにした状態で、カーブ上をShiftキーを押しながらクリックすると、より細かくカーブ状の箇所に対して修正を行うことができます。変形ポイントを削除したい場合には、変形ポイント上で右クリックするだけです。
押し出した形状の向きを指定するには、整列させるメッシュを指定することも可能です。元のパスをコピーし、新たなメッシュレイヤーを一つ用意します。このメッシュレイヤーをCurve Sweepの整列メッシュとして指定します。整列メッシュとして指定したメッシュのカーブの形状を変更してみると、押し出しているメッシュの形状が変わるのがわかります。このようなメッシュを使うことでも、カーブの形状をコントロールすることができます。
さらにCurve Sweepではカーブに沿って押し出す間に、断面の形状を変えていくことも可能です。オペレーションリストからCurve Sweepを展開し、スイープ形状を指定してみます。(スイープ形状を追加)をクリックし、新規 > Sweep Shape Inputを追加します。そうするとスイープ形状をプリセットから選択できるようになります。始端パーセントの値を変えてみると、指定した地点において形状メッシュで指定した断面の形状から、Sweep Shape Inputで指定したプリセットの形状まで変化します。さらにこのスイープ形状ですが、複数追加していくことも可能です。
このように、Curve Sweepでは、従来のCurve Extrudeでは実現が難しかったカーブで押し出しの細やかな処理が可能になっています。