プロフィール

Na-7

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


アクセスカウンター


最新記事


最新コメント


最新トラックバック


月別アーカイブ


カテゴリ


DATE: CATEGORY:スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
DATE: CATEGORY:3Dテストプログラム開発
XNA3.0でスキンアニメーション
XNA3.0上で実行した画面。ACL2.0と全く同じ手順でスキンアニメーションができる。詳細はコチラ



◎XNA3.0に移行すべきか?

元SEの性(?)なのか、私は特に必要がない場合はソフトウェアのバージョンアップをしないタイプです。
手間がかかるし、不具合が発生すると嫌なので、安定環境のまま延々と引っ張ります。

XNA3.0はZune対応をウリとしていますが、私はZune対応する予定はありません。そのためXNA3.0は私にとって魅力が少ないように感じます。

しかし今は三国志軍記のプログラム開発を始める所です。移行には絶好のタイミングと言えるでしょう。そこで今回は移行するメリットとデメリットを整理し、移行可否を検証します。



◎メリットとデメリット

私がXNA2.0からXNA3.0に移行するメリットを記述します。

A:コンテンツが圧縮されてファイルサイズが小さくなる
B:マイクロソフト社のサポートを長く受けられる
C:将来XNAをさらにVersionUPする時のリスクが少なくなる

また、デメリットは以下の通りです。

a:移行に手間がかかる
b:不具合が発生する可能性がある
c:ヘルプやサポート情報が日本語化されてないものが多い
d:アニメーションライブラリ(ACL2.0)が動かない可能性が高い

…正直あまりメリットは感じませんね~。直接的なメリットはAだけですか?

まぁ、既存の資産は少ないので、aとbはちょっと頑張れば何とかなるでしょう。cは時間が解決すると思うので、それまで耐えるだけの話ですが、dが解決できないと致命的ですね。



◎XNA2.0からXNA3.0への移行

マイクロソフト社のHPを確認すると、XNA2.0とXNA3.0は同居可能とありました。これはありがたいですね!昔の資産は無理に移行せずに済みますし、移行する場合でもそれぞれの環境で試しながら移行できます。
ちょっと意欲が湧いてきましたよ!というわけで検証開始!

・念のため既存ファイルをバックアップ
・Visual C# 2008 Express Edition と XNA3.0 をインストール
・Visual C# 2008 で XNA2.0 のソースを開くと、VisualStudio変換ウィザードが自動起動する(バックアップも行われる)

で、変換後のプログラムをビルドすると、ACL2.0関連でエラーになりました。予想通りですね~。

プロジェクトに「参照の追加」でACL2.0を登録しても、ContentProcessorの候補一覧にACL2.0が追加されません。やはりXNA3.0でACL2.0は使えないようです。



◎アニメーションライブラリの移行

私は今回XNA3.0+XNAnimation(ACLとは別のアニメーションライブラリ)を試そうと思っていたのですが、その前にACLのホームページを確認すると…あれっ?11/26にACL3.0らしきものがUPされてるじゃないですか!
これはタイミング的にかなりラッキーかも…早速検証開始!

例によってDwarfTutorial 3.0があったので、これをゲットして解凍すると、プロジェクトファイル名は「DwarfTutorial 2.0.sln」となっています。
とりあえずXNA3.0上で実行すると…XNA3.0上で問題なく動きました。ファイル名は昔のままですが、DLLはちゃんとXNA3.0に対応しているようですね。

新規プロジェクトを作成して「XNA2.0でスキンアニメーション」の手順に従ってやってみると…おおっ動きました!手順もソースも全くそのままで動きましたよ!(冒頭図参照)

XNA2.0からXNA3.0にコンバートした既存プロジェクトのDLLを上書きコピーすると…ソース一切変更無しで動きました!DLL作者さんありがと~!(^^)



◎3Dテストプログラムの移行

これだけ手軽に移行できると、どこまで出来るか試してみたくなりました。というわけで、既存プログラムの中で最も複雑な3Dテストプログラムの移行にチャレンジ!

…エラーになりました。アニメーション系ではなく、漢字表示を実装しているコンテントパイプライン系のようです。
はぅ~!

コンテントパイプライン系ってちょっと苦手なんですよね~。もっと単純な実装にすれば良かったかなぁ…ブツブツ…。

まぁXNA2.0と3.0は同居できるので無理に移行する必要は無いんですけど、勉強がてら少し調べてみますかね…。



◎最後に

今回はXNA3.0+XNAnimationの検証になると思っていたのですが、話は意外な方向に進んできましたね~。
一応簡単にまとめると

・ACLの移行は、DLLを上書きコピーするだけ
・コンテントパイプライン系で問題あり?(調査は後日)

尚、ACL3.0にはXBOX360用のDLLも同梱されていますが、私はXBOX360不所持のため動作検証していません。
もし誰か検証したら、結果を教えてください。よろしく~。

スポンサーサイト

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

コメント

3.0移行の最大のメリットはXbox LIVe コミュニティーゲームでの販売が可能という事だと思いますよ

コメントありがとうございます

記事をUPしてすぐのコメントで驚きましたよ~(笑)

ご指摘のとおり、Xbox LIVe コミュニティーゲームの配信サービスは、(XNAだけでなくゲーム業界全体において)将来のゲーム流通形態の先駆けとして注目されてますね!

日本ではまだサービス開始されてない&製作中のゲームが日本語ベースのため、私の頭から抜け落ちてましたが、将来的にはどこかで恩恵を受けるかもしれませんね。ゆるゆると期待しましょ~!

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

コメントの投稿


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

トラックバック


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



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