一口にアニメーションと言っても、Gmaxでのアニメーションには、下に挙げたように幾つかの段階があります。簡単なAの方法だけで済む場合も多いのですが、リアルな形の人形を歩行させたりしようとするとD難度の方法が必要になります。
A.オブジェクトの回転、移動といった単純なアニメーション。
B.連結された複数オブジェクトが折れ曲がりながら動く、連結列車やムカデのような動きのアニメーション。(boneを併用する。)
C.連結された3つ以上のオブジェクトが関連を持ちつつ折れ曲がりながら、人間の歩行のような動きをするIKアニメーション。
(IK=インバースキネマ技法を使う。)
D.boneとskinを使って作るアニメーション。IKを併用することも多い。
3個の部品を連結して動かす例題
・3個の部品を通常通り作成してからbone作成に入る。
・メニューの Animation -- Create bones を選択して、bone作成モードにする。
・部品の近くで左クリックをしてから、部品の大きさに合わせてマウスを移動させてboneを作成。
・ちょうどいい大きさのところで左クリックをすると、2個目のboneの描画が開始される。
・同じようにして3個のboneまで描き終えたら、右クリック。
(付属に4個目の小さなおにぎりの様なboneも出来るが、アニメーションの動きを設定する際に必要なもの。 最終段階では消去する。)
これで3連結されたboneが作成される。
・作ったboneのそれぞれを、移動ツール(Select and Move)で動かしてみて、3連結されたboneがどういう動きをするか確認しておく。
←--- 3個のboneを、作り終えたところ。少々の寸法違いは次のようにして修正する。
←--- boneを部品内部に納める。
・作成したboneを、部品の内に納めるように移動。
(1個目のboneをダブルクリックすれば3個一緒に動かせる。)
・可能ならば、boneが部品の外にはみ出さないように、長さや太さを修正。
(通常のオブジェクトのように、ModifireメニューのVertexをズームしたり動かしたりして、大きさを調整できる。)
はみ出したままでも構わないが、アニメート作業の時に見づらいときがある。
後に行うコンパイルが正常に行われた場合、boneはFSX画面内には表示されない。
・4個目にできた付属の小さなboneはアニメーションの動き設定のために必要。最後に消すので、部品の外にはみ出させておいて構わない。
←--- 部品とboneを連結(リンク)させる。
・リンク(Select and Link)ボタンを押す。
・部品の方を先にクリック選択する。 (マウスカーソルが一時的に"リンクボタンの形"になる。)
・マウスをドラッグし始めると点線が表示されるので、そのまま部品内部に納めたboneまでマウスをドラッグする。
・boneのところまでドラッグすると、マウスカーソルの形が"リンクボタンの形"に変わるので、そこでマウスのボタンを離す。(この時、boneが一瞬点滅する。)
・同じようにして3個とも部品とboneをリンクさせる。
← アニメーションの動きを付ける。
・ 基本はAのアニメーションのやり方と同じ。
・左図の場合、3個全体を移動させるのは一番左のboneを移動させながら設定する。
・左から2番目、3番目、4番目のboneをうまく動かしながら、部品を上手く折れ曲がらせる。
・全体の移動、個々の折れ曲がりを設定しながらアニメーションを完成させる。
・すべてのアニメーション設定作業が完了したら、補助的にくっついている小さいおにぎりのような4つ目のboneは消去する。消去しても設定済みのアニメーションが壊れることはない。
あるいは、特に消去しなくてもよい。アニメーションが正常にコンパイルされた場合、これら4個のboneはFSX画面に現れないので、気にしなくて良い。
・FSX内でも設定通りにアニメートさせるために、アニメーションマネージャーで以下の手順を実行する。
・アニメーション設定を「実時間」でやった場合でも、ここで「フレーム」に戻しておく。(画面右下のTimeConfigurationボタンを押して
TimeDisplayをFrameにする。)
・アニメートするすべてのboneを選択する。
・Gmaxのメニューバーの、1番右にある(はずの)「FSTools」メニューから、「AnimationManager」を実行する。
・Groups=ALL 、 AnimationList=Ambient 、を選択。
・Startの欄にアニメーション開始フレーム値(=0)、End欄に終了フレーム値を入力。
・Createボタン(右下のではなく右中あたりにあるもの)を押し、ObjectAnims欄にAmbientの表示が出たことを確認。
以上が設定手順であるが、この後は通常のように、GUID値設定後、FSX用にMDL形式へのexportを行い、コンパイルする。
・アームや人体のような「関節」のある動きをさせるためには、部品と同じ数の骨「bone」を設定し、その骨と各部品(部分)をリンクさせてから、さらにboneと他のboneをリンクさせて、アニメーションを設定する。
(このやり方を一般に、IK=インバースキネマ と言うようである。)
boneとboneをリンクさせるには、Animation -- IK Solvers -- IK Limb Solver で行う。
やりかたは、通常のリンク機能(Select and Link)と同じ。
・基本的な動きのみならば、やってみるとそれほど難しくはない。
bone同士をいろいろとリンクさせてみて動かしてみると、人間の歩行の脚の動きは割合に簡単に設定できることが分かる。 慣れと実験回数が物を言う。
・左の例では、太もものboneと足の甲のboneとをリンクさせて、表示されている青い十字を動かしてみると、太もも+ふくらはぎ+足の甲、の動きが一緒に起こる。
この動きを上手く調節しながら歩行のアニメーション設定してゆく。
・これに両手の動きや腰、頭の動きも付け加えるとなると、相当に根気の要る設定になると思われる。
D.のアニメーションの設定方法 (未作成)
部品にboneを設定し、そのboneにskinを付けていく作業になるが、skinの設定には多くの項目があるので、多くの実験をする必要がある。
現状ではまだ、何も手を付けていない......
このアニメーションでは、リアルな生物の見栄えが再現できるはずだが、専門家的な作業の勘も要りそうである。