Welcome to MSDN Blogs Sign in | Join | Help

Browse by Tags

All Tags » XNA フレームワーク » XNA   (RSS)

XNA Game Studio 2.0がリリース

と、言うわけでXNA Game Studio 2.0がリーリスされました。 以下のリンクからダウンロードできます。 http://www.microsoft.com/downloads/details.aspx?FamilyId=DF80D533-BA87-40B4-ABE2-1EF12EA506B7&displaylang=en インストール時の注意としてはXNA 2.0のベータ版をアンインストールしてからリリース版をインストールしてください。このとき、Games for Windows

XNA Game Studio 2.0の細かな修正点

Shawn Hargreaves氏のブログ から拝借+ちょっと補足説明 XNA Game Studio 2.0になって追加、または修正された細かな機能を紹介します。 GamePadState.IsButtonDownとIsButtonUpメソッドの追加 今まではコントローラーのボタンが押されているかの判定はButtons.A == ButtonState.Pressedと言う様に長いコードを書かなければいけませんでした。特に複数のボタンのいずれかが押されているケースを判定するのには以下のようなコードになってしまいました。

XNA 2.0のネットワーク機能

XNA TeamブログにXNA GS 2.0における ネットワークサポートについての投稿 がありました。元の投稿では各シナリオについて細かい説明がありますが、ここではできるだけシンプルなルールを書いていこうと思います。 XNA Game Studio 2.0ではネットワーク対応のマルチプレイヤーゲームを作れるような仕組みが提供されます。このネットワークの接続形態はシステムリンクとLive!接続の二つがあります。 システムリンクは、同じサブネット内同士でのマルチプレイヤーゲームを可能にします。一般的なのは同じネットワークハブにPC、Xbox

クリエーターズクラブオンライン更新 07年9月号

クリエーターズクラブオンライン のサイトが更新されました。先月はGameFestの開催と重なったので数が少なかったのですが、今月は4つのサンプル、3つのユーティリティ、そして1つのアーティクルが追加されました。そんな訳で例によって例の如く私なりに紹介させて頂きます。 Collision Series 4: Collision with a Heightmap このサンプルはコンテントパイプライン上でビットマップイメージから生成されたハイトマップ上での衝突判定をするサンプルコードです。コリジョン判定自体は単に指定した座標の高さを取得するシンプルなものですが、カメラも衝突判定を使っているのでカメラが地面にめり込んでしまうという不具合を回避しています。

Content Pipeline その4 そのデバッグ

コンテント・パイプラインのデバッグ 前回は、実際のコードを見ながらコンテント・パイプラインのカスタマイズの方法を紹介しました。前回のように、ロジック自体が簡単な場合は良いのですが、もう少し複雑なプログラムをコーディングしている時に必要になるのが、インポーターやプロセッサのコードをデバッグすることです。 ここで問題なのは、ゲーム本体をデバッグする感覚でブレークポイントをコンテント・パイプラインのコード部分に設定してビルドしたとしても、何事も無かったかのようにビルトが終了してしまうということです。コンテント・ビルドは普通にアプリケーションを走らせるのと違い、GSEが水面下でMSBuildを実行しているので、GSE上で走らせるアプリケーション用のブレークポイントを設定しても意味がないからです。

クリエーターズクラブも更新

http://creators.xna.com に新しいコンテントが増えました。 スターターキットとして、新たに Racing Game が追加されました。これは以前からXNAレーサーと呼ばれていたゲームです。もちろん、スターターキットなのでフルソースコード、フルコンテント付です。 また、新しいサンプルプログラムとして以下のものが追加されました。 Bloom ポストプロセスの代表的手法の一つである、眩しい光などが滲む、ブルームのサンプルです。 プリミティブ描画 Spacewarで使われていた、VectorShapeクラスを元にしたPrimitiveBatchを使ったサンプルです。このクラスを使うことで簡単に点、線分、三角形などを画面に描画することができます。

GSE 1.0 Refresh API その詳細

GSE 1.0 Refreshは1.0とバイナリ互換、つまり1.0でコンパイルしたものが、そのまま1.0 Refreshで動作するようになっているので、1.0のAPIはそのままで、新しいAPIが追加されています。 ここ にRefreshで追加されてAPIのリストがあります。今まで概要は説明してきましたが、詳細は省いていたので、以下に追加されたAPIの詳細を書きます。 Math関連 BoundingBoxとBoundingFrustumの GetCorners メソッドを追加。 Corners プロパティと違って予め確保した配列を指定できるので、GC発生率を抑えることができます。

Game Studio Express 1.0 Refresh

と、言うわけで Microsoft XNA Game Studio Express 1.0 Refresh がリーリスされました。主な新機能は Windows Vistaのサポート 開発者同士でのゲームバイナリ交換のサポート ビットマップベースの文字描画のサポート XACT 3Dオーディオのサポート Xbox 360上でのゲーム独自のサムネイル画像が使えるようになった その他の細かい機能追加 バグフィックス デベロッパー同士でのゲームバイナリの交換は、GSEのビルドメニュー内の 「Package

Content Pipeline その2 その流れ

コンテントの流れ 前回は、コンテントマネージメントに関する問題の複雑さについて書きました。今回から、その問題を解決する為に設計されたXNAのコンテント・パイプラインの仕組みを紹介していきます。下図は、XNAのコンテント・パイプラインの概念図です。 パイプラインの名から判るように、コンテントが上から下へ流れるように処理され、アセットとしてできあがったものをゲームで使うようになっています。コンテントを川の水、アセットを水道水として考えると、コンテント・パイプラインは、浄水場と配水管に例えることができます。

Content Pipeline その1 その問題点

ゲームにはコンテントが必要 ゲーム製作で欠かせない要素として、プログラミングの他にコンテント作成があります。コンテントとは、3Dモデル、テクスチャ、フォント、サウンド、ゲームのパラメーターといったものの総称です。このコンテントを作るツール、例えばテクスチャならフォトショップ、3DモデルならMayaなどといったツールをDCC(Digital Content Creation)ツールと呼びます。DCCツールというと、高いお金を払って買うものと思われがちですが、自分で撮ったお気に入りの写真をゲームで使えば、その写真を撮るのに使ったデジカメはある意味DCCツールといえる訳です。さらに言えば、ゲームで使われるメッセージなどをWindowsに付いてくるメモ帳を使えば、それも立派なDCCツールとなるわけです。

BasicEffect

BasicEffectとは XNAはShader Model 1.1以上のビデオカード向けに設計されていて、固定シェーダーが使えません。これは、昨今のゲームのグラフィクスにはシェーダープログラムが欠かせなくなっていること、DirectX 10でも固定シェーダーが廃止されたことが主な理由です。また、仮に固定シェーダーをサポートした場合、設計思考が違うものを一緒にすることによるライブラリの複雑化、マルチテクスチャの細かい部分の振る舞いがGPUによって違い、しかもその情報量が少ないという問題もあります。

SpriteBatchクラス その2

SpriteBatch.Beginはレンダーステートを変更する SpriteBatch.Beginメソッドにはブレンドモード、ソートモード、そしてステートモードの3つ引数を渡すメソッド以外に、引数を省略できる2つのオーバーライドがあります。引数を省略した場合、ブレンドモードは SpriteBlendMode.AlphaBlend 、ソートモードは SpriteSortMode.Deferred 、そしてステートモードは SaveStateMode.None となります。 ここで重要なのはステートモードが

SpriteBatchクラス その1

SpriteBatch クラスはWindows/Xbox360上で効率的に2D描画をするために設計されています。SpriteBatchで使える機能としては以下のものがあります。 回転とスケーリング ソーステクスチャ領域の指定 カラーモジュレーション バッチ処理とソーティング スプライトの回転とスケーリングを使う場合に気をつける点は Origin パラメーターを指定しない場合は、回転、スケーリングはスプライトの左上を原点として扱います。 上図は、原点の違いによる回転結果の違いです。キャラクターなどをスプライトを使って描画する場合、特に多間接キャラクタなどを表現する場合は

ゲームプログラミング開始

前回は、XNA Game Studio Expressでゲームプロジェクトを新規作成したときに生成されるテンプレートコードの中身の説明をしました。今回は、ゲームプログラムの基本となる以下のものを実装、つまりコーディングをします。 コンテントの読み込み SpriteBatch を使ったスプライト表示 コントローラーによる移動 今回は、簡単な説明に留めますが、次回からはそれぞれについて詳しく説明していきます。 コンテントの読み込み XNAにはビットマップ、3Dモデル、オーディオといったゲームを作る上で必要なコンテントを簡単に、効率よく使うための

アプリケーションモデル その1 ~Gameクラス~

これまで概要的な話をしてきましたが、今回からは実際のプログラミングについての話をしていこうと思います。 今回は以下の動作を実装します。 ウィンドウの作成 グラフィクスデバイスの生成 デバイスロストの管理 ゲームのメインループ 画面を指定の色で塗りつぶす DirectXやMDXで以上の作業をするのには、かなりの量のコードを書く必要があり、特にデバイスロストの管理は複雑で、ウィンドウのリサイズ時はもちろん、マルチモニタでのモニタ間のウィンドウ移動、フルスクリーンへの切り替え、スクリーンセーバーが立ち上がったとき、PCがスリープ状態に入ったときなどに対応するには、少なくとも1,000行以上のプログラムを書かないといけません。
More Posts Next page »
 
Page view tracker