« TimeBomb(完成) | トップページ | RenderMapの不具合 »

2007.08.22

TimeBomb(ゲームデータ化?)

Gw20070822183823

Noesisの時限爆弾作成チュートリアルを最後まで完了いたしました。

ただ、チュートリアルそのままだと、あまりにもしょぼーんなデータができあがってしまったので、少し工夫してみました。

まずポリゴン数を減らす作業ですが最終的に4823ポリゴン(三角形)になりました。
銅線(?)やベルト(?)部分をチュートリアルにあったように分割数(?)等を調節するだけでいっきにポリゴン数が減り、あとは見えない部分のポリゴンを削除しただけです。
※見えない部分・・・ダイナマイトの銅線入り口の中・数値入力部の裏・ボタン裏・タイマー裏

次にテクスチャーなんですが、チュートリアルのまんま、すべてのオブジェクトをマージしてRenderMapにかけてしまうと、銅線・ベルト・機械部分・7本のダイナマイト、すべてを1枚にUV展開したテクスチャができあがってしまい、512x512(普通これでも豪華)だとテクスチャがくずれてしまって、あんまりな結果になってしまいました。

そこで、今回はオブジェクト数に制約があるわけではないので、銅線・ベルト・機械部分・7本のダイナマイトをそれぞれ別オブジェクトにして、そのうち、1本のダイナマイトと機械部分をRenderMapでテクスチャを作成することにしました。

ただ2つのオブジェクトのUVを1枚のシートに展開するには工夫がいるようです。

http://www.softimage.jp/xsi/6/video/prelighting.html
このページの3番目の解説を参考に、2つのオブジェクトのUVを1枚に収めました。
そして1本のダイナマイトのUV値(Texture_Projection)を他のダイナマイトにも適用します。

まず ModExplorer でこの状態にしてCtrl+V(コピー)を押します。
Gw20070822191349

そしたら適用する他のダイナマイトの同じ部分を開いて
Gw20070822191416
この状態でCtrl+V(ペースト)します。

あとはダイナマイトのオブジェクトを選択してTextures->[Add]:Image でテクスチャ設定のダイアログを表示します。
Gw20070822192510
[Image]の部分をRenderMapで出力したテクスチャに設定。
[Texture Projection]の部分をコピーしたものに設定。

これをすべてのダイナマイトに適用すれば、RenderMapで吐き出した1枚のテクスチャだけでこの時限爆弾モデルを作ることができます。

ただ私の場合、どうもモデルの形状がよろしくないのか(原因はわからない)、RenderMapに適用されなかったポリゴン部分が数ヶ所あって、真っ黒な部分が出てきてしまいました。
そんなときは元の形状をどうにかしてRenderMapで再度テクスチャを生成するか、あわてず Texture->Projection で不具合の出た部分のUVを確認して、テクスチャにあたらしく書き入れるか、補える部分にUVを移動するかして修正しましょう。

これで完成となるわけですが、せっかくですのでXNA環境に出力して表示してみましょう。

SOFTIMAGE_XNAViewerで表示するにはマテリアルにリアルタイムレンダー用のシェーダーを適用しなくてはいけません。
そうしないとつるつるのなんにもないモデルしか表示することができません。

そこで今回はXNAの3Dモデルの標準ともいえるFBXフォーマットで出力することにします。

出力の仕方は簡単でModExplorerを開いてシーンのルートを選択します。
そうしたら、File->CrossWork->Export FBX...を選択して出力するフォルダを選択してファイル名を設定します。
あとは細かい設定をするダイアログが出ますので適切に設定をして(デフォルトで多分大丈夫)出力します。

私の場合、ここでテクスチャ関連でWarningがでてしまいましたが、気にせずXNAプロジェクトのコンテントに加えます。

モデルを表示するプログラムを組んで、データのテクスチャへのパス等に不具合がなければビルドが通って、きちんと表示されると思います。
Gw20070822184437

BasicEffectで表示しているので、ちょっとピカピカした材質になっちゃいましたけど、無事表示することができました。

|

« TimeBomb(完成) | トップページ | RenderMapの不具合 »

趣味」カテゴリの記事

XNA」カテゴリの記事

グラフィックアプリケーション・ツール」カテゴリの記事

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: TimeBomb(ゲームデータ化?):

« TimeBomb(完成) | トップページ | RenderMapの不具合 »