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

キャラクタリグのパフォーマンスを向上させる代理メッシュの簡単な作り方

https://www.youtube.com/watch?v=_058mBkLL54

Modoバージョン15.1では、キャラクタリグなどのデフォーメーションのパフォーマンスを向上させるため、変形するメッシュの代用として簡易的な形状を持つ代理メッシュを使用できるようになっています。このビデオでは、この代理メッシュの簡単な作り方、設定方法をご紹介します。

このサンプルシーンには、高解像度のメッシュのキャラクタと、そのキャラクタにリグが組まれています。コマンドにglmeterを入力して、ビューポート上のFPSを確認してみます。スケルトンを選択し動かしてみると、動きに若干のもたつきを感じます。ではこのメッシュに代理メッシュを適用してみましょう。

まずは代理メッシュを作ります。軽快に動作するように、代理メッシュはポリゴン数を抑えなくてはなりません。しかし元となるメッシュと似ても似つかぬメッシュとなると、変形動作の確認を行うことはできず、代理メッシュの意味がありませんので、まずは新たに空のメッシュレイヤーを一つ作り、ジオメトリをすべてコピーしましょう。

元のキャラクタのメッシュレイヤーでポリゴンモードに設定したら、Ctrl+Cでポリゴンをすべてコピーし、新たな空のメッシュレイヤーに貼り付けます。

ここから低解像度のメッシュへと作り変えます。まずはサブディビジョンになっているポリゴンタイプを、TABキーで面タイプへと切り替えます。あとはリダクションツールを使って、ポリゴン数を減らします。モデリングツールバーのポリゴンサブタブ > ポリゴンリダクションを起動し、ポリゴン数により少ないポリゴン数を入力してみます。そうすると、何とか元の形状は確認できるぐらいの低解像度のメッシュが出来上がりました。このメッシュはあくまでデフォーム操作を軽くするための代理メッシュであり、レンダリングが行われるようなメッシュではありませんので、細部にこだわる必要はありません。

ではこの代理メッシュを設定してみましょう。元のキャラクタのメッシュを選択し、保留される評価カスタムに設定し、代理メッシュに低解像度のメッシュを適用してみます。先ほどと同じようにスケルトンを選択し、実際に動かしてみましょう。

するとスケルトンが動くだけで、代理メッシュはついてきません。これはなぜかというと、代理メッシュと各スケルトンが接続されていないからです。スケルトンを動かすとメッシュが動くという仕組みのためには、スケルトンに対して、どのメッシュのどの部分が対応しているのかを定義するための接続が必要になります。今回の場合、代理メッシュは高解像度のキャラクタのメッシュをコピーして作っていますので、どの部分が対応するのかを定義するためのウェイト設定はそのまま引き継がれていますので、どのメッシュが動くのかを設定する必要があります。

この設定はスケマティックビューを使うと簡単です。スケマティックビューを開き、まずは元の高解像度キャラクタメッシュを開いてみます。このメッシュの接続をダブルクリックしてみると、スケルトンの数分だけ、変形を管理するためのトランスフォームのノードが接続されているのが確認できます。現在、トランスフォームの形状に対して高解像度のメッシュが接続されていますが、ここに代理メッシュも同様に接続してみます。そうすれば、スケルトンの接続がそのまま代理メッシュにも適用されるようになるはずです。

まずは代理メッシュをスケマティックビューへと追加し、右ドラッグで該当するトランスフォームのノードをすべて矩形選択します。あとはShiftキーを押しながら形状のところをクリックし、そのままドラッグして代理メッシュへと接続します。これで先ほどと同じように、スケルトンを選択して操作してみると、操作している間は代理メッシュが動き、それによりFPSの値も改善され、パフォーマンスが向上されているのがわかります。

代理メッシュを作る際は、すでにセットアップされている高解像度のキャラクタメッシュを使用すると、スケルトンに対応するウェイト設定がすでに行われた状態で継承されますので、非常に楽に設定を行うことができます。

2021年9月16日