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

頂点インデックスの編集および他メッシュとの同期方法

https://www.youtube.com/watch?v=kigg1-XRW1s

MODO バージョン14.2からは自由に頂点インデックスを編集したり、また他のメッシュと頂点インデックスを同期させることが可能になりました。

まずは二つのメッシュ間での頂点インデックスの同期について解説します。このサンプルシーンには、元となる腕の形状と、そこから複製した腕のベース、そして表情をそれぞれ変えた手首のメッシュが用意されています。この腕のベースと手首のメッシュは、元となる形状を複製し、分割して作成されたものです。こうやってパーツを分けることで、様々な組み合わせを作ることができますし、ライブラリ化も可能になります。今回はサンプルとして腕だけを例にとっていますが、キャラクタの様々なパーツに対してこのように分けて管理するケースがあるかと思います。

その場合、この腕のベースと手首を組み合わせ、元となる腕の形状のモーフマップを作ることで、キャラクタに対して様々な表現を設定することが可能になります。まず一番上の手首と腕のベースを組み合わせて、オリジナルの腕のメッシュに対してモーフマップを作成してみましょう。

組み合わせたいメッシュを複数選択し、複製しておきます。複製したアイテムに対し、アイテムリストから右クリックで、メッシュの統合を行います。このときトランスフォーム補正をオフにしておくことで、手首が元の位置へと戻り、ぴったりと重なり合います。ただ、単に統合されただけで、頂点が結合しているわけではないので、頂点サブタブにある結合を行っておきます。わかりやすく名称は変えておきましょう。

これで元の腕の形状と、手首から先を修正した腕の形状がそろいました。見る限り、頂点数やポリゴン数に変化があるわけではないので、形状をモーフとして正しく取り込めるように思えるのですが、元の形状に対してモーフマップを作り、頂点マップ背景モーフツールを実行して、を100%に設定し、ビューポートをクリックしてみると、ぐちゃぐちゃの形状になってしまいます。

これはなぜかというと、確かにベースとなる腕、また手首は、オリジナルの腕の形状から作ったんですが、いったん分割した段階で頂点のインデックス順というのは変化してしまっていますので、見た目的には同じトポロジのように見えても、実際のインデックスというのは順序が異なっています。

これを同じインデックス順にするためのコマンドが、バージョン14.2からは追加されています。インデックス順を同期させるには、まず同期させたいメッシュを二つ選択し、ポリゴンモードへと変更したら、それぞれのメッシュから対応するポリゴンを2枚ずつ選択します。選択したら、頂点サブタブにあるインデックス順を同期を実行します。もう一度、先ほどの背景モーフを実行してみると、今度は正しく背景メッシュの形状を、モーフへと移すことができました。同様に、あと二つも背景モーフとして、形成してみます。このようにして、分割しライブラリ化しておいたメッシュを基に、様々な形状のモーフマップを生成できますので、別々のパーツを組み合わせたキャラクタのポーズをモーフマップとして保存できるようになります。

バージョン14.2では、このように二つのメッシュ間における頂点インデックスの同期が可能になっていますが、さらに頂点インデックスの順序を編集することも可能です。

こちらのサンプルシーンには、セグメント2×2で区切られた板ポリゴンが用意されています。この板ポリゴンの頂点インデックスを確認するため、ショートカットキーOで表示オプションを出したら、アクティブメッシュのタブから、インデックス表示をオンにしてみます。そうすると頂点を選択したら、インデックスが表示されるようになります。

インデックスをよく確認してみると、左下から時計回りにインデックスの順序がつけられているのがわかります。これを例えば、一番上の三つの頂点が0,1,2に来るように設定してみましょう。まずは0,1,2に設定したい頂点を選択し、頂点サブタブにあるインデックスを再整列を選択します。モード最上部に設定すると、一番最初にこの三つの頂点が選択した順で配置されます。OKボタンを押し、もう一度すべての頂点を選択してみましょう。そうすると、選択した順に0,1,2のインデックスがつけられ、後はそのままのインデックス順となっています。すべて選択しなおして、今度は入れ替えで実行してみると、選択した順序通りにインデックスがつけなおされます。

この頂点のインデックス順序は、例えばダブルクリックや投げ縄選択などで頂点を全選択したときに、このインデックス順で選択されますので、このままカーブを作成すると、順番に沿ったパスが出来上がりますし、スクリプトを組むことで、インデックス順に値が変化するようなウェイトやUVなどの頂点マップを生成することも可能になります。

2020年11月19日