« リアルかアンリアルか? | トップページ | 予備動作 »

2008年5月 7日 (水)ローテーション

おはようございます。本日の当番、モーションデザイナーのI.Hです。


回転に関するお話をひとつ。

SoftimageXSIで人のモデルにモーションをつけていると、回転で制御している部分(特に手首や足首)で自分の思ったように補間してくれないことがよくあります。

私はXSI以外の3DCGソフトを扱ったことがないので、他のソフトで起こるのかは分かりませんが、多分起こるものもあるのではないでしょうか。


XSIでは、大きく3つの方法でノードを回転させることが出来ます。


Ⅰグローバルの軸に沿ってノードを回転させる。
…これは回転させたいノードがどんな方向を向いていても同じ回転軸(グローバル軸)で回転させることが出来ます。

Ⅱノードのローカル軸に沿ってノードを回転させる。
…これはノードのセンターを軸にして、回転させる方法です。回転した角度に合わせて軸も変動します。

Ⅲノードの本来の回転軸に沿ってノードを回転させる。
…これはローカルに近い回転方法なのですが、ローカル回転とは違い回す軸によっては他の軸が追従しないものがあります。
(Z軸を回転させるとローカル回転同様、X、Y軸も一緒に回転します。Y軸を回転させるとX軸は一緒に回転しますが、Z軸は変化しません。X軸を回転させるとY軸もZ軸も変化しません。)
そして、この軸の回転座標がファンクションカーブ上の数値となります。


このように回転させると言っても様々な方法があります。

ここで問題となるのが、ⅠとⅡです。Ⅲは実際のファンクションカーブに反映される数値なので意図しなかった動きになる、といったことはほぼないのですが、ⅠやⅡは実際の回転軸を無視して回転させるためキーとキー間の補間が意図しないものになることが多々あります。


分かり辛いので図で説明しますと、下のようになります。

図1
2008_0502_01

図2
2008_0502_02

図1、2はローカルZ軸に沿って180度回転させたものです。(表示されている回転軸はローカル回転の軸)

図1と図2はいづれも①と⑤の時以外、キーは打たれていません。(②③④は補間です。)

このように、同じローカルZ軸へ180度の回転でも間の補間は違ってきます。これは①の時のノード本来の回転軸がズレているため起こります。


実際、①の時の本来のノードの回転軸はどうなっているのか見てみましょう。

2008_0502_03

上図のように図2-①はZ軸とX軸が重なってしまっています。これを無理にローカルZ軸方向に回転させようとしたため図2のような補間になってしまったのです。


このように良いポーズを繋いでも、補間部分でこういったことが起こる可能性があるので、補間部分にもしっかり注意してモーションを作りましょう。

follow us in feedly
result = encodeURIComponent( "http://www.accessgames-blog.com/blog/2008/05/post_97dc.html" );document.write( "result = " , result );&media=https%3A%2F%2Ffarm8.staticflickr.com%2F7027%2F6851755809_df5b2051c9_z.jpg&description=Next%20stop%3A%20Pinterest">

| | コメント (0) | トラックバック (0)

« リアルかアンリアルか? | トップページ | 予備動作 »

モーションデザイナー」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: ローテーション:

« リアルかアンリアルか? | トップページ | 予備動作 »