メッシュオペレーションを整理するスタックノード
https://www.youtube.com/watch?v=LsJBR0yDS6o
メッシュオペレーションはスケマティックビューで他の要素を組み合わせリグを組むことで、モデリングだけではない、新たな表現が可能になりますが、スケマティックビューではメッシュオペレーションで重要となるオペレーションの順番を管理することができませんでした。バージョン15.1ではこれを可能にするオペレーションスタックノードが実装されています。
まずはサンプルとして、簡単にメッシュオペレーションでモデリングを行ってみましょう。オペレータ追加 > プリミティブ > カーブから星の形状を作ってみます。さらに編集 > Freezeで、星のカーブから面を作ります。この面をポリゴン > Polygon Extrudeで押し出します。次にポリゴンのベベルをかけ、さらにエッジにベベルをかけてみます。
メッシュオペレーションリストでは、オペレーションの順番を変えることで、その最終形状を変えることができます。例えば、押し出してベベルをかけるという順番を、ベベルをかけてから押し出すに変更してみましょう。Polygon BevelをPolygon Extrudeの下にドラッグすることで、簡単に順番を変えることができます。
それではこれをスケマティックビューで確認してみましょう。メッシュをビューへと追加したら、接続部分をクリックして展開します。そうすると接続しているメッシュオペレーションがすべて表示されたのが確認できます。これにより、各オペレーションに対して他の要素を接続することが可能になるのですが、このスケマティックビュー上で表示されるオペレーションはあくまで並列状態なので、ここで順番を入れ替えることはできません。順番を入れ替えるには、あくまでオペレーションリストで作業する必要がありました。
ではバージョン15.1で追加されたオペレーションをグループ化してくれるオペレーションスタックノードを活用してみます。オペレータ追加 > Deformers > グループ > MeshOp Stackを追加します。これを展開してみると、デフォーマスタックというのがあり、ここにオペレーションを追加することができるようになっています。 オペレーションリスト上のオペレーションを複数選択し、デフォーマスタックの下へとドラッグアンドドロップしてみます。
そうするとスケマティックビュー上の接続状態も、先ほどとは異なっているのが確認できます。先ほどはメッシュと各オペレーションの間に接続のリンクが表示されていましたが、今はそのリンクが表示されていません。改めてメッシュの接続をダブルクリックしてみると、MeshOp Stackノードが表示され、このノードから各メッシュオペレーションのノードへと接続が行われています。
このMeshOp Stackノードのデフォーマスタックを展開してみると、オペレーションがリストされており、このノード上で順番を入れ替えることができるようになっています。この機能が実装されたことで、わざわざオペレーションリストを意識しなくても、スケマティックビューだけでより効率よく作業できるようになりました。
また、このMeshOp StackはMerge Meshesで、他のメッシュレイヤーにオペレーションを読み込む際にも便利に使えます。
今までMerge Meshesを用いて、他のメッシュからデータを持ってくる場合、そのメッシュレイヤー全体のデータを読み込んでいました。このため、読み込み元となるメッシュレイヤーから派生した形状を作ろうとする場合、元となる形状のほかに派生した形状分のメッシュレイヤーが必要となっていましたが、バージョン15.1からはMerge Meshesで読み込む際に、読み込み元のメッシュの中でどこまでのオペレーションを読み込むのかを指定できるようになり、途中の形状を読み込めるようになっています。
例えば、サンプル画像のような形状を作ろうとする場合、まずは元となるカーブを用意してみます。こちらはバージョン15.1で追加されたカーブブーリアンの機能を使って作成されたカーブです。このカーブをフリーズして面を作ります。その後、ベベルをかけて押し出します。この押し出して作られた形状のヘリに、飾りを作りたいので、Curve Booleanで作ったカーブの形状だけを抜き取りたいのですが、従来のMergeMeshesであればこのメッシュ全体が読み込まれてしまいます。
バージョン15.1ではオペレーション途中の形状を抜き出すことができますので、新規メッシュにMerge Meshesを設定し、メッシュレイヤーでCurve Booleanを選択すれば、その段階のカーブの形状だけを読み込めるようになります。ここで複製 > Cloneでカーブを複製し、カーブをレンダリングオプションをオンにすれば、簡単にヘリの形状を作ることができます。
このサンプルではオペレーションの数が多くないので、それほど気になりませんが、オペレーションの数が多くなってくると、指定するメッシュレイヤーも煩雑になってきます。そのような時には、先ほどのMeshOp Stackでグループ化してあげることで、Merge Meshesで指定する形状も簡単に設定できるようになります。