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

Poserからmodoへのワークフロー

※この記事はMODO 701以前のMODOを対象に書かれています。MODO 801ではBVHファイルをスクリプトを使わずに、標準機能で読み込むことができるようになっていますので、MODO 801をお持ちの方は標準機能リターゲティングをお試しください:

リターゲティングでBVHファイルをキャラクタに適用するには

まずはPoserを起動し、キャラクタに歩行アニメーションをつけます。ここではデフォルトのアンディ君に対して、歩行デザインを使用して、てってけてってけ走ってもらっています(下記画像をクリックすると、モデルがPoser内でてってけてってけ走ります)。

ここからデータを書き出していきます。書き出すデータは2種類。一つはモデルデータをColladaで、もう一つはモーションデータをBVHで書き出します。今回使用しているPoser 9日本語版では、デフォルトの状態でモデルの名称が全て日本語化されていますが、Colladaでデータを介する場合など、正しく日本語が解釈されない場合がありますので、あらかじめモデルの名称は英数字へと変えておくようにしてください。

ファイル > 書き出しよりColladaを選択します。最初にシングルフレームで出力するか、複数フレームで書き出すかを問われますので、複数フレームでの書き出しを選択してください。

後は、階層から書き出したいモデルだけにチェックマークをつけて出力します。スケールに関するオプションが出てきますが、ここはあとでmodoの中で自在にスケールを変えられますので、それほど正確に設定する必要はありません。これでモデルデータの書き出しは終了!

次はモーションデータです。同じようにファイル > 書き出しよりBVHモーションを選択します。ここもデフォルトのままで出力します。これでPoser内からの出力は完了です。簡単ですね。

次に読み込み側のmodoを起動し、さきほど出力したColladaファイルを開きます。モデルがTスタンス(Poserではこれをゼロポーズと呼びます)で出力されているのがわかりますね。前回のBVHローダーの紹介で解説したとおり、まずはこのモデルの身長を測りましょう。ビューメニュー > 寸法ツールを呼び出すと、身長が1.8736mであることがわかります。この数値、覚えておいてください。

次に、いよいよBVHローダーの登場です(まだBVHローダーをインストールされていない方は、こちらの記事で先にインストールをお済ませください)!アニメーションレイアウトからBVHタブを選択し、Heightのところに先ほど記憶しておいたモデルの身長1.8736mと入力したら、Load BVH Motionボタンをクリックし、出力したおいたBVHファイルを読み込みます。

ここまでは単にBVHファイルを読み込みスケルトンが生成されただけであり、実際のモデルデータに割り当てられていません(上図参照)。セットアップモードへと切り替えてみると、読み込まれたBVHのデータによるスケルトン階層もTスタンスを保持していることがわかります。あとは、モデルデータをこのスケルトンのTスタンスの位置へと移動させるだけ!

PoserからモデルデータとそのBVHを出力する場合、他よりとびきり優れている点は、このスケルトン(BVH)とモデルのTスタンスが完全一致しているという点にあります。BVHでは階層のルートに当たるHipスケルトンが原点へと設定されているため、どうしてもモデルデータをスケルトンに合わせ移動させる必要はありますが、各スケルトンを細かく位置調整する必要はありません。あくまで全体の位置を合わせるだけでOK。これはスゴク楽ですね。

位置を調整したら、スケルトンとモデルを選択した状態で、デフォーマタブからバインドボタンをクリック!セットアップモードを抜け出し再生してみると、Poserで設定した動きが、そのままmodo上でも再現されるようになります(下記画像をクリックすると、モデルがmodo内でてってけてってけ走ります)。

ここでPoser→modoへとデータを出力する際の注意点を挙げておきます:

[1] インバースキネマティクス機能をオフに

Poserではインバースキネマティクスの設定がオンになっている場合があります。この状態でうまく歩行アニメーションが作れたとしても、BVHにはPoser内のインバースキネマティクスの影響は反映されません。このため、Poserではインバースキネマティクスの影響をオフにした状態で、適切に動くようなアニメーションを設定するようにしてください。

[2] バインド後の修正

Poserからのデータに限ったことではありませんが、今回のような骸骨君ではなく、リアルなキャラクタに対してスケルトンをバインドする場合、自動で設定されたウェイトが必ずしも最適なものであるとは限りません。特に関節部分などは、その動きによって肩や腕などの膨らみ具合が意図しないものへとなってしまう場合があります。この場合には、ウェイトのペイントツールを使って、スケルトンからの影響を受ける範囲などを微調整するようにしてください。

2013年9月7日