階層構造

今回、階層構造を作ってアニメーションするために、色々なソフトを試してみたのですが、
http://www.vixar.jp/cyberdelia/
こちらの Cyberdelia というソフトがメタセコイアのファイルとも相性が良く最もシンプルで
操作性も良かったので Cyberdelia を使う事にします。
.X のアニメーションを作成できるソフトは他にもたくさんあるのですが、階層メッシュアニメーションだけを
出力するソフトはおそらく Cyberdelia だけではないでしょうか。詳しく調べていないので他にもあるかも
しれませんが。

まず、メタセコイアで↓の図のような戦車を作成します。


戦車は 『本体』 と 『砲台』 と 『砲身』 から出来ていてそれらは


のような親子関係を持っています。


それを Cyberdelia で読み込んで階層構造を設定し、アニメーションを作って .X形式で保存します。

まず、砲台をドラッグして本体にドロップします。そして砲身をドラッグして砲台にドロップします。
すると階層構造が出来上がりました。

最後のフレームを30にして、現在のフレームを0にします。
本体を選択するとアニメーションキーを作成できるようになりました。
鍵のマークをクリックして 全てのモデルのキーフレームを追加 します。
 

 

最初のキーフレームが作成されたので次のキーフレームを作成します。
下にあるスライダーを横に移動させて現在のフレームを10にします。
モデル移動コマンドを選択し、3Dビューの本体を右ドラッグで青い線(Z軸)の方に
少し移動させます。
すると、本体の子オブジェクトである砲台と砲台の子オブジェクトの砲身が一緒に
追随してきます。
子オブジェクトは親オブジェクトに設定された移動や回転、拡大縮小をすべて、
そのまま受け継ぎます。
これが階層構造の特徴です。
そして鍵のマークをクリックして、また 全てのモデルのキーフレームを追加 します。

今度は、下のスライダーを動かして現在のフレームを15にします。
モデル回転コマンドを選択し、砲台を選択します。
3Dビューの砲台を左ドラッグで回転させます。
砲台に行った回転は子オブジェクトの砲身が受け継いでいますが、
親オブジェクトの本体は一切、影響がありません。
そして鍵のマークをクリックして、また 全てのモデルのキーフレームを追加 します。

 

また、下のスライダーで現在のフレームを20にします。
モデル回転コマンドで砲身を選択し、3Dビューの砲身を左ドラッグで回転させます。
砲身に行った回転は砲身だけが動き、本体と砲台はそのままです。
そして鍵のマークをクリックして、また 全てのモデルのキーフレームを追加 します。

次が最後のキーフレームです。
下のスライダーで現在のフレームを30にします。
モデル回転コマンドで本体を選択し、3Dビューの本体を左ドラッグで回転させ、
後ろを向かせます。
今度は砲身を選択し、少し下に回転させます。
そして鍵のマークをクリックして、 全てのモデルのキーフレームを追加 します。


これでアニメーションが完成しました。
試しに再生ボタンをクリックしてアニメーションを見てみましょう。
正常にアニメーションが再生されるのを確認したら停止ボタンで停止し、
ファイル>名前を付けて保存 で、Cyberdeliaファイルで保存しましょう。
.X形式のアニメーションを読み込む事はできないのでCyberdeliaファイルで
保存しておかないと後でアニメーションが読み込めなくなります。
Cyberdeliaファイルの保存が終わったら、本体の名前をobj1に、砲台をobj2に、
砲身をobj3にします。
日本語名だと DirectX SDK のビューワーで表示できないようです。
そしてまた、ファイル>名前を付けて保存 で今度は DirectXファイルの
.X形式で保存します。
すると次のようなダイアログが出てくるので画像と同じ設定でOKボタンを押します。


試しに DirectX SDK のビューワーでアニメーションを確認します。


これで .Xの階層メッシュアニメーションのファイルが作成できたので次回、中身を
解析してみましょう。

 

 

 

 

最終更新:2011年05月17日 00:02