【nCloth研究②】シミュレーション結果をリグにベイク(実験中)【maya】
先日に引き続きmayaを使い、nClothのシミュレーション結果をリグにベイクする方法についてまとめました。 今回は実用性ギリギリのラインまでは、行けたかなぁと思います。
今回やりたいこと→IKスプラインで制御したい
前回はFK(回転値のみ)での移植に成功したので、今回はより手数を少なく形が作れる、『IKスプライン』で動きを制御したいと思います。
リグへの移植結果【9割は移植成功?】
9割くらいはシミュレーションの動きをリグに移植することに成功しました。 残り1割は妥協です... ■移植結果の動画 <https://youtu.be/RXBykHtZgjI> 思いのほか、移植出来てるのではないでしょうか...
シミュレーションをリグへ移植する方法
作業を説明する前に、まずはモデルとジョイントの名前を決めます。
simulation_model・・・シミュレーションで動いてるモデル。 [caption id="attachment_4880" align="aligncenter" width="925"] シミュレーション用のモデル[/caption] simulation_Joint・・・simulation_modelの頂点にコンストされているジョイント。 [caption id="attachment_4882" align="aligncenter" width="1024"] simulation_Joint[/caption] simulationJointで動いてる訳じゃないので、その辺注意してください。 このジョイントは、『simulation_model』の頂点情報を取得するためのジョイントです。 位置情報が分かればロケーターとかでもいいんですが、今回はジョイントでやってます。
移植用のモデルとジョイントを用意する
移植用のモデルとジョイントを用意します。 simulation_modelとsimulation_jointをコピーすればOKです。
このモデルを『ISYOKU_model』 ジョイントは『ISYOKU_Joint』とします。
『ISYOKU_Joint』は親子付けをして、『ISYOKU_model』とバインドします。 この『ISYOKU_Joint』を動かして、simulation_modelの動きを移植するイメージです。
『ISYOKU_model』にIKスプラインを這わせる
『ISYOKU_model』をIKスプラインで動かせるように仕込みます。 この際、回転も制御できるようにしないとシミュレーションの動きを移植できないので、その仕込みも施します。
FK用のコントローラーを『ISYOKU_FK_Ctrl』 IK用のコントローラーを『ISYOKU_IK_Ctrl』とします。
※IKスプラインの作り方は割愛。
FK・IKのリグと『simulation_Joint』をコンスト
②で作った『ISYOKU_FK_Ctrl』・『ISYOKU_IK_Ctrl』と、『simulation_Joint』をコンストします。 『simulation_Joint』が動けば、移植用のリグが動く仕組みです。 100%は移植できませんが、9割くらいは移植可能です。
最後にリグの動きをベイク
最後は『ISYOKU_FK_Ctrl』・『ISYOKU_IK_Ctrl』を全選択して、リグの動きをベイクします。
ベイクしたらアニメーションレイヤに入れて、動きを調整できます。 こうすれば、シミュレーションでいい感じに動きを付けた後、細かい調整はリグで編集することができます。
微調整を施すのが前提なら、シミュレーションの動きを100%移植する必要はないのかな?って思います。 (まぁ、完全に移植できるに越したことはありませんが...)
今後の課題【更なる効率化へ】
■今後の課題
リグの数を減らす
リグの順番を分かりやすくする
IKスプラインを100%移植する
以上が今後の課題です。
リグの数を減らす
縦列のリグが多いせいで、形を整えるのに手数が増えてしまいます。 1列おきにリグを設置すればよかったのですが、移植の都合上、全部の列にスプラインが必要でした...
この辺はスクリプトを使い、コントローラーの数を調整できるようにしてもいいかもしれないです。
リグの順番を分かりやすくする
リグの数が多いのも原因ですが、どのリグがどの部位を制御してるかが分かりにくいですね...
同じスプライン上のリグは、前後関係を分からせるような工夫が必要です。
シミュレーションの動きを100%移植する
可能であれば、シミュレーションの動きを100%移植したいですね。 まぁ微調整前提ならその必要もないと思いますが、戻せるに越したことはないです。
100%の移植は無理でも、リグの数を減らすのはすぐ出来そうなので、引き続き研究していきます。