タグ付けされた質問 「xna」

XNAはMicrosoftによるゲームフレームワークで、Windows、Windows Phone、Xbox 360への展開を可能にします。

2
動くオブジェクトがたくさんある四分木
私がやろうとしていることに非常に役立つクアッドツリーの実装があります。私の問題は、ビューポートに多くのオブジェクトがある場合、クアッドツリーの更新に非常に長い時間がかかることです。 非静的オブジェクトの場合、クワッドツリーが遅いことは既知の事実です。高速化するためにいくつかの方法を試しましたが、実際には、多数のオブジェクトを非常に頻繁に更新する必要があります。 代わりに私が見ているより良いアルゴリズムはありますか?あなたが知っているいくつかの派生したクワッドツリー実装はありますか?

1
重力により地面から跳ね返るキャラクター
ゲームに重力を実装すると、キャラクターが地面にぶつかったときにキャラクターがわずかに上下にバウンドし続けます。デバッグすると、キャラクターは基本的に地面の上と外でバウンドします。この問題を解決する方法がわからない場合は、ここで助けていただければ幸いです。 定数値 private float gravity = 0.09f; キャラクターが地面にいる場合は速度に追加 if (!isOnGround) velocity.Y += gravity; キャラクター全体の速度を全体の位置に追加します。 position += velocity * (float)gameTime.ElapsedGameTime.TotalSeconds; キャラクターが地面にあるかどうかを決定する衝突方法の一部。 for (int y = topTile; y <= bottomTile; ++y) { for (int x = leftTile; x <= rightTile; ++x) { // If this tile is collidable, TileCollision collision = Level.GetCollision(x, …
7 xna  physics 

3
コンテンツパイプラインなしでXNAにサウンドをロードする
私は、ユーザーがゲームで使用する独自のアセットをインポートするWindows用の「ゲームメーカー」タイプのアプリケーションに取り組んでいます。実行時にエンジン側でこのコンテンツをロードできるようにする必要があります。 ただし、ユーザーがXNAランタイム以外のものをインストールする必要がないので、実行時にコンテンツパイプラインを呼び出すことはできません。 画像の場合、Texture2D.FromStreamを使用して問題ありません。 また、XNA 4.0 は、SoundEffectクラスにFromStreamメソッドを追加しましたが、PCMウェーブファイルしか受け入れないことにも気付きました。 でも、少なくともMP3では、waveファイル以上のものをサポートしたいと思っています。 何かお勧めですか?おそらく、PCMウェーブフォーマットへのデコードを行うC#ライブラリがいくつかあります。
7 xna  c#  sound 

3
スプライトのグループの回転の原点を調整するにはどうすればよいですか?
現在、スプライトをグループ化して、描画に回転変換を適用しています。 private void UpdateMatrix(ref Vector2 origin, float radians) { Vector3 matrixorigin = new Vector3(origin, 0); _rotationMatrix = Matrix.CreateTranslation(-matrixorigin) * Matrix.CreateRotationZ(radians) * Matrix.CreateTranslation(matrixorigin); } ここで、原点は私のスプライトグループの中心点です。この変換をグループ内の各スプライトに適用します。 私の問題は、原点を調整すると、スプライトグループ全体が画面上で再配置されることです。 変換で使用される回転のポイントを、スプライトグループの位置とどのように区別できますか?この変換行列を作成するより良い方法はありますか? 編集 次に、Draw()関数の関連部分を示します。 Matrix allTransforms = _rotationMatrix * camera.GetTransformation(); spriteBatch.Begin(SpriteSortMode.BackToFront, null, null, null, null, null, allTransforms); for (int i = 0; i < _map.AllParts.Count; i++) …
7 xna  sprites  matrix 

4
XNAでゲームを作成しました。どうすれば友達とゲームを共有できますか?
私はアーケードの古典的なTempestの魅力的な(骨なしですが)XNAバージョンのプログラミングを終えました。 やったー! これは宿題だったので、教授や友人/クラスメートと共有してフィードバックを求めたいと思います。 (正直に言いましょう。追加機能を追加する方法について質問がある場合は、このサイトのユーザーと共有できると便利です。) XNAゲームを共有する方法として、ビジュアルスタジオをシャットダウンするよりも優れた方法があります。それをウェブサイトでホストする何らかの方法が理想的です。
7 xna 

3
現実的な2Dレーシングカーの物理学の既存の良い出発点はありますか?
私は2Dトップダウンゲームに現実的な動作のレーシングカーを取り入れようとしています。 運転する非常にシンプルな車を作るのは簡単ですが、ニュートンの法則と車に働く力をうまくモデル化し、何か素晴らしいものを生み出す、かなり洗練されたモデルが必要です。 私はこれを行う方法についての良いチュートリアルをウェブで検索しましたが、そこには多くのサンプルコードはないようです。 私はこのチュートリアルhttp://www.gamedev.net/topic/470497-2d-car-physics-tutorial/に従いました。これは非常に優れており、良い出発点のように見えますが、含まれているデモで遊んだ場合、あなたは見ることができますそれはまだその説得力のあるレーシングカーの前に行く公正な方法を持っています。 Unityのようないくつかの3Dゲームエンジンには、すぐに使える優れた車両モデルが付属していると聞きました。2Dにそのようなものはありますか? 自分自身をゼロから構築するために必要なすべての正しい力などを読んで理解する前に、多くの時間を費やす前に、私が知らない既存の素晴らしい2D開始点を見逃していないことを確認したいだけです。 この記事では、必要なものがすべて説明されているようです:http : //www.asawicki.info/Mirror/Car%20Physics%20for%20Games/Car%20Physics%20for%20Games.htmlしかし、残念ながらソースコードのリンクは壊れています。
7 xna  2d  physics  racing 

2
SpriteBatchで使用されているマトリックスとBasicEffectで使用されているマトリックスを整列させる方法を教えてください。
XNAを使用して、ユーザーが画面にテクスチャを配置できるWindowsツールを作成しています。 テクスチャの描画に使用されるSpriteBatchに「カメラ」を使用しています。例: Matrix matrixForSpriteBatch = Matrix.CreateTranslation( -_cameraPosition.X, -_cameraPosition.Y, 0.0f) * Matrix.CreateRotationZ(_rotation) * Matrix.CreateScale(_scale) * Matrix.CreateTranslation( GraphicsDevice.Viewport.Width / 2, GraphicsDevice.Viewport.Height / 2, 0.0f); これは正常に機能しています。ユーザーはキャンバスにテクスチャをドロップし、移動、回転、サイズ変更できます。また、カメラを動かしてより多くのものを見ることができます。 次に、ユーザーがクリックしてポリゴンのポイントを定義できるようにします。次に、これらのポイントが私のDrawPolygonFilledメソッドに送信されます。 public void DrawPolygonFilled( SpriteBatch spriteBatch, Vector2[ ] worldPoints, Color color ) { Matrix matrixForVertices = Matrix.CreateTranslation( _cameraPosition.X, -_cameraPosition.Y, 0.0f ) * Matrix.CreateRotationZ( -rotation ) * Matrix.CreateScale( …

4
XNAでゲームリソースをどのように管理しますか?
昔はあちこちで使っContent.Load<type>("filename");てきました。これはすぐに管理の悪夢になり、さらに悪いことに、同じアセットの複数のコピーを複数の異なる場所にロードし始めます。 次に、基本的に次のようなResourcesクラスの使用に移りました。 public class Resources { public static Texture2D particle01; ... public static Texture2D particle93; public static Effect shader01; ... public static Effect shader32; public static Load(ContentManager content, GraphicsDevice device) { //load all the resources } public static Unload() { //unload all the resources } } 次にResources.particle01、同じ名前空間内のどこからでもリソースへの参照を取得するために単に使用できます。 これは、私が過去に持っていた重複を排除したので、素晴らしいアプローチでした。また、すべてのロードは単一のクラスで行われたため、リソースを追跡するのは簡単でした。最後に、たとえば右クリックして、particle93[すべての参照を検索]をクリックして、そのテクスチャを使用したすべての場所を見つけることができます。 しかし、このアプローチには問題があり、より良い解決策があるかどうか知りたいです。

2
ぼかしポイントライト分散シャドウマップ
私はゲームの分散シャドウマッピングの実装に取り​​組んでいます。エイリアスマップを適用するためにガウスぼかしをシャドウマップに適用して、分散シャドウマッピングでスポットライトを機能させることができました。現在、ポイントライトを実装しようとしていますが、キューブマップに格納されているシャドウマップで動作するようにガウスぼかしを適応させる方法がわかりません。しばらく探してみましたが、ポイントライトを使用した例を見つけることができません。誰かがここで私を手伝ってくれる?

2
Silverlight 5でGPUを使用して高速フーリエ変換を行う
遅いマシンで加速が必要なSilverlightのオーディオライブラリがあります。具体的には、このライブラリは、音響エコーキャンセレーションおよびノイズリダクションアルゴリズムの一部としてFFT変換を広範かつ繰り返し使用します。このためにGPUを使用するのが理にかなっているか疑問に思います(たとえば、ここ:http : //www.inf.fu-berlin.de/lehre/SS10/SP-Par/download/fft1.pdf)。 Silverlight 5がMicrosoftのXNAフレームワークのかなり単純なポートを提供していることは知っていますが、残念ながら、私は3Dコーディング全般、特にXNAの完全な初心者です。理論的には頂点および/またはピクセルシェーダーの組み合わせを使用してこの魔法を働かせることが可能であるように思えますが、この道を進む前に、いくつかの質問について専門家の意見を聞きたかったのです。 (1)SL5のXNA実装は、そのパイプラインの出力を単一の "DrawingSurface"にスローします。私はこれが計算の結果を読み取ることができるかもしれないと思っていました(WriteableBitmapを使用して、SL4のピクセルシェーダー計算の結果を読み取る方法の一種)。しかし、どうすればよいのかわかりません。「GetPixels()」メソッドなどはありません。通常のXNA 4.0では、VertexBufferにGetData()メソッドがあり、Texture2DおよびTexture3Dクラスと同じですが、これらのメソッドはSL5バージョンにはありません。シェーダー出力の結果を実際に読み取る方法を知っている人はいますか?または、GPUはSL5の書き込み専用デバイスですか? (2)GPU計算の本当の問題は、結果をすばやく読み取ることです。私が問題1を解決できると仮定すると、FFTがこの種のソリューションに適しているかどうか誰かが知っていますか? (3)Silverlight 5はHLSLレベル2に制限されています。HLSLレベル2には、命令、レジスター、使用可能な関数などに関して、いくつかの重大な制限があります。FFTまたはその一部をこれに移植できると期待することはまったく理にかなっていますか? 前もって感謝します。
7 xna  gpu  gpgpu 

3
XNAゲームループの更新と描画
ゲームのメソッドがどのように呼び出され、いつ呼び出されるかについて混乱しています。 だから私はシーケンスが次のとおりであることを読みました: 初期化 LoadContent 更新 ドロー UnloadContent ここで、3と4はゲームループです。したがって、after Updateが呼び出さDrawれ、次にが呼び出され、次にUpdate、then Draw、then 、... ゲームループ(更新と描画)は1秒あたり60回実行されます。 そして、私はそれを別の場所に読みUpdateとDraw異なる時間に呼び出すことができ、Update1時間前にもっとして呼び出すことができDraw等々 。 ...そして最後に、メソッドがUnloadContent呼び出された後に呼び出されます。UpdateExit
7 xna  game-loop 

3
画像上に衝突データを描画するためのポリゴンエディター[終了]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 2年前休業。 ゲーム内の船のテクスチャーの上にポリゴンをプロットするエディターが必要です。 これは次のようになります。 赤が衝突の輪郭で、画像がテクスチャです。 テクスチャ座標のようなポリゴンを保存したいです。例えば、左上が(0、0)で右下が(1、1)です。 これと同じようなことをするツール(無料)はありますか?私はxnaとC#で作業します。

2
XNA 4.0でより高いFPSを有効にするにはどうすればよいですか?
FpsCounter DrawableGameComponent(コードにリンクされている、それは長いです)を作成しました。それはうまくいきます:それは通常60.0 fpsを表示します。ゲームループを人為的に遅くすると、低下します。 現時点での私の「ゲーム」は、キーボードで制御される単一のスプライトなので、1秒あたり60フレームよりも頻繁にレンダリングできるはずです。 垂直同期をオフにするとFPSの上限が増えると考えました。 public Game1() { _graphics = new GraphicsDeviceManager(this) { PreferredBackBufferWidth = WindowWidth, PreferredBackBufferHeight = WindowHeight, SynchronizeWithVerticalRetrace = false, }; _graphics.ApplyChanges(); Content.RootDirectory = "Content"; } ただし、上記のコードはvsyncをオフにする必要があるように見えても、そうではないようです。私のコンストラクタ、またはおそらく私のFPS計算に何か問題がありますか?または、フレーム数を制限している可能性のある何か他にありますか?

3
XNAコンテンツパイプラインとマップ作成ユーティリティ
自分が取り組んでいるゲームにXNAコンテンツパイプラインを適切に使用する方法を調査してきました。しかしながら、私は頭を包み込むのに苦労しており、最善の方法を確信できません。 具体的な例は、トップダウンの2D RPGスタイルのゲームです。マップを簡単に作成および編集できるユーティリティ(おそらくWindowsフォーム)を作成したいと考えています。各マップは1つ以上のグラフィックレイヤーで構成され、各レイヤーにはタイルのN x Nグリッドが含まれています。次に、各タイルはビットマップとして始まります。 上記の情報を与えられて、私は続行するためのいくつかの方法を見つけます: Content Pipeline XMLローダーと互換性のあるXMLファイルにマップ情報を保存します。各タイルは、対応するテクスチャアセットへの文字列参照として保存されます。テクスチャアセットがゲームプロジェクトに追加されます。 Content Pipeline XMLローダーと互換性のあるXMLファイルにマップ情報を保存します。各タイルは、対応する.bmp / .pngファイルへのパスとして保存されます。 今、私は両方のアプローチについて本当に嫌いなことがあります。アプローチ1の主な問題は、マップの作成と.xnbテクスチャアセットの作成が完全に分離していることです。.xmlマップファイルはユーティリティによって作成され、テクスチャアセットはゲームのコンテンツに追加されます。これは、.xmlマップファイルとプロジェクト内のすべてのテクスチャアセットの同期を維持しようとするときに問題になります。 アプローチ2では、マップユーティリティを使用して、マップファイルの隣に適切な画像ファイルをすべて保持できます。しかし、このようなことをする必要はないようです。また、タイルごとに同じ画像をディスクからすばやくロードしないように、マップのロードについてよりインテリジェントにする必要があります。 だから私の質問です:コンテンツ生成ユーティリティ(マップエディターなど)を追加する場合、カスタムコンテンツ(マップファイル)がテクスチャアセットと常に同期していることを確認するための最良の方法は何ですか。また、私のマップエディターでは、テクスチャアセットを読み込んで表示する機能が必要になることにも注意してください。 どんな入力でも大歓迎です。
7 xna  c# 

4
XBLIGゲームのさまざまなTVディスプレイタイプをテストするにはどうすればよいですか?
XBLIG提出チェックリストは、ゲームプレイに不可欠なすべてのグラフィックが「TitleSafeArea」に表示されることを確認するように求めています。 プレイテスト中に、スクロールする2Dマップの一部しか見えない(画面の左側から切り取られている)とのバグレポートを受け取りました。 私は47インチのテレビと19インチのVGAモニターでゲームをテストしましたが、どちらも正常に見えます。ただし、バグレポートでは、問題は標準の20インチTVで発生すると述べています。 異なるサイズのテレビを購入せずに異なるサイズをテストするにはどうすればよいですか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.