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

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

1
モデルをターゲットに向ける
2つのオブジェクト(ターゲットとプレーヤー)があり、両方に位置(Vector3)と回転(四元数)があります。ターゲットを回転させて、プレイヤーの真正面に向けたいです。ターゲットは、何かを撃ったとき、プレイヤーを正しく撃ちます。 私はプレイヤーに強打の多くの例を見てきましたが、増分回転は望ましくありません、私は強打を100%にすることができ、実際に機能する限り、それは大丈夫だと思います。 参考までに、位置と回転を使用して他の多くのことを行うことはできません。この最後の作品を除いて、すべてうまくいきません。 コードサンプルは、Targetのクラスで実行されます。Position=ターゲットの位置、Avatar =プレーヤー。 編集 私は今、彼が提供したMaikのc#コードを使用しており、うまく機能しています!
28 xna  c#  3d  models  quaternion 

10
高速化する宇宙船をより速く見せるための効果
私には宇宙船があり、宇宙船を高速化する「ブースト」機能を作成しましたが、高速の印象を作成するにはどのような効果を実装する必要がありますか? 私は自分の宇宙船以外のすべてをぼやけさせることを考えていましたが、何か足りないものがあると思います。何か案は? ところで 私はXNA C#で作業していますが、XNAに慣れていない場合でも、いくつかの効果を説明することは有用です。 ゲームは3Dで、ゲームのプリント画面をいくつか添付しました これは通常モードです(ブーストなし) そして、ここにブーストモードがあります(カメラは通常の速度、ブーストされていない速度で速度を上げながら、船は前方に速度を上げます)


10
Pongでは、パドルから跳ね返ったボールの方向をどのように計算しますか?
ゲーム開発におけるこの非常にHello World-yの問題を回避しようとしています。XNAでTicTacToeゲームを作成したので、次のステップはBreakoutクローンになると思います。 ゲームプログラミングについての知識も、どこにどの数学を適用すべきかも知らないことを覚えておいてください。それが私がこの質問をしている理由です。 質問:画面の下部にあるパドルに当たったときにボールが跳ね返る場所を判断するにはどうすればよいですか? 私はそれが次のようなものになると想像します: 入ってくるボールから速度と角度をキャプチャします。 バーに触れた場所(左端、右端、中央)を検出し、それに従って外側の領域に触れた場合により高速になります。 これは私が立ち往生しているところです。へへ。 洞察はありますか?これは単純な回答タイプの質問ではありませんが、ある時点で誰もが直面するものであると確信しています。 このウェブサイトで推奨されている「線形代数」という本を読んでいますが、ここで適用すべきかどうかはまだわかりません。
28 xna  c#  2d  mathematics  physics 

4
トップダウンRPG運動w /修正?
ゼルダ:過去へのリンクをプレイしたことを願っていますが、間違っている場合は修正してください。しかし、そのような2D、トップダウンのキャラクターの動きを少し修正してエミュレートしたいと思います。他のゲームでも行われていますが、この参照が最も簡単に関連していると思います。より具体的には、私が話している動きと修正の種類は次のとおりです。 ポケモンなどのタイルベースの動きに限らず、動きパッドを1回タップすると、その基本方向に1マス移動するフローティング動作。このフローティング動作は、斜めの動きを実現できるはずです。 西を歩いていて、北東/南西方向に斜めの壁に来ると、コントローラーの左(西)を押し続けても、南西​​の動きに修正されます。これは、両方の方向で修正する両方の対角線で機能するはずです。 ドアや廊下に向かって真っ直ぐ歩いて数ピクセル離れている場合、廊下を歩いたり廊下を歩いたりするように修正されます。つまり、角にぶつかるとホール/ドアに押し込まれます。 私はこれを達成するための効率的な方法を探しましたが、運がありませんでした。明確にするために、私はNPCの動きではなく、人間のキャラクターの動きについて話しています。この種の運動に関する彼らのリソースは利用可能ですか?Wikiまたは何かで説明された方程式またはアルゴリズム? XNA Frameworkを使用していますが、これを支援するものはありますか?
27 xna  2d  rpg  movement 

3
チームはソースファイルの上書きをどのように防止しますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Game Development Stack Exchangeで話題になるようにします。 4年前に閉鎖されました。 たとえば、ゲームエンジンなどが複数の人によって同時に処理されているときに、上書きをどのように防ぐことができるのか、ということが起こりました。 開発者1が作業してAudio.cppおり、開発者2も作業をしているとしましょう。Audio.cppこれは、一般的に大規模なチームで上書きに対処するためにどのように管理されていますか?(つまり、開発者2がファイルを開くのを停止して、開発者1が終了するまで)
26 project-management  version-control  teamwork  java  2d  collision-detection  vector  collision-resolution  unity  directx  directx11  directx10  xna  ios  monogame  windows-phone-8  xamarin  design-patterns  oop  xna  collision-detection  collision-resolution  bounding-boxes  rotation  collision-detection  mathematics  javascript  algorithm  separating-axis-theorem  xna  2d  monogame  image  xna  directx  graphics  performance  opengl  2d  3d  c++  directx11  unity  c#  scale  c#  xna  collision-detection  collision-resolution  leaderboards  scoring  glsl  srgb  tilemap  three.js  tiled  unity  physics  xml  dialog-tree  xna  c#  .net  opengl  lwjgl  vbo  physics  graphics  procedural-generation  simulations  water  opengl  java  textures  lwjgl  frame-buffer  unity  unity  2d  collision-detection  collision-resolution  trigonometry  java  android  libgdx  xna  c#  frame-rate  c++  unreal-4  procedural-generation  java  graphics  lwjgl  slick  c++  software-engineering 

5
ゲームオブジェクトのすべてのインスタンスにDrawableGameComponentを使用することの短所は何ですか?
私は多くの場所でDrawableGameComponentsを「レベル」や、キャラクターやタイルなどの代わりに使用する代わりに保存する必要があることを読みました(この男がここで言うように)。しかし、なぜそうなのか理解できません。私はこの投稿を読んで、それは私にとって非常に理にかなっていますが、これらは少数派です。 私は通常、このようなことにはあまり注意を払わないでしょうが、この場合、どうやらこれが進むべき道ではないと思われる大多数の人々が知りたいと思います。たぶん私は何かが欠けています。

3
より高速な正弦関数はありますか?
ジェネレーション3d perlinノイズに取り組んでいます。C#Mathライブラリは、ほとんどの関数が二重の精度を使用しているため、私が必要とするものに対してはやり過ぎのようです。いくつかの場所でMath.Sin()を使用してノイズを生成します。誰もがより高速な正弦関数を知っていますか?
25 xna  c#  mathematics 

7
マルチスレッド2D重力計算
私は宇宙探査ゲームを構築しており、現在重力に取り組んでいます(XNAを使用したC#で)。 重力はまだ調整が必要ですが、それを行う前に、物理計算でパフォーマンスの問題に対処する必要があります。 これは100個のオブジェクトを使用しており、通常、物理計算なしで1000個のオブジェクトをレンダリングすると300 FPS(私のFPSキャップ)をはるかに超えますが、10個以上のオブジェクトがゲーム(および実行される単一スレッド)を物理計算を行う際のひざ。 スレッドの使用状況を確認したところ、最初のスレッドはすべての作業から自分自身を殺していたため、別のスレッドで物理計算を行う必要があると考えました。ただし、別のスレッドでGravity.csクラスのUpdateメソッドを実行しようとすると、GravityのUpdateメソッドに何も含まれていなくても、ゲームはまだ2 FPSになります。 Gravity.cs public void Update() { foreach (KeyValuePair<string, Entity> e in entityEngine.Entities) { Vector2 Force = new Vector2(); foreach (KeyValuePair<string, Entity> e2 in entityEngine.Entities) { if (e2.Key != e.Key) { float distance = Vector2.Distance(entityEngine.Entities[e.Key].Position, entityEngine.Entities[e2.Key].Position); if (distance > (entityEngine.Entities[e.Key].Texture.Width / 2 + entityEngine.Entities[e2.Key].Texture.Width / 2)) …

3
XNAで2Dスプライトをマスクする最良の方法は?
現在、いくつかのスプライトをマスクしようとしています。言葉で説明するのではなく、いくつかのサンプル写真を作成しました。 マスクする領域(白) さて、トリミングする必要がある赤いスプライト。 最終結果。 今、私はXNAでこれを達成するために2つのことができることを知っています。 ステンシルバッファを使用します。 ピクセルシェーダーを使用します。 私はピクセルシェーダーを試してみましたが、これは本質的にこれを行いました: float4 main(float2 texCoord : TEXCOORD0) : COLOR0 { float4 tex = tex2D(BaseTexture, texCoord); float4 bitMask = tex2D(MaskTexture, texCoord); if (bitMask.a > 0) { return float4(tex.r, tex.g, tex.b, tex.a); } else { return float4(0, 0, 0, 0); } } これは画像を切り取るように見えますが(画像が動き始めると正しくありませんが)、私の問題は画像が絶えず動いている(静的ではない)ので、この切り抜きは動的である必要があります。 シェーダーコードを変更して、その位置を考慮する方法はありますか? あるいは、ステンシルバッファーの使用について読んだことがありますが、ほとんどのサンプルはレンダーターゲットの使用に依存しているようです。(私はすでにゲームの残りの部分で3または4を使用していますが、その上にもう1つ追加すると過剰に思えます) 私が見つけたRendertargetsを使用しない唯一のチュートリアルは、Shawn …
24 xna  2d  hlsl  masking 

7
重力計算の最適化
互いに引き寄せられるサイズと速度がさまざまなオブジェクトがたくさんあります。更新するたびに、すべてのオブジェクトを調べて、他のすべてのオブジェクトの重力による力を加算する必要があります。それはあまりうまくスケールせず、ゲームで見つけた2つの大きなボトルネックの1つであり、パフォーマンスを改善するために何をすべきかわかりません。 パフォーマンスを改善できるはずだと感じています。常に、システム内のオブジェクトの99%がオブジェクトに与える影響はごくわずかです。もちろん、オブジェクトを質量でソートすることはできず、力は質量よりも距離によって大きく変化するため、上位10個の最大オブジェクトまたは何かのみを考慮することができます(方程式はに沿っていますforce = mass1 * mass2 / distance^2)。何かに影響を与えないかもしれない世界の反対側にある何百もの小さな岩の断片を無視して、最大のオブジェクトと最も近いオブジェクトを考慮することは良い近似だと思いますが、どのオブジェクトが最も近い私はすべてのオブジェクトを反復処理する必要があり、それらの位置は絶えず変化しています、それで私が一度だけできるのではない。 現在、私はこのようなことをしています: private void UpdateBodies(List<GravitatingObject> bodies, GameTime gameTime) { for (int i = 0; i < bodies.Count; i++) { bodies[i].Update(i); } } //... public virtual void Update(int systemIndex) { for (int i = systemIndex + 1; i < system.MassiveBodies.Count; i++) { GravitatingObject body …

4
2Dでのコーナーコリジョンの処理方法
トップダウンの2D XNAゲームを書いています。最初の頃から、物理学と衝突に関するものを自分で書いて、それを学習しようとしています。 プレーヤーのスプライトキャラクターが境界が壁の端と交差する位置に移動しようとするたびに、跳ね返り角度(入射角=反射の角度)を計算し、プレーヤーを壁から跳ね返して衝突を回避します。 角に当たったとしても、スプライトが2つの壁のエッジと同時に交差する状況をどのように処理するかを考えるのに苦労しています。 私のコードでは現在、2つの壁のエッジが交差しているが、どちらのエッジが最初にヒットしたか、したがってどのエッジが跳ね返ったかはわかりません。 どのエッジを跳ね返すかを選択する数学的テストは何ですか?見てみるとわかりやすいですが、数学テストを理解するのに苦労しています。

2
XNA 4.0でスプライトスケーリングのテクスチャフィルタリングを無効にするにはどうすればよいですか?
XNAで拡大しようとしているスプライトがありますが、XNAはそれを滑らかにして見苦しくする何らかのテクスチャフィルタリングを適用しています。補間の代わりにピクセルの倍増を行うだけです。どうすればそれを達成できますか?

9
スプライトの周りにアウトラインを描く効率的な方法
私はXNAを使用してゲームをプログラムしており、スプライトで「選択された」効果を実現するためのさまざまな方法を試しています。私が抱えている問題は、スプライトバッチに描画される各クリック可能オブジェクトが複数のスプライトを使用して描画されることです(各オブジェクトは最大6つのスプライトで構成できます)。 Xピクセルのスプライトにアウトラインを追加する方法を教えていただければ幸いです(アウトラインの幅はピクセルのさまざまな数になります)。 前もって感謝します、 グレッグ。
21 2d  xna  sprites 

2
シーン全体をグレースケールにフェードさせる
プレイヤーがすべての命を失ったとき、ゲーム画面全体をグレースケールにしたいが、すぐに更新を停止したくない。また、突然すべての色が失われるのではなく、グレースケールにフェードインすることを好みます。私がこれまでに見つけたのは、スクリーンショットを撮ってグレースケールにするか、特定のテクスチャをグレースケールにすることです。すべてを繰り返すことなく、競技場全体とその中のすべてのオブジェクトをグレースケールに変更する方法はありますか?
20 xna  c# 

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