プロフィール

Na-7

Author:Na-7
SE(システムエンジニア)として約15年間システム系ソフト会社を勤めあげ、2008年3月退社。現在、ゲーム制作会社設立を目指して活動中。


アクセスカウンター


最新記事


最新コメント


最新トラックバック


月別アーカイブ


カテゴリ


DATE: CATEGORY:スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
DATE: CATEGORY:3Dテストプログラム開発
Metasequoia
3Dモデル作成ツールMetasequoia
管理者はこのツールをコンバータとして利用している。




今回の記事は開発日誌です。



◎3Dの壁

3Dテストプログラムの改造目標に「3Dモデル(フリー素材)の取り込み」を掲げましたが、実際にやってみると予想以上に苦労しました。

・3Dモデルのフリー素材は偏りが激しい
・フォーマットの種類が多く、データコンバートが難しい
・モーション(単体アニメーション)作成/再生方法が不明



◎フリー素材の半分は建築系

2D系のフリー画像はネット上に溢れていますが、3D系は比較的少なく、しかも半分は建築設計用素材(テーブルやイスなど)でした。

それ以外では人型や乗り物が多く、目的のテーマに沿った素材はなかなか見付かりません。今回は世界観が不統一な、ヘンなゲームになりそうです。(まぁそれはそれとして面白いかも)



◎フォーマットの問題

さらに素材が限定される要素として、比較的メジャーなフォーマットだけでも10種類近くあり、データの流用性に問題があります。2D画像はコンバートツールが大量に出回っているので問題ありませんが、3Dモデルは理想に近いツールが見当たりません。

結局、Metasequoiaという3Dモデル作成ツールをコンバータの代用にしましたが、今は無料版を使っているため、サポートフォーマットはかなり限定されています。

有料版を購入するとプラグインで殆どのフォーマットに対応できるようですが、金を出すなら他のツールという選択肢もあるので、今後の課題ですね。最後はCG担当者に合わせることになるでしょう。



◎次なる疑問

ようやく3Dモデルを取込可能となり、最初の目標は達成できました。

しかし実際にプロペラ飛行機を取り込んで移動させると、今度はプロペラを回したくなるのが人情というもの。ですが、そうなると次の疑問が生じます。

「プロペラだけならプログラムにベタ書きでも良いが、今後素材が増えたらどうするか?」

例えば、人型キャラクターは「立つ」「歩く」「走る」など、多くの動作を行います。これらを毎回ベタ書きするのは非効率です。動作データは別に保持し、データ追加作業のみで動作パターンを増やせるようにすべきでしょう。そう考えると「そういうツールや手法が確立されているのでは?」との疑問に至り、調べてみることにしました。



◎モーションデータ作成手法

管理者は現在DirectX+XNAで開発していますが、Direct3D(.Xファイル)はファイル内にモーション情報を保持する機能があることが判明したので、まずそのデータを作成する手法を調べてみました。


XSI Mod Tool

XNA向けとしては、マイクロソフト社準公認的なツール。
モデリングからモーション付けまで一本のソフトで出来るようですが、肝心の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ライブラリ制御を試みるつもりですが、果たして上手くいくのやら。

スポンサーサイト

テーマ : ゲーム製作 関連 - ジャンル : ゲーム

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック


この記事にトラックバックする(FC2ブログユーザー)



copyright © ゲーム制作の舞台裏 all rights reserved.Powered by FC2ブログ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。