XNA

ビルボードでキラキラ色加算

XNA

■色加算の大好きな私は、ビルボードを使っていろいろと光らせてみました。 「kira.x」 xof 0302txt 0064 Mesh { 4; -1.00000;1.00000;0.00000;, 1.00000;1.00000;0.00000;, 1.00000;-1.00000;0.00000;, -1.00000;-1.00000;0.00000;; 1; 4;0,1,2,3;; MeshText…

ビルボードのビルさん

XNA

■今回はビルボードに関して書こうと思います。 ビルボード用にモデルデータ(板ポリゴンのみ)を用意しました。 「borad.x」 xof 0302txt 0064 Mesh { 4; -1.00000;1.00000;0.00000;, 1.00000;1.00000;0.00000;, 1.00000;-1.00000;0.00000;, -1.00000;-1.000…

モデルの点滅

XNA

■よく、ゲームでダメージを受けると、赤くなったりします。 今回は、モデルデータが赤く点滅するサンプルです。 protected override void Draw(GameTime gameTime) { float dColor = (float)Math.Sin(dAng * 8) / 2.0f + 0.5f; //dColorは 0.0f〜1.0f の間で…

たくさんモデル表示

XNA

■同じモデルをたくさん出したくなりました。 ワールドマトリックスを移動させ、位置を変えています。 protected override void Draw(GameTime gameTime) { graphics.GraphicsDevice.Clear(Color.CornflowerBlue); for (int j = -4; j < 5; j++) { for (int i…

X形式のモデル表示

XNA

■Xフォーマットのモデルデータを表示するサンプルです。 簡単なBOXのXデータを用意しました。 「Box.x」 xof 0302txt 0064 Mesh { 8; -1.00000;1.00000;-1.00000;, 1.00000;1.00000;-1.00000;, 1.00000;-1.00000;-1.00000;, -1.00000;-1.00000;-1.00000;, 1.…

テクスチャアドレスモード

XNA

■テクスチャアドレスモードの設定に関して、必要になったのでメモを残します。 テクスチャのUV値が0.0-1.0以外の数値の場合、テクスチャアドレスモードでいろんな表現が可能です。 今回使用したモデルデータは以下のように設定しています。(UV値が-3.0〜3.0…

XMLファイル読み込み

■前回出力したXMLファイルを読み込みます。(XNAのPC版でのみ使用が可能です、360環境ではコンパイルができませんでした)まずは、以下の定義ができているのか確認してください。 using System.Text; using System.Xml; ■プログラムは以下のとおりです。 pub…

XMLファイル書き出し

■せっかくなので、XMLファイルを出力してみましょう。(XNAのPC版でのみ使用が可能です、360環境ではコンパイルができませんでした)まずは、以下の定義ができているのか確認してください。 using System.Text; using System.Xml; ■プログラムは以下のとおり…

コンテンツパイプラインを使ったXML読み込み

XNA

■XMLファイルの作成 コンテンツディレクトリに「XMLtest.xml」を以下の内容で作成します。 AssetNmaeは今回は"XMLtest"にします。 <XnaContent xmlns:Generic="System.Collections.Generic"> <Asset Type="Generic:Dictionary[string,int]"> <Item> <Key>World01</Key> <Value>54</Value> </Item> <Item> <Key>World02</Key> </item></asset></xnacontent>

コンテンツのパス

XNA

■「Content」の位置に関して。 なにげに「Content」に登録したデータを texture = Content.Load<Texture2D>("mimi"); とアクセスしていますが、 Content.RootDirectory = "Content"; というコンテンツの場所を指定しているので、その場所から相対パスで、コンテンツには</texture2d>…

3Dでポリゴン表示(テクスチャ)

XNA

■単純なポリゴン表示。 XNAで3Dのポリゴンを表示する簡単なサンプルが欲しかったので作ってみました。■ソース namespace WindowsGame2_02 { public class Game1 : Microsoft.Xna.Framework.Game { GraphicsDeviceManager graphics; private VertexDeclarati…

3Dでポリゴン表示

XNA

■単純なポリゴン表示。 XNAで3Dのポリゴンを表示する簡単なサンプルが欲しかったので作ってみました。■ソース namespace WindowsGame2_01 { public class Game1 : Microsoft.Xna.Framework.Game { GraphicsDeviceManager graphics; private VertexDeclarati…

スプライトを描画したい

XNA

最近XNA 2.0を使い始めたのですが、1.0の時と細かく違っているようですので以前のサンプルを移植してみました。 ■表示するグラフィックデータの用意。今回はPNG形式のグラフィックを使用します。(グラフィックデータとしては、*.gif *.jpgなどいろいなフォ…

物理演算、その2

■実はちょっとウソつおてます 今回のソースは、なんとなく物理計算ぽい動きをしているところがあります。■考え方 物理演算の場合、よくある箱と箱のコリジョンをするような考え方では計算しません、大きく「各頂点の計算」と「各頂点から形を維持する計算」…

物理演算、その1

■とにかく、物理演算やってみましょう ソース説明は次回からで、動かしてみましょう Game1.cs :メインの部分 BoxObject.cs :物理演算する箱のクラス Vec2.cs :2Dベクトルクラス(前回作ったクラス) ■ソース Game1.cs namespace WindowsGame { public cla…

自分でベクトルを設計しよう(その2)

■前回のソース説明の残り部分を説明したいと思います。 ■外積 public static float operator *(Vec2 vec1, Vec2 vec2) { return (vec1.X * vec2.Y - vec1.Y * vec2.X ); } ■内積 public static float operator %(Vec2 vec1, Vec2 vec2) { return (vec1.X * v…

自分でベクトルを設計しよう(その1)

■ベクトルを管理するクラスを作ってみよう 「Vector2」があるのにわざわざ作るのかという疑問はありますが、自分が使いやすいように作ってみました■ソース Vec2.cs using System; using System.Collections.Generic; using System.Text; namespace WindowsGa…

ゲーム用フレームワーク、その2

■クラスを使ってシーンを整理しよう 前回の「ゲーム用フレームワーク、その1」は、簡単なプログラムではよいのですが、大きなプログラムになっていくと複雑になってしまいバグの元になります、それと分業とかがしにくくなるので、クラスを切り替えて使用する…

ゲーム用フレームワーク、その1

■フレームワーク? ゲームには「ロゴ表示」「タイトル」「ゲーム」など、いろんなシーンを切り替えていく必要があります。簡単んに考えてしまうと下のようなプログラムになってしまいます。 このプログラムはシーン1とシーン2を交互に表示するプログラムです…

脱線、ジジイは喜ぶクイックス

XNA

■残像をつくっていたら、ついムラムラしてきて作ってしまいました、ただ、近くにいた21歳プログラマーに「クリックすって知ってる?」と聞いたら知らないという返事が返って。ちょっとションボリです。 ■ソース namespace WindowsGame { public class Game1 …

残像いっぱい色いっぱい

XNA

■ ■ソース Game1.cs namespace WindowsGame { public class Game1 : Microsoft.Xna.Framework.Game { GraphicsDeviceManager graphics; ContentManager content; VertexPositionTexture[] vertices = { new VertexPositionTexture( new Vector3( 0.0f, 0.0f,…

残像いっぱい(SpriteBatch編)

XNA

■いっぱい出そう、でも 前回の「ジェットストリーム」では、たくさんのパーティクルを出すと処理が重そうなので、描画したフレームバッファを利用して残像のサンプルを作成してみました。 ■ソース Game1.cs namespace WindowsGame { public class Game1 : Mi…

ジェットストリーム

XNA

■残像? 残像って?と聞かれたので、何種類か実験で作成してみました、このサンプルは、1つのパーティクルに対して「particleCount 」で指定した分残像の座標を保持して残像部分を表現する方法です。 ■ソース Game1.cs namespace WindowsGame { public class…

やっぱαブレンディングでしょ-その4

XNA

ピクセルシェーダとかない時代は、ブレンディングの設定を利用していろんな表現をしてきました。ブレンディングの設定は、まずはこの2つの設定から始まります。 graphics.GraphicsDevice.RenderState.SourceBlend = Blend.SourceAlpha; graphics.GraphicsDe…

SpriteBatchでもαブレンディング(色加算限定)

XNA

■SpriteBatchで色加算をあきらめかけていたのですが、やり方がわかりました Game1.cs namespace WindowsGame { public class Game1 : Microsoft.Xna.Framework.Game { GraphicsDeviceManager graphics; ContentManager content; SpriteBatch sprite; Texture…

やっぱαブレンディングでしょ-その2

XNA

■αブレンディングはテクスチャにかけてもっと面白い事をしたい、という事でまずはテクスチャを用意してみました。 「ball.png」 今回は、このテクスチャを色加算を使用して、たくさん動かしたいと思います。 ■ソース ソースが2つあります game1.cs :メイン…

やっぱαブレンディングでしょ-その2

XNA

■テクスチャにもブレンド まずは簡単にテクスチャへブレンドをかけようと思っていたのですが、「SpriteBatch」に一生懸命ブレンドを設定したところ、設定できなかったので違う方法でアプローチにしました。 namespace WindowsGame { public class Game1 : Mi…

やっぱαブレンディングでしょ-その1

XNA

■ナマポリゴンにαブレンディングをかけてみたい 「もっとナマポリゴン-その2」では頂点のα値の影響を受けていなかったので、αを使用したサンプルを作成してみました。 namespace WindowsGame { public class Game1 : Microsoft.Xna.Framework.Game { Graphic…

INPUT(PAD編-2)

XNA

PADの操作尾をもう少し掘り下げてみたいと思います。 ■PADの数 PADは4つまで制御できます。どのパッドにするかは「PlayerIndex」で指定してください。 PlayerIndex .One PAD-1 .Two PAD-2 .Three PAD-3 .Four PAD-4 ■PADが接続しているか? PADを操作するに…

INPUT(PAD編)

XNA

■XBOX360用PADをPCに接続、このためにPADを買ってしまいました。 XBOX360のパッド以外は動作が保障されないので、持っている他のPADでは反応しませんでした。 namespace WindowsGame { public class Game1 : Microsoft.Xna.Framework.Game { GraphicsDeviceM…