(2009/05/27)
Softimage Mod Tool と XNA の連携テスト
( その
1:オリジナルモデル)
オリジナルモデルを作成してスキンアニメを目指しますが、実際にはモデルが表示されるだけで動かない(アニメしない)手順です。
◎使用ツール
・XNA 3.0
・Softimage Mod Tool 7.5
・XNAViewer(XNA Viewerのセットアップは別記予定)
◎XNA用シーンの準備
番号
画面イメージ
Softimage Mod Tool操作
詳細
1
XNA Game Studio>Connect
to XNA Project
・XNA Project
Pathを指定してOK
・SOFTIMAGE_XNAViewer.slnの親フォルダではなく、SOFTIMAGE_XNAViewerフォルダを指定する
(例:C:\Documents and Settings\username\My Documents\Visual Studio
2008\Projects\XNAViewerTest1\SOFTIMAGE_XNAViewer)
・パスを初めて指定した場合、Softimageデータ格納用の空フォルダが沢山作成される(この機能のパスを使わないと、エラーチェック機能でエラーと表示されるので素直に使う方が無難)
2
XNA Game Studio>New XNA
Scene
・作業中のシーンを保存するか聞かれたら、適当に対処する(不要であれば「いいえ」)
◎モデルの準備
モデルとなる円柱を作成します。以下、Animateツールバーで作業します。
番号
画面イメージ
Softimage Mod Tool操作
詳細
1
取得>プリミティブ>ポリゴンメッシュ>円柱
・Geometryのサブディビジョン内のvを8とする
2
(モデルを選択した状態で)メインコマンドパネル(画面右)のEdit>フリーズ
・オペレータスタックによる以前の操作修正はできなくなるが、データ量は低減する
・Editメニューが画面下に消えている場合は、SelectやTransform等のメニュー文字部を数回右クリックすると現われる(一回目は表示されないことがある(バグ?)が、Select等を複数回右クリックすると出現する)
以上でモデルの準備が完了しました。ファイル>保存でシーンを保存してください。(今後は適当なタイミングで各自保存してください)
◎XNAモデルへの変換
番号
画面イメージ
Softimage
Mod Tool操作
詳細
1
XNA Game
Studio>Create Skinned Model
・画面には箱が表示され、Explorer(8キーを押して起動)には「Model」が追加される
・Modelの下の「SkinnedMesh」を選択し、Delキーを押して削除する(画面に表示されていた箱も同時に消える)
2
−
・「cylinder」をドラッグ&ドロップで「Model」配下に移動する・「Model」を任意の名称に変更する(全角文字不可)
→ここではSkinModel01とした
以上でXNAモデルへの変換が完了しました。
◎ボーン作成とエンベロープ設定
以上でボーン作成とエンベロープ設定が完了しました。
◎アニメーションの登録
番号
画面イメージ
Softimage Mod
Tool操作
詳細
1
XNA Game Studio>Manage Animation
・アニメーションマネージャを開くと、自動的にキーセットが初期化される
・キーセットリストにキーセットが登録されたことを確認する(このキーセットが「現在のキーセット」として自動的に選択された状態となっている)
2
ボーンに対して、適当にアニメーションを付ける1.タイムライン(画面下)で適当なフレームを選択する
2.適当なボーンを選択し、Transform内のrボタン(回転)やtボタン(移動)などを利用して動きを付ける
3.kキーを押してキーを付加する
・念のため、先頭と最後のフレームにキーを付加すること
3
モデル全体に対して、適当にアニメーションを付ける
・ExplorerでSkinModel01を選択し、前述の要領でモデル全体の動きを付ける
4
・タイムラインの再生ボタン
・アニメーションの動きを確認する
5
XNA Game Studio>Manage Animation
・アクション内のNewボタンを押す・アクションリストに「NewAction」が追加されたことを確認する
・アクション名を変更したい場合はArtion Infoで名称変更する
以上でアニメーションの登録が終わりました。
◎マテリアル設定
省略(テクスチャは反映されません)
◎ファイルの出力
番号
画面イメージ
Softimage Mod
Tool操作
詳細
1
(ExplorerでBipedを選択した状態で)XNA Game Studio>Publish Models
・ファイルの出力先パスとモデル名を指定する
(例:C:\Documents and Settings\username\My Documents\Visual Studio
2008\Projects\XNAViewerTest1\SOFTIMAGE_XNAViewer\Content\Models\SkinModel01.xsi)
以上でファイルの出力は完了しました。XNAViewerで読み込んで表示します。
◎実行結果(メインPC)
モデルは表示されますが、動きません。Playback
stateをTrueとしても、スキンアニメもしませんし、モデル全体も動きません。
尚、XNAViewer付属のキャプテンモデルに表示を切り替えると、スキンアニメします。テクスチャもきちんと再生されています。
◎アニメーションの登録(パターンその2)
アニメーションの登録を、以下の手順で試してみます。
番号
画面イメージ
Softimage
Mod Tool操作
詳細
1
(ExplorerでSkinModel01配下の
「cylinder」を選択した状態で)モデル全体に対して適当にアニメーションを付ける
・移動や回転を行ってもボーンやメッシュは連動しないが構わず続行する
2
(ExplorerでSkinModel01配下の
「cylinder」を選択した状態で)ツール>プロット>すべての変換
・Fカーブオプション内の「プロット値をFカーブにフィット」をチェックしてOK(こうするとデータ量が減る??)
3
(ExplorerでSkinModel01配下の
「cylinder」を選択した状態で)アクション>格納>アニメートパラメータ-Fカーブ&エクスプレッション
・「ソース作成完了後」内の「オリジナルアニメーションの削除」にチェックが付いていると、この後再生ボタンを押してもアニメしなくなるので、動かしたい場合はチェックを外す
・新規ソース内のアクション名を指定してOK(デフォルトはStoredFcvAction)
4
XNA Game Studio>Manage Animation
・キャラクターキーセットと先程のアクションが登録されていることを確認
以上でアニメーションの登録が終わりました。以降の手順は改善前と同じです。
◎パターンその2の実行結果
スキンアニメではなく、モデル全体がそのままの形で移動回転します。
XNA上でワールド座標変換行列を変更するのと同じなので、これでは意味がありませんね…。