
3Dモデル作成ツール
Metasequoia管理者はこのツールをコンバータとして利用している。
今回の記事は開発日誌です。
◎3Dの壁3Dテストプログラムの改造目標に「3Dモデル(フリー素材)の取り込み」を掲げましたが、実際にやってみると予想以上に苦労しました。
・3Dモデルのフリー素材は偏りが激しい
・フォーマットの種類が多く、データコンバートが難しい
・モーション(単体アニメーション)作成/再生方法が不明
◎フリー素材の半分は建築系2D系のフリー画像はネット上に溢れていますが、3D系は比較的少なく、しかも半分は建築設計用素材(テーブルやイスなど)でした。
それ以外では人型や乗り物が多く、目的のテーマに沿った素材はなかなか見付かりません。今回は世界観が不統一な、ヘンなゲームになりそうです。(まぁそれはそれとして面白いかも)
◎フォーマットの問題さらに素材が限定される要素として、比較的メジャーなフォーマットだけでも10種類近くあり、データの流用性に問題があります。2D画像はコンバートツールが大量に出回っているので問題ありませんが、3Dモデルは理想に近いツールが見当たりません。
結局、Metasequoiaという3Dモデル作成ツールをコンバータの代用にしましたが、今は無料版を使っているため、サポートフォーマットはかなり限定されています。
有料版を購入するとプラグインで殆どのフォーマットに対応できるようですが、金を出すなら他のツールという選択肢もあるので、今後の課題ですね。最後はCG担当者に合わせることになるでしょう。
◎次なる疑問ようやく3Dモデルを取込可能となり、最初の目標は達成できました。
しかし実際にプロペラ飛行機を取り込んで移動させると、今度はプロペラを回したくなるのが人情というもの。ですが、そうなると次の疑問が生じます。
「プロペラだけならプログラムにベタ書きでも良いが、今後素材が増えたらどうするか?」
例えば、人型キャラクターは「立つ」「歩く」「走る」など、多くの動作を行います。これらを毎回ベタ書きするのは非効率です。動作データは別に保持し、データ追加作業のみで動作パターンを増やせるようにすべきでしょう。そう考えると「そういうツールや手法が確立されているのでは?」との疑問に至り、調べてみることにしました。
◎モーションデータ作成手法管理者は現在DirectX+XNAで開発していますが、Direct3D(.Xファイル)はファイル内にモーション情報を保持する機能があることが判明したので、まずそのデータを作成する手法を調べてみました。
・
XSI Mod ToolXNA向けとしては、マイクロソフト社準公認的なツール。
モデリングからモーション付けまで一本のソフトで出来るようですが、肝心のXNA連携関連資料の日本語化が進んでおらず、まだよくわかりません。
無料ですが商用利用不可とのこと。金を払えば商用利用出来るか不明。
ツール本体の日本語マニュアルはありましたが、日本ではマイナーツールなので関連情報に乏しいのが難点です。
・Metasequoia + Cyberdelia (
参考)
参考記事を見る限り、一番手軽な方法のようです。但し、スキンメッシュタイプ(より細かい動きを再現可能)やマルチモーション(複数の動きを登録する)は非対応とのこと。
追記(2008/8/15)最新版の Cyberdelia では、正常な.Xファイルが出力されないようです。詳細は
こちら
・六角大王(or Metasequoia) + RokDeBone2 (
参考)
スキンメッシュやマルチモーションに対応したXファイルが無料で作成可能です。
・Metasequoia +
エルフレイナスキンメッシュやマルチモーションに対応したXファイルが有料版(2000円)で作成可能です。
ブレンドアニメーション(2つの動作をミックス可能)やUVアニメーション(画像移動による表情変化など)をサポートしています。
また、ヘルプウィザードや公式サイトの解説が充実しています。
◎モーションデータ再生手法モーションデータは.Xファイルに内臓出来るのに、それをXNA標準機能だけでは再生出来ないらしく、先駆者達はいろいろ試行錯誤してました。
・
XNA公式サイトのサンプルソースを流用する
英語な上にコンテントパイプラインの知識が必要らしく、ハードルが高そうな印象を受けました。
また、再生精度が悪いとかブレンドアニメーションサンプルが無いなど、国内先駆者達の評判は悪く、各自でいろいろ改造しているようですが、その解説も難解で話に付いていけませんでした。
・
Animation Component ライブラリ を活用する
海外では広く使われているようですが、例によって英語のため、使用条件や使用方法など不明です。国内先駆者達の評価は賛否両論でした。
追記(2008/8/15)このサイトで直接公開されているライブラリは XNA 1.x 用らしく、XNA 2.0 では動作しない可能性があります。(
参考)
・その他のXNAライブラリを活用する
先に挙げた「XSI Mod Tool」等は独自ライブラリを提供していると思われるので、それらを活用するという手法です。但し、海外モノは2バイト文字が使えない等、試行錯誤する先駆者達が散見されました。
・Direct3Dライブラリを活用する
XNAからの利用が難しいなら、Direct3Dを直接操作する方が早いかもしれません。
但し、XNA制御とDirect3D直接制御が混同すると誤動作するかもしれません。
◎最後に
最初はモーション再生などするつもりは無かったのですが、いろいろ調べているうちに、少し興味が湧いてきました。これを機に、ちょっとだけデータ作成を体験してみようかと。
一方、Direct3Dはファイル内にモーション情報を保持できるのに、それをXNA標準機能で再生できないのはちょっとがっかりです。とりあえずDirect3Dライブラリ制御を試みるつもりですが、果たして上手くいくのやら。
テーマ : ゲーム製作 関連 - ジャンル : ゲーム