「プロジェクトの種類がこのインストールでサポートされていません」と言われたら

最近一児のパパになった、Aaron Stebnerから「日本でも同じ問題にあっている人がいるから日本語に訳してよ」とのリクエストがあったので、この投稿を訳しました。 XNA Game Studioで作ったプロジェクトを開こうとすると、 プロジェクトの種類がこのインストールでサポートされていません と、いうエラーメッセージが表示される場合があります。このエラーメッセージの原因と対処方法を幾つか紹介したいと思います。 問題1:システムにインストールされていないバージョンのプロジェクトファイルを開こうとした システムにインストールされているバージョンと違うプロジェクト(例えば、クリエーターズ・クラブ・オンラインのサンプルプロジェクトなど)を開こうとした場合、このエラーメッセージが出る可能性があります。 XNA Game Studioにはプロジェクトファイルの自動更新機能もありますが、この機能がサポートしているのは以下のケースのみです。 インストールされている XNA Game Studioのバージョン 自動更新が対応している プロジェクトファイルのバージョン XNA Game Studio 2.0 XNA Game Studio Exrepss 1.0/1.0 Refresh XNA Game Studio 3.0 XNA Game Studio 2.0 XNA Game Studio 3.1 XNA Game Studio 2.0/3.0 これ以外のケースでは、このエラーメッセージが表示されます。 例えば、XNA Game Studio 3.0で作られたプロジェクトわXNA Game Studio 2.0しかインストールされていない環境、もしくはVisual Studio 2008しかインストールされているけど、XNA Game…

0

日本でXNA クリエーターズ クラブ オンラインサイトが開設

XNA クリエーターズ クラブ オンラインサイトが更新 今日(北米時間の7月23日)にクリエーターズ・クラブ・オンラインサイトが更新されました。新しくなった内容は以下のとおりです。 日本語サイトの開設 ラーニング用のサンプルも日本語化 日本語版フォーラムの開設 Xbox LIVE インディーズ ゲームに名称変更 日本を含む新しい地域からのゲーム投稿受付開始 ゲーム販売価格の変更 遂に日本語サイトがオープンしました。サイトのインターフェースの他にもサンプルコードも日本語化されています。また、日本語フォーラムも開設されたので、日本語でXNA Game Studio、クリエーターズクラブに関する技術的な質問や要望をやり取りすることができます。 新地域の追加 本日付けでXbox Liveコミュニティゲームから「Xbox Liveインディーズゲーム」へと名称が変更され、配信可能な地域に日本、ドイツ、シンガポール、そしてスウェーデンの四カ国が新たに追加され、今までに配信可能だった米国、英国、イタリア、カナダ、スペイン、フランスの計十カ国で配信可能となりました。 日本地域向けゲームのピアレビュー開始 新しく追加された地域向けのゲーム投稿は本日からできるようになっています。ですが、実際にユーザーがゲームを購入できるようになるのは8月11日(北米時間)のXbox 360 ダッシュボードアップデート後になります。今日から8月11日までの三週間弱の期間中にピアレビューを通過したゲームは8月11日に遊べることになります。 Xbox Live インディーズゲームの価格変更 インディーズゲームの価格は以下の三つになり、これらの価格は今日から選択できるようになっています。 400ポイント 240ポイント 80ポイント(容量が50MB以下のゲームのみ) この変更は10月22日を基点として段階的に行われます。現行価格の変更は以下のようになります。   2009年10月22日まで 2009年10月22日以降 200ポイント 価格選択肢の中から削除。 ゲームの更新時、または新価格更新イベント中に新価格に変更できる。 新価格への更新が済んでいない場合は自動的に80ポイントに変更される。 400ポイント 選択可能。 ゲームの更新時、または新価格更新イベント中に新価格に変更できる。 そのままの価格。 800ポイント 選択可能。 ゲームの更新時、または新価格更新イベント中に新価格に変更できる。 価格選択肢の中から削除される。ゲームの更新をしないかぎり、価格はそのまま。更新時には新価格を選択する必要がある。   世界から、そして世界へ向けてのゲーム配信 今回のアップデートで日本に住んでいる人達が日本向けのゲームを配信できるようになった訳ですが、日本だけでなく、他の国へのゲーム配信もできるので、是非、日本以外の地域へのゲーム配信にも挑戦してみてください。逆に他の国から日本地域へのゲーム配信も可能になった訳ですから、8月11日には日本からではなく海外から投稿されたゲームも遊べるようになることでしょう。

2

アバターを使おう その4:カスタムアニメーション

Creators Club Onlineサイトでアバターのカスタムアニメーション関連のサンプル等が公開されました。内容的には以下の三つになります。いずれもプレミアムコンテントになっているので、ダウンロードするにはCCO会員になっている必要があります。 Custom Avatar Animation Sample(カスタムアニメーションサンプル) Avatar Animation Rig(アバターアニメーション生成用のリグ) Avatar Animation Pack(アバターアニメーションパック) Custom Avatar Animation Sample このサンプルではアバターを自分のゲーム内で自由にアニメーションさせるための有用な情報が提供されています。3Dモデリングツール上でアニメーションリグを使って作ったアニメーションデータを作り、カスタムコンテントプロセッサーを介してFbxファイルから読み込み、CustomAvatarAnimationPlayerを使って任意のアニメーションをゲーム内で再生するという流れになっています。 Avatar Animation Rig キャラクターアニメーションを作るときにひとつひとつのボーンをアニメーションさせるのは非常に面倒で時間の掛かる作業なので、その作業時間を軽減するためにリグ(Rig)と言われるものを使います。ここではMayaとSoftimage Mod Tool用のアニメーションリグをダウンロードすることができます。 Softimage Mod Toolの画面   Maya 2008上での画面 Avatar Animation Pack これはゲームなどでよく使われるアニメーションデータをダウンロードすることができます。アニメーションデータはFbxファイル、Maya、そしてSoftimage Mod Tool用の三種類のファイル形式が用意されています。 アニメーションは21種類あり、歩く、走る、ジャンプといった基本的な移動アニメーションの他にも座る、倒れる、泳ぐといったものがあるので、アニメーションを作るときに参考にしたり、ゲームの雛形を作るときに仮データとして使えます。

0

XACT3の新機能

  XACTプロジェクトファイル、XAPファイルのアップデート XNA Game Studio 3.1ではXACTのバージョンが3へと更新されました。XNA Game Studio 3.0で作ったプロジェクトをそのままコンパイルするときには問題ありませんが、3.1へアップグレードし、そのプロジェクト内にXACT2で作ったXAPファイルが含まれている場合、コンパイル時に以下のエラーメッセージが表示されます。 XACT2で作られたXAPファイルはXACT3ツール上で読み込み、保存することでXACT3用のXAPファイルへと更新できます。XACT3ツールはスタートメニュー/XNA Game Studio 3.1/Tools/Microsoft Cross-Platform Audio Creation Tool 3 (XACT3)を選択することで起動できます。 XACT3ツール上でXACT2で作られたXAPファイルを読み込むと、以下のメッセージが表示されます。意味的には「このプロジェクトファイルのバージョンは古いけど、保存すると更新するよん、でも更新すると古いツールでは読めなくなるから注意してね」といった感じです。 OKボタンを押した後に、File/Save Projectでプロジェクトを保存します。 XACT3の新機能 XACT3では以下の二つの機能が追加されました。 xWMAの追加 トラック単位のフィルターコントロール xWMAはWMAから派生したエンコード方式でXMAエンコード方式よりも更に良い圧縮率を実現できるエンコード方式です。ただし、XMAエンコード方式よりCPU負荷が高いので、BGMや台詞といった音声データを再生するのに向いています。CPU負荷が高くなりますが、Xbox 360上ではゲームのメインスレッド以外のコアでデコーディングするので、ゲーム速度への影響がないのも魅力的です。また、XMAはXbox 360上でしか使えませんが、xWMAはXbox 360、Windowsの両方で使用することができるので、両プラットフォームで音声データが同等のサイズになります。 以下はそれぞれの方式で圧縮したサイズの例です。 圧縮方式 サイズ 圧縮率 PCM(オリジナル) 15.0MB 100% ADPCM 4.1MB 27% XMA 1.33MB 8.9% xWMA 1.02MB 6.8% xWMAの使い方は以前紹介した圧縮方式の指定の仕方と一緒です。XACT2ではPCM/ADCPM/XMAの三種類しか指定できなかったのが、XACT3では以下のようにxWMAが追加されたので、Compression Presetsのプロパティで形式を選択し、WaveBankで選択したWaveプロパティでプリセットを設定します。 注意点としてはxWMA形式はストリーミング用のWave Bank内のWaveのみにしか適用できません。インメモリ形式のWave Bankで使用すると実行時にWave Bank初期化に失敗し、例外が発生します。 トラック単位のフィルター処理は、Sound Bank内のSoundを選択したときに右上に表示されるトラックに対してフィルター効果を追加できるようになりました。例えば室内コンサート会場の外にいたり、水中に潜っている場合、聞こえてくるのはオリジナル音の低音部のみなのでLow Passフィルターを使うこで同じ効果を表現できます。また、イヤホンで音楽を聴いている人のそばにいるときに聞こえるのは元の音楽の高音部分なのでHigh…

0

日本語版 XNA Game Studio 3.1がリリース

日本語版 XNA Game Studio 3.1がリリースされました。日本語版XNA GSではVisual Studio上のインターフェース、コンテントのコンパイル時のエラーメッセージ、ランタイム時に発生する例外のメッセージが日本語化されています。 機能的には先月リリースされた英語版と同じです。 http://blogs.msdn.com/ito/archive/2009/06/11/xnags-3-1-released.aspx 以下は日本語版XNA Game Studio 3.1に関する情報URLです。 ダウンロード: http://creators.xna.com/en-US/japan/ 新機能の説明: http://creators.xna.com/en-us/japan/xnags3.1whatsnew Readme: http://creators.xna.com/en-us/japan/xnags3.1readme MSDNヘルプ: http://msdn.microsoft.com/ja-jp/library/bb200104.aspx 以下は、このブログで紹介した3.1で追加された機能の説明です。 3.1用プロジェクトへのアップグレード 動画再生 自動XNBファイルシリアライズ アバターを使おう その1:アバターを表示する その2:基本アニメーション その3:喜怒哀楽 XNA Game Studio 3.1のSoundEffect変更点

0

XNA Game Studio 3.1のSoundEffect変更点

XNA Game Studio 3.1のSoundEffect ゲームで使用する効果音を簡単に再生するためにXNA Game Studio 3.0で導入されたSoundEffect機能がありますが、この機能は以下の二つのシナリオを実現するようにデザインされました。 簡易再生(Fire & forget): プログラムは単にPlayメソッドを呼ぶだけ。後は効果音が鳴り終わった後に自動的にメモリ開放処理をしてくれる機能 生成と設定(Create & configure): 効果音を鳴らしている間に、音量、再生ピッチ、パンなどのさまざまなパラメーターを自由に設定できる機能。細かい設定ができる代わりに、プログラム側で再生中のインスタンスの保持、管理をする必要がある この二つのシナリオを実現する為に、XNA GS 3.0ではSoundEffect.Play、SoundEffect.Play3DメソッドはSoundEffectInstanceオブジェクトを返すようになっていました。再生中に設定を変更したい場合は、このインスタンスに対して処理をします。簡易再生させたい場合はインスタンスを保持しないでおきます。この場合、次にガーベージコレクション(GC)が発生した時に再生が終了したインスタンスを破棄するようになっていました。 この方法には以下の二つの問題がありました。 Play/Play3Dメソッドには、プログラムが簡易再生をしたいのか、細かい設定をしたいのかを知る術がないので常にSoundEffectInstanceを生成していました。これは簡易再生をしている場合に常に不必要なメモリ確保が起きていることになります。 確保されたSoundEffectInstanceはGCが発生された時に再生が終了しているインスタンスを自動的に破棄されるようになっています。GCがいつ発生するかはゲームがどのようにメモリを確保するかによって左右されます。GCの不必要な発生はゲームのパフォーマンスに影響するので、極力GC発生を抑えるようにプログラミングするのが望ましいのですが、GC発生数が少ないと、SoundEffectinstanceを開放する機会が減るのことになるので、最終的には同時再生できる効果音の上限に達してしまいます。 XNA GS 3.1では、この二つのシナリオを明確に分けることで、この問題を解決しました。 SoundEffect.Playメソッドは簡易再生専用のメソッドとなり、SoundEffectInstanceではなく、bool値を返すようになりました。このbool値は単純に再生が成功したかを示します。これで不必要なメモリ確保がなくなりました。また、このメソッドを使った場合はループ再生ができないようになっています。 生成と設定のシナリオ用にSoundEffect.CreateInstanceメソッドが追加されました。このメソッドはSoundEffectInstanceを返すので、このオブジェクトを介して音量、ピッチ、パンなどを設定することができます。 SoundEffect.Play3Dメソッドは無くなりました。3Dサウンドを再生する場合は、SoundEffect.CreateInsntaceメソッドを使い、SoundEffectInstance.Apply3Dメソッドを使用します。3Dサウンドは簡易再生することができません。 また、XNA GS 3.0では再生数が上限に達したときに更に効果音を再生しようとするとInstancedPlayLimitException例外が発生しました。XNA GS 3.1でもCreateInstanceメソッドを使った場合には同じように例外が発生しますが、簡易再生の場合は例外を発生せずに単にbool値を返すようになっています。ですから、簡易再生時にいちいちtry~catchブロックを書く必要がなくなりました。 原文: http://blogs.msdn.com/shawnhar/archive/2009/06/12/soundeffect-changes-in-xna-game-studio-3-1.aspx

0

アバターを使おう その3:喜怒哀楽

警告:画像が沢山あるので、重いかも。 アバターの表情(Expression)を自由に設定する AvatarRenderer.Drawメソッドにはアバターのボーンと表情を指定することができます。基本アニメーションを使っている場合はAvatarAnimation.Expressionを指定しますが、ボーンと同じく、AvatarExpressionも自由に作ることができるので、アバターの表情を自由に変えることができます。 AvatarExpressionには以下のプロパティがあります。 LeftEye (左目) LeftEyebrow (左眉) Mouth (口) RightEye (右目) RightEyebrow (右眉) LeftEye、RightEyeにはAvatarEye列挙型、LeftEyebrow、RightEyebrowにはAvatarEyebrow列挙型、MouthにはAvatarMouth列挙型を設定することができます。 左右の目や眉に独立した値を設定できるので、ウィンクさせるといったことも可能です。眉と目、そして口のパターンと合わせると約6万9千通りの表情を設定することができます。これだけの数があるので、喜怒哀楽といった基本的な表情の他にも多彩な表情を表現することができるようになっています。 以下はそれぞれの列挙型の値と、その説明です。 AvatarEyebrow列挙型 値 説明 Angry 怒り、眉を吊り上げる Confused 困惑、眉を曲げる Neutral 自然な眉のかたち Raised 眉をあげる。驚いたときなどに使える Sad 悲しみ、眉がさがる。眠たい表情にも使える AvatarEye列挙型 値 説明 Angry 怒り、目がつりあがっている Blink まばたき、目を閉じている状態 Confused 困惑、より目、または見上げている感じ Happy ハッピー、目が大きくひらき、目尻が下がっている Laughing 笑い、目を細めている LookDown 下を見る LookLeft 左を見る LookRight 右を見る LookUp 上を見る Neutral 自然な目の形 Sad 悲しみ、目尻が下がる…

0

アバターを使おう その2:基本アニメーション

アバターの基本アニメーション AvatarAnimationを生成するときに指定するAvatarAnimationPreset列挙型には31種類の基本アニメーションが宣言されています。内訳として、11種類の男女共通のアニメーションと、性別毎に違うアニメーションが10種類となっています。 男性アバター向けのアニメーションはMaleで始まり、女性アバター向けのアニメーションはFemaleで始まるようになっています。通常はAvatarDescription.BodyTypeによって性別ごとにアニメーションを切り替えて使用しますが、アニメーションは性別に関係なく使えるので、意図的に男性アバターに女性アバターのアニメーションを再生させるということもできます。 男女共通のアニメーション 以下は男女共通アニメーション名と、その説明です。 アニメーション名 説明 Stand0 基本姿勢アニメーション、身体的アニメーションは殆どなく、瞬きする程度。 Stand1 基本姿勢アニメーションに加えて、数秒間軽く上を見上げる動作。 Stand2 基本姿勢アニメーションに加えて、左、上方向に顔を向ける動作。 Stand3 基本姿勢アニメーションに加えて、左右を見渡した後に軽く首をかしげる動作。 Stand4 軽く右足を上げて、つま先を見つめる。 Stand5 両手を広げて、前後に振る。 Stand6 足元を見回す動作。 Stand7 頭を左右に傾けた後に、首を回す動作。 Clap 笑顔で拍手する。 Wave 笑顔で手を振る。 Celebrate 喜びの動作。アバター生成画面でアバターを選択したときにするアニメーションと同じもの。 性別によって違うアニメーション 以下は性別によって異なるアニメーションをまとめた表です。殆どのアニメーションはMaleLaugh、FemaleLaughといった感じで同じタイプのアニメーションが用意されています。例外としてはMaleIdleCheckHand,FemaleIdleCheckNails,MaleIdleStretch,FemaleIdelFixShoeの四つのアニメーションがあります。 同じタイプのアニメーションでも、例えば笑うアニメーションの場合、男性はひざを叩いて笑う動作をするのに対して、女性は手を前にかざして笑うといった違いがあります。 男性用アニメーション名 女性用アニメーション名 説明 MaleIdleCheckHand FemaleIdleCheckNails 男性は肩を軽くまわした後に自分の手を見つめる動作。 女性は爪を見つめる動作。 MaleIdleLookAround FemaleIdleLookAround あたりを見回す動作。 FemaleIdleShiftWeight MaleIdleShiftWeight 重心を左右の足に移動する動作。 MaleIdleStretch FemaleIdleFixShoe 男性はストレッチ動作、女性は靴の様子を見る動作。 MaleAngry FemaleAngry 怒る。 MaleConfused FemaleConfused 困惑。 MaleLaugh…

0

3.1用プロジェクトへのアップグレード

XNA Game Studio 3.1ではXNA Game Studio 3.0のプロジェクトを3.1用にアップグレードすることができます。3.0で作ったプロジェクトをVisual Studioで開き、ソリューション・エクスプローラーで更新したいソリューションを右クリックで表示されるメニューの「Upgrade Solution…」を選択すると、3.1のプロジェクトへアップグレードします。 一旦3.1へアップグレートした後は、3.0のプロジェクトにダウングレードする方法は提供されていないので、3.0のプロジェクトを何らかの理由で残しておきたい場合は更新する前にバックアップしておくといいでしょう。 今まで紹介してきた以下のサンプルをXNA Game Studio 3.1用のプロジェクトにアップグレードしたので、以下に記事と新しいプロジェクトへのURLをまとめておきました。 基本的にはプロジェクトの更新のみですが、ソースコードファイルのエンコーディングをシフトJISからUnicode (UTF-8 シグネチャ (BOM) 付き) – コードページ 65001へ変更してあります。これはサンプルプログラムを日本語以外の環境で開くとコンパイルできないという問題を解決するためのものです。Visual Studioやメモ帳などのアプリケーションではUTF-8に対応しているので問題はありませんが、対応していないエディターでコードを開くときには日本語部分が正しく表示されないので注意してください。 vFetchでスキンアニメーション http://higeneko.net/hinikeni/sample/xna31/vFetchSkinningSample.zip 頂点テクスチャでスキンアニメーション http://higeneko.net/hinikeni/sample/xna31/TexSkinningSample.zip クォータニオンでスキンアニメーション http://higeneko.net/hinikeni/sample/xna31/QuatSkinningSample.zip デバッグサンプル http://higeneko.net/hinikeni/sample/xna31/DebugSample.zip Gamefest Japan 2008 デモプログラム http://higeneko.net/hinikeni/sample/xna31/GamefestJapan2008Demo.zip 簡単(かもしれない)日本語表示 http://higeneko.net/hinikeni/sample/xna31/SimpleMessage.zip Content Pipeline その3 そのカスタマイズ(日本語表示サンプル) http://higeneko.net/hinikeni/sample/TextMessageSample31.zip

0

アバターを使おう その1:アバターを表示する

アバターをゲーム画面内に表示する アバターをゲームt画面内に表示するには以下の三つのクラスが重要な役割を果たします。 AvatarDescription AvatarAnimation(必ずしも必要ではない) AvatarRenderer AvatarDescription AvatarDescriptionはアバターの性別、容姿、服装といった情報を保持しています。AvatarDescriptionのプロパティには男性(Male)、女性(Female)を表すBodyType、メートル単位の身長を表すHeightがあります。AvatarDescriptionを得るには以下の三つの方法があります。 SignedInGamer.Avatarからゲーマータグのアバター情報を取得する AvatarDescription.CreateRandomメソッドを使ってランダムにアバターを生成する AvatarDescription(byte[] data)コンストラクタを使って生成する 1はゲーマータグに関連付けられたらアバター情報をSignedInGamer.AvatarからAvatarDescriptionを取得して使う方法で、自分のアバターをゲーム内で使う方法です。 2の手法は、自分のアバター以外をゲーム内で使ったり、複数の違った体形のアバターを自分のゲーム内で表示しても問題がないようにテスト目的として使う方法です。 3の方法は、アバター情報をネットワークを介して転送する時に使用します。実際にはByte[]型であるAvatarDesciprion.Descriptionプロパティの情報をネットワークを介して転送し、転送されたデータをAvatarDescription(byte[])コンストラクタに渡すことで同じアバターを生成することができます。 また、2の方法ではランダムにアバターを生成しますが、ゲームの雰囲気にあったアバターを自由に作りたいという時があります。この場合、ダッシュボード上で仮のゲーマープロファイルを生成、好きなアバターを編集します。そして、作ったアバターでサインインした状態でXNA Game Studioを起動、デバッガ上で該当するアバターのAvatarDescription.Descriptionプロパティの値を保存しておくことで自分の好きなタイプのアバターをゲーム内で使うことができます。 AvatarAnimation XNA GS 3.1ではアバター用に31種類のアニメーションが用意されています。このアニメーションを再生する為に使うのがAvatarAnimationクラスです。AvatarAnimationクラスには現在のアニメーション再生位置、ボーン情報、表情(Expression)などの情報などが含まれます。AvatarAnimationクラスはAvatarAnimationPreset列挙型を指定して生成、通常はAvatarAnimation.Updateメソッドを使用してアニメーション再生をすることができます。 また、AvatarAnimation.CurrentPositionプロパティは現在のアニメーション再生位置を取得することに使いますが、任意の再生位置を設定することで自由にアニメーションすることもできます。 AvatarRenderer アバターをゲーム画面に描画するにはAvatarRendererクラスを使用します。AvatarRendererクラスはBasicEffectクラスとや同じように描画するアバターのWorld、View、Projection行列や、環境光源(AmbientLightColor)や平行光源(LightDirection, LightColor)を指定することができます。BasicEffectと違うところは描画するときにアバターのボーン情報や表情を指定できることです。通常はAvatarAnimationのBoneTransforms、Expresssionプロパティを指定します。 また、指定するボーン情報はIList<Matrix>型なので、自分で作った自由なアニメーションを設定することができます。アバターのボーン数は71あり、これ以外の数のボーンを指定すると例外が発生することに気をつけてください。カスタムアニメーションサンプルは近日中にクリエーターズ・クラブのサイトで公開予定です。 サンプルコード アバターはGamerServicesを利用するので、アバター機能を使うときにはGamerServiceComponentを追加するのを忘れないようにしましょう。忘れた場合はGamerService機能を初期化することを促す例外が発生します。Components.Add(new GamerServicesComponent(this)); 次にアバターを使うのに必要なオブジェクトを生成します。// アバター情報をランダムに生成する avatarDescription = AvatarDescription.CreateRandom(); // アバターアニメーションの生成 avatarAnimation = new AvatarAnimation(AvatarAnimationPreset.Celebrate); // アバター描画用のオブジェクトの生成 avatarRenderer = new AvatarRenderer(avatarDescription); 次にゲームのアップデート内でアニメーションを以下のようにして更新します。avatarAnimation.Update(gameTime.ElapsedGameTime, true); 最後にAvatarRendererにアバターを描画するのに必要な行列を設定し、ボーンと表情を指定することでアバターをゲーム画面内に描画することができます。// アバター描画に必要な行列の設定 avatarRenderer.World = Matrix.CreateRotationY(MathHelper.ToRadians(180.0f)); avatarRenderer.Projection =…

4