(2009/05/30)

Softimage Mod Tool と XNA の連携テスト

(その 3:デフォルトモデルシャドウリグ付き)

 

Softimageから取得できるデフォルトモデルを利用してスキンアニメを目指しますが、実際にはモデルが表示されるだけで動かない(アニメしない)手順です。

 

 

◎使用ツール

・XNA 3.0

・Softimage Mod Tool 7.5

・XNAViewer(XNA Viewerのセットアップは別記予定)

 

 

◎モデルの準備

以下、Animateツールバーで作業します。

番号 画面イメージ Softimage Mod Tool操作 詳細
1 作成>キャラクタ>二足ガイド ・表示されたダイアログはそのままOK

・キャラクタのプロポーションに合うようにガイドのプロポーションを修正する

2 作成>キャラクタ>二足ガイドからリグ作成 ・「シャドウリグ」タブの「シャドウキャラクタへのコンストレイント」内の「タイプ」を「ヌル階層」、「オプション」内の「手」を「シャドウフィンガーなし」としてOK
3 取得>プリミティブ>モデル>キャラクタ-男性 ・取得したモデルのパラメータを適当に調整する
4 (モデルを選択した状態で)メインコマンドパネル(画面右)のEdit>フリーズ ・オペレータスタックによる以前の操作修正はできなくなるが、データ量は低減する

・Editメニューが画面下に消えている場合は、SelectやTransform等のメニュー文字部を数回右クリックすると現われる(一回目は表示されないことがある(バグ?)が、Select等を複数回右クリックすると出現する)

以上でモデルの準備が完了しました。ファイル>保存でシーンを保存してください。(今後は適当なタイミングで各自保存してください)

 

◎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 (ExplorerでBiped_Shadowを選択した状態で)XNA Game Studio>Convert to XNA Model ・メッシュモデル(Man_Character配下のCharacter)をBiped_Shadowの階層下にドラッグ&ドロップで移動

以上でXNAモデルへの変換が完了しました。

 

◎エンベロープの設定

番号 画面イメージ Softimage Mod Tool操作 詳細
1 (モデルを選択した状態で)デフォーム>エンベロープ>エンベロープの設定 ・表示されたダイアログは「はい」

・Biped_Shadow階層下のShadow_envelope_group(骨のグループ)をマウス中クリックで選択、右クリックで完了

 

◎アニメーションの登録

番号 画面イメージ Softimage Mod Tool操作 詳細
1 (ExplorerでBiped_Shadowを選択した状態で)XNA Game Studio>Manage Animation ・デフォルトのアクションがリストに表示されているが、これはXNA用ではない

・デフォルトのアクションを削除しても支障は無いと予想するが、確証はないので削除せずに放置しておく

・Character Key Sets内のCharacter Key Set From Deformersボタンを押して、新しいキーセットを作成する(この新しいキーセットが自動的に選択された状態となる)

2 コントローラに対して、適当にアニメーションを付ける

1.タイムライン(画面下)で適当なフレームを選択する

2.Biped階層化の適当なコントローラを選択し、Transform内のrボタン(回転)やtボタン(移動)などを利用して動きを付ける

3.kキーを押してキーを付加する

 

・Biped階層下のcontrols_group階層下のコントローラに対してアニメーションを付ける

・念のため、先頭と最後のフレームにキーを付加すること

・Explorerで、Biped_Guide、Biped_Shadow、Man_Characterをマウス中ボタンで選択してhキーを押し、余計なものは非表示にすると コントローラが選択しやすくなる(再度hキーを押すと非表示解除)

3 モデル全体に対して、適当にアニメーションを付ける

 

・ExplorerでBipedをマウス中ボタンで選択し、前述の要領でモデル全体の動きを付ける
4 ・ディスプレイ>すべてのオブジェクトの非表示解除

・タイムラインの再生ボタン

・アニメーションの動きを確認する

・窓枠右上の「ワイヤフレーム」を「テクスチャ」に変更

・表示がウザければ、hキーを利用して邪魔なオブジェクトを非表示とする

5 (ExplorerでBiped_Shadowを選択した状態で)XNA Game Studio>Manage Animation ・アクション内のNewボタンを押す

・アクションリストに「NewAction」が追加されたことを確認する

・アクション名を変更したい場合はArtion Infoで名称変更する

以上でアニメーションの登録が終わりました。

 

◎マテリアル設定

省略(テクスチャは反映されません)

 

◎ファイルの出力

番号 画面イメージ Softimage Mod Tool操作 詳細
1 (ExplorerでBiped_Shadowを選択した状態で)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)

私のメインPCではこのエラーが発生しました。

これは「グラボが32bitインデックス(要素サイズ)に対応してません」と言ってます(マザーボード内臓グラボで貧弱なため)。

ビルドはできるようなので、リリースビルドでexeを作成し、サブPCに持って行って実行します。

 

◎実行結果(サブPC)


(サブPCのため動画キャプチャはご勘弁ください)

モデルは表示されますが、動きません。但し小さなゴミのようなものが2つセットで動いています。(目??)

尚、XNAViewer付属のキャプテンモデルに表示を切り替えると、スキンアニメします。
(但しテクスチャは真っ黒です。サブPCの環境の問題?)

 

 

◎アニメーションの登録(パターンその2)

アニメーションの登録を、以下の手順で試してみます。

番号 画面イメージ Softimage Mod Tool操作 詳細
1   前述の要領で、モデル全体に対して適当にアニメーションを付ける  
2 (ExplorerでBiped_Shadow配下のCharacterをマウス中ボタンで選択した状態で)ツール>プロット>すべての変換 ・Fカーブオプション内の「プロット値をFカーブにフィット」をチェックしてOK(こうするとデータ量が減る??)
 
3 12.(ExplorerでBiped_Shadow配下のCharacterをマウス中ボタンで選択した状態で)アクション>格納>アニメートパラメータ-Fカーブ&エクスプレッション
 
・新規ソース内のアクション名を指定してOK(デフォルトはStoredFcvAction)

・何やら警告っぽいメッセージが画面下部に表示されるが、英語なのでよくわからない(文字背景オレンジ色で表示され、すぐに消えてしまう)

4

(ExplorerでBiped_Shadowを選択した状態で)XNAメニューにあるManage Animationを選択

・キャラクターキーセットと先程のアクションが登録されていることを確認する

以上でアニメーションの登録が終わりました。以降の手順は改善前と同じです。

 

◎パターンその2の実行結果(サブPC)

モデルは表示されますが、動きません。但し小さなゴミのようなものが2つセットで動いています。最初のパターンと同じ結果でした。

 

 

◎モデルのボーン数チェックについて

(ExplorerでBipedを選択した状態で)XNA Game Studio>Diagnose Modelsとすると、モデルをチェックできます。

※表示されたログをよく見ると、予め選択しているオブジェクトとは無関係に、シーン内の全モデルをチェックしているようです)

表示されたログを見ると、大量のWARNINGが出力されていますが、以前のエラー はありません。BipedとBiped_Shadowを分離して、1モデルあたりのボーン数が減ったため?

 

inserted by FC2 system