MODO 機能紹介・チップスサイト このサイトでは、MODOの基本機能やチップスをご紹介していきます。

配列タイプを使ったリアルタイムなパッチカーブ作成法


https://www.youtube.com/watch?v=8bCFaLLuC9I

Modo 13.0では新たなデータタイプとして配列というタイプが追加されました。この配列タイプを使用して、リアルタイムにパッチカーブでジオメトリを作成する方法を解説します。

これまでのダイレクトモデリング型のパッチカーブでは、複数のカーブを元に、そのカーブを補間する形で面を貼っていくことができます。パッチカーブの使い方を知りたい場合にはビデオ「パッチカーブ機能を活用したモデリング 」をご覧ください。ただしこのツールは、リアルタイムで動作するツールではないため、カーブを修正したら、その都度、面を貼り直す必要がありました。今回ご紹介する方法では、リアルタイムに面を貼っていくことになるため、カーブの形状を後から変えても、面を貼り直す必要はありません。

サンプルとして、メッシュレイヤーに3本ほどカーブを作ってみます。Modo 13.0からはこのカーブ上のポイントを取得して、配列にデータを格納することができます。まずはスケマティックビューにこのメッシュを追加したら、追加ArrayCurves to Arrayを追加します。このモディファイヤはカーブから位置や接線の情報を取得するためのモディファイヤです。何の情報を取得するのかはプロパティタイプで指定することができます。今回は位置の情報を取得してみます。カーブのメッシュをCurves to Arrayカーブへと接続します。そうするとビューポート上のカーブに対してサンプリングした位置にマークが付けられるのがわかります。このサンプリングする位置については始点終点ステップサンプリング手法のプロパティで細かく指定することができます。とりあえず今回は各カーブに付き、10個のサンプルを取るようにしてみましょう。ステップを10に設定します。

ここまではあくまでカーブ上の位置のデータを配列に入れ込んだというだけの状態なので、この取得した位置情報を元に新たにメッシュを作ってみます。新たにメッシュを作るため、メッシュレイヤーを一つ追加しておきます。このメッシュに対して配列データからポリゴンを作成します。配列データからポリゴンを作成するためのモディファイヤは、追加Mesh Operations作成Create Polygonsを追加して使います。

このノードの位置へ、先程のCurves to Array出力を接続します。そうすると各カーブに対して面で塗りつぶされているのがわかります。今回は3本のカーブをつなげた状態にしたいので、モードブリッジに、閉じるなしにしておきます。面の向きが逆なようであれば、元のカーブをコンポーネントモードで反転させておけばよいでしょう。

そうすると、カーブをつないで面がはられるようになりました。ですが、直線的につないで面を貼っているだけですので、滑らかさがありません。ここはいったん面を貼るのではなく、位置情報から新たにカーブを生成し、生成したカーブに対して面を貼るようにします。

Create Polygonsのポリゴンタイプではなく、カーブに設定すると、元のカーブをつなぐ新たなカーブが生成されるようになりました。ではこれらのカーブから面を貼っていきましょう。

貼った面を入れるメッシュレイヤーを新たに一つ作成したら、さらにもう一つCurve to ArrayCreate Polygonsモディファイヤを追加します。今度は新たに作成されたカーブを元に配列を作成し、その出力を追加したCreate Polygonsの位置へと接続します。

モードブリッジに、閉じるなしに設定すると、なめらかな面が作成されたのが確認できます。面の分割具合は、カーブから配列データを作成する際のCurves to Arrayにおけるステップ数で調整します。作成した面を反転させたい場合には、アイテムリストからメッシュレイヤーを選択し、コンテキストメニューからメッシュオペレーションを追加ポリゴンPolygon Flipを追加すると、面を反転させることができます。さらに、Set Polygon Typeを追加して、ポリゴンタイプからサブディビジョンへと変更すれば、カーブに沿ったよりなめらかな面を表現することができます。

このように配列を使えば面がはられた状態であっても、大本のカーブの形状を修正したり、また面の分割数を後から変更するなど、パッチカーブの自由な編集が可能になります。

2019年6月20日