Tips

modoでプロシージャルな等高線の作り方

modoのプロシージャルモデリング機能を使用した、オブジェクトの等高線のような表現方法について書いてみたいと思います。

プロシージャルモデリングとモデリング機能のように呼ばれていますが、modoのプロシージャルモデリングは自由度が高いので、アニメーション作成でも便利に使うことができます。例えば入力データに依存しないアセンブリやエフェクトを作成することができます。このサンプルファイルでは、好きなメッシュをMerge Meshにリンクすると等高線のようなカーブを生成します。

サンプルファイル(12.2以降)

 

スケマティックはこんな感じ。

処理は簡単です。プロシージャルモデリングのAxis Drillでスライスしてエッジを作成、Edges to Curves でエッジからカーブを作成しています。レンダリングは「カーブをレンダリング」機能を使用してます。

本当は等間隔でエッジを作るにはAxis DrillよりAxis Sliceを使うのがスマートです。Curve Slice、Slice Effector、Pen Slice、Curve Sliceというスライス関連のノードがありますが、Axis Sliceには「エッジ選択セット」を作成する機能がないため、スライスしたエッジを選択する手段がありませんでした。しかたがないのでArrayで平面を複製してスライス専用のメッシュとして使用しました。(2018/12/11追記、Assign Selection Setで追加したエッジのみ選択する方法を見つけました

Merge Meshes でメッシュの入力を分けてるのは好みの問題です。アニメーションしているメッシュにノードをまとめることもできますが、メッシュオペレータは処理が重いので、分けたほうが表示をオンとオフで切り替えるのが簡単です。処理をライブラリ化して使い回したい場合にも便利だと思います。

テクスチャでも似た感じのことができると思いますが、メッシュをスケールしたときに、均一な太さの線にならないんじゃないかな?という気がします。

 

メッシュ入れ替えた例。いちど処理を作ってしまえば再利用できるのがいいですね。

ダイレクトモデリング機能でも同じようにエッジからカーブを作ることができますが、プロシージャルモデリング機能では自動的に等間隔のカーブを作ることができます。しかもアニメーションしているメッシュを使用できるというのが、プロシージャルモデリングの魅力ですね。

 

参考

コメントを残す

*