calendar

S M T W T F S
  12345
6789101112
13141516171819
20212223242526
2728293031  
<< August 2017 >>

categories

archives

NET拳の3Dモーション作成時の角度について

0
    3Dモーションを作成するときに、覚えておかなければならない事があります。
    それは「3次元の角度を表す方法について」です。「三次元の角度」には幾つかの落とし穴があります。
    それらを知らないと「思った通りの角度にならない!」とか「動きがおかしい!」っていう事が必ず起こります。

    詳しく知る必要はありませんが(自分自身詳しくは理解できてませんが)概要を頭に入れておくだけでも
    全然結果が変わってきますので、3Dモーション作る方(特にNET拳で作る方)は、ぜひ理解しておいてください。

    ※ここに記載している内容は、NET拳のデザイン機能に特化した内容で書かれているので、一般的な解釈とは
    一部異なります。ご注意ください。

    ----------------------------------------------------------------------
    ■■三次元の角度を表現する2つの方法
    三次元の角度を表すには、オイラー角と、クォータニオンの二通りがあります。
    NET拳の3Dモデルデザインや、モーション作成画面では、全てオイラー角で指定するようになっています。

    それぞれの特徴は以下の通りです。

    ■クォータニオン
    4つの数字を使って、三次元の角度を表す方法です。
    これら4つの数字は、普段慣れ親しんでいる「角度」ではありません。
    プログラム内部では、3D角度は全てクォータニオンによって処理されています。
    (プログラム内部ではクォータニオンの方がオイラー角よりも高速に処理を行う事ができます)

    ■オイラー角
    3つの角度(X軸回転、Y軸回転、Z軸回転)によって、三次元の角度を表します。
    普段使っている角度と同じ概念なので、クォータニオンよりもイメージが湧きやすいです。
    コンピュータ内部では、オイラー角をクォータニオンに変換して処理しています。
    (変換する分、コンピュータへの計算負荷がかかります)

    NET拳のデザイン画面では、全てオイラー角で指定するようになっています。
    NET拳でデザインする際は、クォータニオンの事は特に意識する必要はありません。

    ----------------------------------------------------------------------
    ■■オイラー角で角度を指定する場合の問題点
    実はオイラー角には、ある問題があります。それは
    「ある軸を動かしたときに、他の軸の回転方向が変わってしまう」という事です。

    例えば肩をZ軸方向(前へならえの方向)に回転させる場合を考えます。
    X軸もY軸も回転が0度の場合、Z軸方向の回転は、前後(前へならえの回転)となります。
    この時点では、特に問題はありません。

    ところがY軸を90度回転させると、Z軸方向の回転は、左右方向(横方向)の回転になってしまいます。
    つまり、Y軸を90度回転させると、X軸の回転方向と、Z軸の回転方向が入れ替わってしまうのです!
    (詳しく知りたい方は「ジンバルロック」で検索して調べると、いろいろでてきます)

    この例は90度なのでまだ分かりやすいですが、これが65度とか半端な数字だったり、
    更にX軸も回転させたりすると、もうどの回転軸がどっちを向いているのか訳が分からなくなります。

    このように、オイラー角は、1つの軸だけの回転は非常にシンプルで分かりやすいのですが、
    複数の軸を同時回転させると、急に難しくなるという特性を持っています。

    ■■オイラー角でモーションを作る場合の問題点
    更に今度は固定角度だけでなく、手を下方向(気をつけの方向、x,y,z軸が「0度、0度、0度」)から前方(前へならえ方向)に伸ばすトゥイーンモーションについて考えてみましょう。(トゥイーンとは、あるフレームから次のフレームへ角度が変化していく「動き」の事を指します)
    ネットで3D格闘ゲーム

    手を前に出す角度は、X,Y,Z軸を「0度、0度、90度」と指定することで表現できますが、
    実は同じ角度は「-90度、0度、90度」でも表現できます。

    これらをそれぞれフレームとして登録し、モーションさせてみるとトゥイーンの経路が異なります。
    ネットで3D格闘ゲームネットで3D格闘ゲーム

    多くの場合は、単一の角度のみを使った回転モーションの方が、よりイメージしたトゥイーンに近くなる事が多いです。

    -------------------------------------------------------------------------
    ■■というわけで結論

    以上より、モーションを作成する際は、複数の回転軸を指定するのではなく、どの軸をメインで回転させるか(他の回転軸は基本的に回転させない)という事を意識して作る事が、よりイメージに近いトゥイーンを作るコツとなります。

    ただしメインで回転させる軸以外は0度じゃなきゃダメ!というわけでもありません。
    回転方向以外0度だと、定規で測ったような、ロボットダンスっぽいモーションになってしまいます。
    よって、メイン回転する軸以外は、少しだけ回転させた状態にするといい場合も多いです。


    以上をまとめると、
    ・フレームからフレームへ、メインで回転させる軸は1つだけ、を意識して作る
    ・他の軸回転角度は少しだけにする(±10度以内位)
    ・基本1軸回転、多くても2軸、3軸回転は極力避ける
    という事になります。

    NET拳のモーションデザインは、可能な限りシンプルな少ない設定だけで、簡易的にモーションが作れるように設計されています。その反面、動きを細かく指定することはできません。この辺のモーションツールの癖をつかむ事が、より早く綺麗にモーションを作成できるようになる秘訣です。


    JUGEMテーマ:コンピュータ


    JUGEMテーマ:ゲーム



    コメント
    コメントする








       
    この記事のトラックバックURL
    トラックバック