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

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

4
XNAはどこに向かっていますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 8年前に閉鎖されました。 XNAが大好きです。本当です。私の学校のゲーム開発クラブの会長として、私たちはそれを使って教えています。しかし、私はそれを心配しています。 XNAが単なるプロトタイピング/アーケードゲーム言語以上のものになるという兆候はありますか?マイクロソフトはManaged DirectXのように、Microsoftがそれを捨てようとしているという感じを常に受け​​てきました。Xbox Live Arcadeは素晴らしいアイデアですが、横に押し出されており、Microsoftがより多くの可能性を秘めていると感じたとき、「本物の」Xboxゲームによく隠れています。 現在、Windows Phone 7専用のXNA 4.0 CTPでは、何らかの電話専用のものに変化しているようです。私は彼らがなぜそうしているのか正確には分からない XNAの現在の状態はどのようなもので、どこに向かっていますか?Xboxやデスクトップ向けに4.0がリリースされるのはモバイルのみですか? 言い換えれば、時間とお金を投資する言語なのか、それとも一時的に放棄することを恐れて仮に開発すべきなのか? これを尋ねると、デスクトップゲームとXboxゲームについて話します。これは、Windows Phone 7プラットフォームに最適なゲームフレームワークであることがはっきりとわかるからです。 この質問はやや主観的なものなので(しかし、私はあなたの意見と一緒に事実を本当に探しています!)これをCWにしています。
13 xna 

4
2Dゲームで任意の大きな画像を処理する方法は?
質問 本当に大きな画像(ハードウェアがサポートできるサイズよりも大きい)を使用する2Dゲームがある場合、どうしますか?たぶん、私にはこれまでになかったこの問題に対する興味深い解決策があるかもしれません。 私は基本的に、一種のグラフィックアドベンチャーゲームメーカーに取り組んでいます。私のターゲットオーディエンスは、ゲーム開発(およびプログラミング)の経験がほとんどない人です。このようなアプリケーションで作業している場合、「画像を分割する」ように指示するよりも、内部で問題を処理する方が好みではないでしょうか? 環境 グラフィックカードは、使用できるテクスチャのサイズに一連の制限を課していることはよく知られています。たとえば、XNAを使用する場合、選択するプロファイルに応じて、2048または4096ピクセルの最大テクスチャサイズに制限されます。 通常、2Dゲームではほとんどの場合、小さな個別のピース(タイルや変形したスプライトなど)から構築できるレベルがあるため、それほど問題にはなりません。 しかし、古典的なpoint'n'clickグラフィックアドベンチャーゲーム(Monkey Islandなど)について考えてみてください。グラフィックアドベンチャーゲームの部屋は通常、全体的に設計されており、風景に取り組んでいる画家のように、再現可能なセクションがほとんどまたはまったくありません。または、大規模な事前レンダリングされた背景を使用するFinal Fantasy 7のようなゲーム。 これらの部屋のいくつかはかなり大きくなることがあり、頻繁に3画面以上の幅に広がります。現在、これらの背景を最新の高解像度ゲームのコンテキストで考慮すると、サポートされる最大テクスチャサイズを簡単に超えてしまいます。 これに対する明白な解決策は、背景を要件内に収まる小さなセクションに分割し、それらを並べて描画することです。しかし、あなた(またはあなたのアーティスト)はあなたのテクスチャのすべてを分割する人でなければなりませんか? 高レベルAPIを使用している場合、この状況に対処し、内部で(XNAのコンテンツパイプラインなどの前処理として、または実行時に)テクスチャの分割とアセンブルを行う準備をしてはいけませんか? 編集 XNA実装の観点から、私が考えていたものを以下に示します。 私の2Dエンジンは、Texture2Dの機能の非常に小さなサブセットのみを必要とします。実際にこのインターフェイスに減らすことができます: public interface ITexture { int Height { get; } int Width { get; } void Draw(SpriteBatch spriteBatch, Vector2 position, Rectangle? source, Color color, float rotation, Vector2 origin, Vector2 scale, SpriteEffects effects, float layerDepth); } …
13 xna  c#  2d  graphics  textures 

3
2.5Dゲーム用カメラ
私は5歳のように誰かにこれを説明できることを望んでいます。何時間もこれに苦労してきたし、私が間違っていることを理解できないからです。 Camera2.5Dゲームのクラスを作成しました。意図は、次のようなワールドおよびスクリーンスペースをサポートすることです。 カメラは右側の黒いものです。その画像では、+ Z軸は上向きで、-Zは下向きです。ご覧のとおり、ワールド空間と画面空間の両方の左上に(0、0)があります。 カメラが期待どおりに動作していることを証明するために、いくつかの単体テストを書き始めました。私のテストでは、ワールド、ビュー、およびスクリーンスペースで座標をプロットします。最終的には、イメージ比較を使用してそれらが正しいことを断言しますが、今のところ、テストでは結果を表示するだけです。 レンダリングロジックはCamera.ViewMatrix、ワールド空間を表示空間Camera.WorldPointToScreenに変換し、ワールド空間を画面空間に変換するために使用します。 テストの例を次に示します。 [Fact] public void foo() { var camera = new Camera(new Viewport(0, 0, 250, 100)); DrawingVisual worldRender; DrawingVisual viewRender; DrawingVisual screenRender; this.Render(camera, out worldRender, out viewRender, out screenRender, new Vector3(30, 0, 0), new Vector3(30, 40, 0)); this.ShowRenders(camera, worldRender, viewRender, screenRender); } このテストを実行すると、次のように表示されます。 ワールド空間は問題ないように見えますが、z軸は視聴者に向かうのではなく画面に入ると思われます。 ビュースペースは私を完全に困惑させます。カメラが(0、0)の上に座って、シーンの中心に向かっていることを期待していました。代わりに、z軸は間違った方向にあり、カメラは予想とは反対の角に配置されています! …
12 xna  matrix  projection 

2
球の周りの任意の回転
ユーザーが球の表面を動き回れるようにするメカニズムをコーディングしています。球上の位置は現在、thetaおよびとして保存されますphi。ここでthetaは、現在の位置のz軸とxz投影の間の角度(つまりy軸を中心とした回転)でphi、y軸から位置までの角度です。私はそれを不十分に説明しましたが、本質的にはtheta = yaw、phi = pitch Vector3 position = new Vector3(0,0,1); position.X = (float)Math.Sin(phi) * (float)Math.Sin(theta); position.Y = (float)Math.Sin(phi) * (float)Math.Cos(theta); position.Z = (float)Math.Cos(phi); position *= r; これは正確だと思いますが、間違っているかもしれません。半径のあるワールド空間の原点で、球の表面の周りを任意の疑似2次元方向に移動できる必要がありますr。たとえば、ホールディングWは球体の周りをプレーヤーの向きに対して上方向に移動する必要があります。 球体上の位置/方向を表すためにクォータニオンを使用する必要があると思いますが、正しい方法を考えることはできません。球面形状は、私の強力なスーツではありません。 基本的に、次のブロックを埋める必要があります。 public void Move(Direction dir) { switch (dir) { case Direction.Left: // update quaternion to rotate left break; case Direction.Right: // update …

1
レンダリング、バッチ、グラフィカルカード、パフォーマンスなどに関する情報+ XNA?
タイトルは少しあいまいですが、私が本当に探しているものを説明するのは難しいですが、ここに行きます。 CPUレンダリングに関しては、パフォーマンスはほとんど推定が容易で簡単ですが、GPUに関しては技術的な背景情報が不足しているため、手がかりがありません。私はXNAを使用しているので、理論がそれに関連していればいいと思います。 私が実際に知りたいのは、特定の描画アクションを行うと、いつどこで何が起こるかということです(CPU / GPU)。バッチとは何ですか?効果、投影などはどのような影響を与えますか?データはグラフィックカードに保持されますか、それともすべてのステップで転送されますか?帯域幅について話すとき、グラフィックカードの内部帯域幅について話していますか、それともCPUからGPUへのパイプラインについて話していますか? 注:描画プロセスがどのように行われるかについての情報を実際に探しているわけではありません。それはGPUのビジネスです。それに先行するすべてのオーバーヘッドに興味があります。 アクションXを実行したときに何が起こっているのかを理解し、それにアーキテクチャとプラクティスを適合させたいと思います。 より良いゲームを書く方法についてより多くの洞察を与える記事(おそらくコード例付き)、情報、リンク、チュートリアルは大歓迎です。ありがとう:)

2
非プログラマ向けのXNAゲームの展開を促進する
現在、ベースとしてXNAのRPGスターターキットを使用して、RPGに取り組んでいます。(http://xbox.create.msdn.com/en-US/education/catalog/sample/roleplaying_game)私は小さなチーム(2人のデザイナーと1人の音楽/サウンドアーティスト)で作業していますが、私は唯一のチームですプログラマー。現在、次の(持続不可能な)システムを使用しています:チームがゲームに追加する新しい写真/サウンドを作成するか、既存のサウンド/写真を変更してから、現在のビルドを保持するリポジトリに作業をコミットしますすべての。(コード、画像、音声など)毎日かそこらで、新しいインストーラーを作成し、新しい画像、コードの変更、および音声を反映して、全員がインストールします。 私の問題はこれです。たとえば、チームの他のメンバーが戦闘音を置き換えることができ、構築するのを待たずにすぐに変更を確認できるシステムを作成したいです。XNAのセットアップ方法は、公開する場合、すべての画像ファイルと音声ファイルをエンコードするため、チームは「ホットスワップ」できません。Microsoft VSをすべてのコンピューターにセットアップして、すばやく公開する方法を示すことができますが、これを行う簡単な方法があるかどうかを知りたかったのです。 XNAを使用してチームで作業しているときに、誰かがこれに思いついていますか?
12 xna  rpg 

6
Ball Physics:ボールが止まったときに最終的な跳ね返りを滑らかにする
私は小さなバウンドするボールゲームで別の問題に直面しました。 ボールが止まりそうな最後の瞬間を除いて、ボールはうまく跳ね返ります。ボールの動きは主要部分では滑らかですが、最後に向かって、画面の下部に落ち着くとしばらくボールが動きます。 なぜこれが起こっているのかは理解できますが、それをスムーズにすることはできません。 提供できるアドバイスに感謝します。 私の更新コードは次のとおりです。 public void Update() { // Apply gravity if we're not already on the ground if(Position.Y < GraphicsViewport.Height - Texture.Height) { Velocity += Physics.Gravity.Force; } Velocity *= Physics.Air.Resistance; Position += Velocity; if (Position.X < 0 || Position.X > GraphicsViewport.Width - Texture.Width) { // We've hit a …
12 xna  c#  physics 

1
2Dアートアセット(スプライトなど)はどのように機能しますか?
ゲームについてのアイデアがあり、XNA for Windows Phone 7を使用した2Dゲームの開発を計画しています。 今日は、キャラクターに見せたいコンセプトアートをフリーハンドで描くことから始めました。今、問題はそれらの概念を取り入れてデジタル形式にすることです。 最初に気づいたのは、ゲームアートのさまざまな部分が本当にわからないことです。私はスプライト、テクスチャ、アニメーションがあることを知っていますが、それはそれについてです。テクスチャは3Dオブジェクト上のスプライトだと思いますが、それが正しいかどうかはわかりませんか?ここに私が持っているゲームアートに関する一般的な質問があります。 2Dゲームでテクスチャを使用しますか? ゲームアートのさまざまな部分をどこに適用しますか?たとえば、スプライトとアニメーションを使用する場合。 スプライト、テクスチャアニメーション、その他のアートの違いは何ですか? スプライト、テクスチャ、アニメーションはゲームの唯一のアート要素ですか? ゲーム内のすべての2Dアートはスプライトと見なされますか?キャラクター、背景など スプライトシートとスプライトシートの各キャラクターをどのサイズにしますか? デジタル見込み客からアートを描くための教育に関する良い本やチュートリアルはありますか?私は「GIMP Bible」を入手することを考えていましたが、このようなほとんどの本はデジタル描画よりも写真編集を多く教えています。 私の目的は、コンセプトアート(背景とキャラクター)をGimpを使用してデジタル形式にし、ゲームアートのさまざまな部分について学習する方法を学ぶことです。 とにかく、助けてくれる人に感謝します。

5
タイルベースの2Dプラットフォーマーでの45°の傾斜
タイルベースのプラットフォーマーに単純な45°の傾斜を持たせたいのですが、アルゴリズムをダウンさせることはできません。コードとビデオを見てください、多分私は明らかを見逃していますか? //collisionRectangle is the collision rectangle of the player with //origin at the top left and width and height //wantedPosition is the new position the player will be set to. //this is determined elsewhere by checking the bottom center point of the players rect if(_leftSlope || _rightSlope) { //Test bottom …
12 xna  c#  xna-4.0  platformer 

3
farseer / box2dのような2D物理エンジン内でAIパスをどのようにフォローしますか?
私は、Farseerのような適切な剛体物理エンジンに取り組んでいる2Dトップダウンゲームを動かしている最中です。これまで、必要に応じて自分の物理コードをハッキングしていました。 ここで物事を行う適切な方法を学ぼうとしています。 AIを物理エンジン内で剛体にした後、設定されたパスをAIに追従させる適切な方法は何ですか? AIに追従する必要があるナビゲーションノードのパスがある場合、以前は次のタイムステップでの次の位置を計算し、その位置に手動で設定することで、パスに沿って手動で移動します。 しかし、今ではそれらは剛体であり、衝突や、それらにぶつかってそれらをパスから外す可能性のある力の影響を受けます。 だから、AIを動かすために、私は今、それらに衝動/力を適用すべきだと思いますか?フレームごとに手動で位置を設定する必要はもうありません。 だから私は決定論的世界からAIを強制的に非決定的世界に強制的に追いかける必要があると考えていますそれらを動かすために。 そうですか?それは他の人がそれを行う方法ですか? これは、AIが正確な道を歩いていないので、AIが風景の隅に引っかかるのを避ける方法についてのいくつかの質問を提起します。 または、何らかの方法で2つを混合し、AIの位置を手動で設定して固定パスをたどり、簡単に制御できる特定の状況でのみ他の力に反応させる方が良いでしょうか? アドバイスをありがとう。

1
動的モデルの相互作用
多くのゲーム(アーカムアサイラム/シティ、マンハント、ヒットマンなどのゲーム)で、あなたのキャラクターがあなたの前のキャラクターを「つかみ」、それらに何かをできるようにするために、どのようにそれを行うかについて私は興味があります。これは非常に紛らわしいように聞こえるかもしれませんが、例としてyoutubeにアクセスして「ヒットマンの処刑」を検索します。最初のビデオは私が求めているものの例です。 基本的に、どのようにしてあなたのモデルがあなたが遭遇する他のモデルと動的に相互作用するのか疑問に思っています。そのため、ヒットマンでは、繊維ワイヤーで他のモデルの後ろに来ると、他のキャラクターを絞め殺したり、麻酔薬を持っていると、人が苦労している間、口に手を置いて、ゆっくりと床に行きます。特定の骨/骨格識別子を使用して2つのモデルを使用するようにアニメーション化されたかどうかは、実際に相互作用しているように見えるように正しいタイミングで再生される2つの完全に別々のアニメーションだけである場合、または他の何かがすべて一緒になっているかどうかについて混乱しています。 私はアニメーターではないので、私が言ったことのほとんどは正しくないと思いますが、誰かが私の意味を理解し、答えを提供できることを願っています。 PS)私はプログラマーであり、そのゲームスタイルが大好きだからといって、ヒットマネスクゲームを構築しているところです。モデルとプログラミングの両方を含む例(現時点ではc ++と主にOgre3Dを使用していますが、統一とXNAを使用しています)とても感謝しています。 ありがとう。
12 xna  unity  animation  models  ogre 

7
タイルマップデータを保存する良い方法は何ですか?
私はいくつかの大学の友人と2Dプラットフォーマーを開発しています。.txtファイルを使用してタイルマップを保存するXNA Platformer Starter Kitに基づいています。これは単純ですが、レベル設計で十分な制御と柔軟性を提供するものではありません。いくつかの例:コンテンツの複数のレイヤーに複数のファイルが必要な場合、各オブジェクトはグリッドに固定され、オブジェクトの回転、文字数の制限などが許可されません。したがって、レベルデータの格納方法について調査しています。およびマップファイル。 これは、タイルマップのファイルシステムストレージのみに関係し、ゲームの実行中にゲームで使用されるデータ構造には関係しません。タイルマップは2D配列に読み込まれるため、この質問はどのソースから配列を埋めるかに関するものです。 DBの理由:私の観点からは、データベースを使用してタイルデータを保存するデータの冗長性が少ないと思います。同じ特性を持つ同じx、y位置のタイルは、レベルごとに再利用できます。特定のレベルで使用されているすべてのタイルをデータベースから取得するメソッドを作成するのは十分簡単だと思われます。 JSON / XMLの推論:視覚的に編集可能なファイル。変更はSVNを介してはるかに簡単に追跡できます。しかし、繰り返しコンテンツがあります。 どちらかが他に比べて欠点(ロード時間、アクセス時間、メモリなど)がありますか?そして、業界で一般的に使用されているものは何ですか? 現在、ファイルは次のようになっています。 .................... .................... .................... .................... .................... .................... .................... .........GGG........ .........###........ .................... ....GGG.......GGG... ....###.......###... .................... .1................X. #################### 1-プレーヤーの開始点、X-レベル出口、。-空のスペース、#-プラットフォーム、G-宝石
12 xna  c#  xml 

3
XNAでピクセル完璧な衝突検出を得る良い方法はありますか?
XNAでピクセルパーフェクトコリジョンを検出するためのよく知られた方法(またはおそらく再利用可能なコード)がありますか? これは、最初のパス、衝突のクイックテストにポリゴン(ボックス/三角形/円)も使用し、そのテストが衝突を示した場合、ピクセルごとの衝突を検索すると想定しています。 スケール、回転、透明度を考慮する必要があるため、これは複雑になる可能性があります。 警告:以下の回答のリンクのサンプルコードを使用している場合、十分な理由でマトリックスのスケーリングがコメント化されていることに注意してください。スケーリングを機能させるためにコメントを外す必要はありません。

5
多数のキューブを操作します。パフォーマンスを改善しますか?
編集:質問を要約すると、ボクセルベースの世界(Minecraftスタイル(共産主義のダックに感謝))があり、それはパフォーマンスが悪いことに苦しんでいます。私はその情報源には前向きではありませんが、それを取り除く方法についての可能なアドバイスが欲しいです。 私は世界が大量のキューブで構成されているプロジェクトに取り組んでいます(私はあなたに数字を与えますが、それはユーザー定義の世界です)。私のテスト1は、約(48 x 32 x 48)ブロックです。 基本的に、これらのブロックはそれ自体では何もしません。彼らはただそこに座っています プレーヤーとのやり取りに関しては、使用が開始されます。 ユーザーがマウスで操作するキューブ(マウスオーバー、クリックなど)を確認する必要があります。また、プレーヤーの移動に伴う衝突の検出も必要です。 今では、最初は膨大な量の遅延があり、すべてのブロックをループしていました。 すべてのブロックをループし、どのブロックがキャラクターの特定の範囲内にあるかを見つけて、衝突検出などのためにそれらのブロックのみをループすることで、その遅れを減らすことができました。 しかし、私はまだ憂鬱な2fpsに向かっています。 このラグを減らす方法について他にアイデアはありますか? ところで、私はXNA(C#)を使用しています。はい、それは3Dです。
12 xna  3d  frame-rate  voxels 

2
ユーザーがミニゲームのパックをダウンロードし、メインの.exeを変更せずに実行できるミニゲームのコレクションをXNAで作成するにはどうすればよいですか?
現在、XNAでPCゲームを作っています。これは実際にはミニゲームのコレクションです(現時点では3つのミニゲームがあります)が、ダウンロード可能な「パック」で作成して追加する予定です。 私の質問は、これを達成する最良の方法は何ですか? 現在、私の考えは次のとおりです。 「ゲーム」インターフェースを作成する このインターフェイスにゲームをビルドしますが、.dllとして作成します メインの.exeファイルでディレクトリをスキャンし、実行時に.dllをロードします。 私はこのアイデアをあまりいじっていませんが、少なくともこのプラグインのアプローチを使用するアプリケーションがあることは知っています(Notepad ++はそうです)それらが存在する必要があります)。しかし、これは以前に解決された問題であると思われるので、確立されたベストプラクティスの形式があるかどうか疑問に思っています。
12 xna  c# 

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