« FlightGearの機体開発#13:3Dモデルのアニメーション | メイン | FlightGearの機体開発#15:テクスチャの作成 »

2019年12月18日 (水)

FlightGearの機体開発#14:アニメーションの順番

先回は3Dモデルに動きを与えるアニメーションの記述について説明しましたが
この記述には順番が関係してきます。
順番というのはXMLファイルに記載する順をさします。
順番を間違えると意図しない座標点で移動・回転してしまいます。

Ws000003_2

上図はFA200のノーズギアの3Dモデルです。オブジェクト毎に色分けしてあります。
FA200は引込式の脚ではありませんが、そのように動くと仮定して見て下さい。

最初に①のアニメーションを記述します。
タイプ:rotateの対象オブジェクトは白(タイヤ)、黄、赤、青、緑です。

次に②。タイプ:translateで対象は白、黄、赤。

続いて③。タイプ:spinで対象は白。次④、タイプ:rotateで対象は赤。

最後に⑤.タイプ:rotateで対象は青。

この順で書く必要があります。但し、③④⑤同士は入れ替わっても大丈夫です。
もし③を②より先に記述した場合、
タイヤの回転中心が脚が伸びた状態の座標で固定されるため
脚が縮んだ時にはこの固定座標とタイヤ中心にズレが生じて軌道回転をしてしまいます。

つまり『対象が多いものから記述する』と考えればいいです。