(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 作成>スケルトン>2Dチェインを描く ・フロントビューにて、下から図のように3ヶ所クリックし最後に右クリックでチェインの描画を終了

・Explorerには「root」が作成されている

2 ・「root」をドラッグ&ドロップで「DeformerRoot」配下に移動する

・「root」を任意の名称に変更する(全角文字不可)
→ここではbodyとした

3 (円柱モデルメッシュを選択した状態で)デフォーム>エンベロープ>エンベロープの設定 ・表示されるメッセージは「はい」を選択し、Explorerで先程移動したbodyをマウス中ボタンクリックで選択し、右クリックで完了

・成功すると、動くポイントがボーンごとに色分けされる

以上でボーン作成とエンベロープ設定が完了しました。

 

◎アニメーションの登録

番号 画面イメージ 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上でワールド座標変換行列を変更するのと同じなので、これでは意味がありませんね…。

 

inserted by FC2 system