タグ付けされた質問 「2d」

2Dは、座標がX値とY値で表される2次元空間を指します。

5
2Dでは、ポイントに最も近いオブジェクトを効率的に見つけるにはどうすればよいですか?
かなりのゲームエンジンを持っているので、ポイントのリストの中で最も近いものを見つける機能が欲しいのですが。 ピタゴラスの定理を使用して各距離を見つけ、最小距離を選択することができますが、それにはすべての距離を反復する必要があります。 衝突システムもあり、基本的にはオブジェクトを小さなグリッド(ミニマップのようなもの)上の小さなオブジェクトに変え、同じグリッド空間にオブジェクトが存在する場合にのみ衝突をチェックします。グリッド間隔を大きくするだけで、近接性を確認できます。(すべての単一オブジェクトをチェックするのではなく。)ただし、それは私の基本クラスで追加のセットアップが必要になり、既に散らかったオブジェクトを散らかします。その価値はありますか? ポイントとサイズのリストに基づいて、最も近いオブジェクトを検出するために使用できる効率的かつ正確なものはありますか?
35 c++  2d  algorithm  vector  picking 

2
2Dスプライトの回転力の計算
誰かが次のシナリオを計算するエレガントな方法を持っているかどうか疑問に思っています。 私は(n)個の正方形、ランダムな形状のオブジェクトを持っていますが、それらはすべて長方形のふりをします。 私たちは重力を扱っていないので、空間内のオブジェクトをトップダウンの観点から検討します。下の図のように、特定の正方形のオブジェクトに力を加えています。 適用されている場所で、適用されている力に基づいて回転角度を計算する方法を教えてください。中央の正方形に適用すると、まっすぐになります。中心からさらに移動すると、どのように動作しますか?回転速度の計算方法は?
35 2d  rotation  physics  vector 

2
壁の上を歩くことができるキャラクターを作成するにはどうすればよいですか?
キャラクターがクモのように動くようにしようとしています。通常、ボールがロールアップできない傾斜が上昇すると、クモはゆっくりとupい上がります。 同様に、空中に長方形のプラットフォームがある場合、クモはエッジに到達したときに倒れるのではなく、エッジを包み込み、プラットフォームの側面と下側に続きます(最終的にプラットフォームの周囲を歩きます)。 さまざまなUnity 2Dコンポーネントを調べましたが、ほとんど成功していません。:( 私の世界の衝突境界のほとんどは、Collider 2Dコンポーネントによってマークされています(重力の影響を受けた単純なボールではうまく機能しますが、このスパイダーキャラクターではそれほど効果がありません)。

11
2Dゲームには未来がありますか?[閉まっている]
私は現在2Dソフトボディ物理エンジンに取り組んでいます(現時点ではどれも存在しないので-_-)が、おそらく何年もかかることに費やしても意味がないのではないかと心配しています。 私はそれに取り組んでいますが、そのようなエンジンは、図書館にお金を払ってくれる人なら誰でも3Dで動作する可能性が高いことを考えると、収入を得られるとは思いません。 2Dゲームには、ゲーム業界に何らかの未来がありますか? エンジンを落として、作業に意味のあるものを見つける必要がありますか? ボーナス: 多次元のゲームを見て、2Dゲームで物理エンジンを実装するユニークな方法を考えていましたが、それでもPaper Marioのような2Dパースペクティブです。何か案は?

4
なぜオブジェクトが90度よりも45度で速く動くのですか?
ゲームには、90度ではなく45度でより速く動くオブジェクトがあります。 各オブジェクトには ポイント(x、y)位置 Vector2D(x、y)方向 Int速度 そして、更新中に私がすることは、新しい位置が次のように計算されるということです。 position.x += direction.x * speed position.y += direction.y * speed これを修正するにはどうすればよいですか?どんな角度でも同じ速度で動くようにしたい。
32 c#  2d  geometry 

3
ラスターベースのグラフィックスコンテンツの解像度の独立性にどのようにアプローチしますか?
ハンドヘルドなど、ロックされたプラットフォーム仕様で実行するのに十分でない幸運なゲームは、さまざまな解像度形式とアスペクト比で実行する必要があります。 3Dゲームでは、ラスターグラフィックスに基づいたHUDまたはメニューGUIがあり、2Dゲームでは、スプライトの容器であるクワッドの束があります。 私の質問は、さまざまな解像度とアスペクト比にまたがるコンテンツの設計と運用にどのようにアプローチするかということです。300x400ピクセルのスプライトであり、タイルでできたレベルに囲まれたスプライトキャラクターがあるとします。異なる解像度/アスペクト比では、まったく異なるFOVが表示されます。または、HUDまたはGUIメニューがある場合は、画面に対して同じ位置に同じサイズのいくつかのものを保持する必要があります。それでも、グラフィックソースはラスタービットマップであり、ベクターではありません。 明らかに、問題は何度も対処されています。私はこれまでのところあなたのために働いた様々なアプローチを聞いて興味を持っています。あなたは解像度とアスペクト比または他のアプローチに基づいた式を介して魔法のように必要な次元に変換する任意の次元に依存しない「ピクセル」ユニットを保持していますか? 編集: したがって、結論はアスペクト比を列挙することです。アスペクトと解像度の最小の組み合わせは、重要なものを設計するものです。あなたがするなら安全なエリア。縦横比は同じですが、解像度が高いと単純なスケーリングの問題になります。アートコンテンツは、最高の解像度で設計されています。アスペクト比を大きくすると、情報が表示されたレベル/ FOVがより多く表示されますが、安全な領域の情報ほど重要ではありません。私が作ったこの画像のようなもの。
32 2d  sprites  gui 


6
潜在的に無限の2Dマップデータを保存する方法は?
現在、100 x 100タイルのチャンクを処理できる2Dプラットフォーマーがあり、チャンク座標はlongとして格納されているため、これがマップの唯一の制限です(maxlong * maxlong)。エンティティの位置などはすべてチャンク関連であるため、制限はありません。 私が抱えている問題は、何千ものファイルを持たずにこれらのチャンクを保存してアクセスする方法です。すぐにすべてを開く必要のない、できればすばやく低コストのアーカイブ形式のアイデアはありますか?
29 xna  2d  c#  maps  platformer 

3
ゼルダのような2Dゲームは、彼の一部だけが表示されている建物の後ろにいるキャラクターをどのように処理しますか?
単純なゼルダスタイルのゲームを開発しようとしています。この非常に便利なトピックを見つけました LoZ:A Link to the Pastはどのようにサブタイル衝突を処理しましたか? 衝突検出メカニズムを開発するためのリファレンスとして使用しています。ただし、理解できなかったことがあります。リンクが建物の背後にある場合、彼の一部のみが表示されます。誰もこの効果を達成する方法を理解するのを助けてくれますか?建物は背景の一部ではありませんか?
28 2d 

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 

2
接続されたパスを持つ手続き型2Dマップのアルゴリズム
解決すべき問題:すべての部屋が接続されているタイルベースのゲームのランダムな2Dダンジョンマップを生成します。 現在のソリューションよりも優れたソリューションを探しています。 私の現在の解決策は、2つのアルゴリズムを実行することです。最初の部屋ではダンジョンを生成します。2番目は、すべての部屋が接続されていることを確認します。私は他の解決策が存在するかもしれないと思っています。より高速および/または簡単など。速度は実際には問題ではありませんが、実際のコストをかけずに速度を上げることができれば、それは良いことです。さらに重要なことは、私と他の読者は、問題にアプローチして解決するさまざまな方法を学ぶことができるということです。 以下は私の現在の実装です。現在、部屋には出口がないか、2、3、または4方向に出口があります。 ダンジョンルームの生成 セットアップ:現在の部屋を左上の部屋に設定します。 部屋の有効な部屋タイプを取得します(有効な部屋タイプとは、ダンジョンの出口がなく、上の部屋と左の部屋の出口に一致する出口があるタイプです。以下の手順2のために残されました)。 部屋を置いて、x座標を1ステップ進めます。X座標がダンジョンの幅を超える場合、X座標を0に設定し、Y座標を1ステップ進めます。y座標がダンジョンの高さを超えている場合、完了です。 #1から繰り返します。 次に、すべての部屋が接続されているかどうかを確認します。すべてが接続されていない場合は、2番目のアルゴリズムを実行します。接続されるまで。 すべての部屋が接続されているかどうかを確認する セットアップ:パスを表す整数の2Dマップを作成し、エントリを「未処理」(まだ通過していない)-1に初期化します。現在のパスを追跡する開始パスインデックス整数を1に設定します。チェックする部屋のスタックに追加することにより、現在の部屋を左上の部屋に設定します。 スタックにチェックするルームが含まれる場合、ポップしてルームのパスインデックスを現在のパスインデックスに設定します。スタックに部屋が含まれていない場合は、パスインデックスを増やし、まだ処理されていない部屋を取得するまで、列ごと、行ごとに進めて部屋を取得してください。部屋が見つからない場合は、完了です。 部屋の左側に出口があるかどうかを確認します。まだそこにない場合、スタックに左の部屋を追加している場合。 下方向、右方向、および上方向について手順2を繰り返します(部屋を上方向から時計回りに移動するスタックを使用しているため)。 手順1から繰り返します。 パスインデックスのカウントが1より大きい場合、接続されていない部屋があります。 接続されていない部屋がある場合は、パスインデックスで部屋をグループ化し、最大のパスのインデックスを取得し、他のすべての部屋をそれらの部屋に接続します。これは進行中の作業ですが、私の(現在の、「強烈な」)計画は、部屋グループ(最初の部屋を除く)の各部屋を通過して、biggeset部屋グループへの水平または垂直パスがあるかどうかを確認することです。その場合、間に部屋を挿入/更新することにより、そこに水平/垂直パスを作成します。すすぎ、繰り返します。glyい、はい、しかしそれは視覚的なパターンの点で目立たないものなので、その意味で機能します。

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 

3
手続き的に生成された世界でフィーチャ領域を識別するにはどうすればよいですか?
私は島を作っています。私は古典的なハイトマップソリューションを使用します。丘の構築機能を使用して、マップの角を避けて高度を作成します。次に、パーリンノイズは、バイオームを処理するための気候変数を提供します。今、私は何らかの形で接続されている2つの課題に直面しています: ドワーフ要塞では、世界の生成のきちんとした側面の1つは、ゲームがどのように領域を「認識」し、長方形にするのではなく名前を付けるように見えるかです。森林、川、丘を「認識」できるようにしたい...マップをスキャンしてその領域を解釈するためにどのようなアルゴリズムを使用できるか考えていますか?そして、それをどのように保存しますか?「タイルオブジェクト」のベクトルのベクトルから作成された基本的なC ++グラフを使用しています。 この島は、純粋に自然な地域だけでなく、政治的な地域に分けられるべきです。山や川を使って「自然な境界線」を作ることはできますが、手続き的に生成された地図は保証されません。王国を形成する素敵な「飛び地」ができます。ミクロの王国に囲まれた巨大な「リボンの形をした」政治的領域を持っていることに気付いた。別の可能性は、都市または城に適したエリアを探すことです。次に、その周辺の政治領域を「成長」させます。しかし、再び、私は自分自身を考案しようとする前に、いくつかの有名なアルゴリズムを持ちたいです。 この質問は少し曖昧すぎると解釈される可能性があるため、言い換えると、手順で生成された世界をゲームプレイに適した領域に(変更せずに)分割する方法はありますか?よろしくお願いします。

5
2つの2Dベクトル間の角度と適切な回転方向を計算するにはどうすればよいですか?
障害物がなく、動きがXY平面に制限されている動きAIに取り組んでいます。私は2つのベクトル、v、船1の対面方向、w、船1の位置から船2を指すベクトルを計算しています。 次に、式を使用してこれらの2つのベクトル間の角度を計算しています arccos((v · w) / (|v| · |w|)) 私が抱えている問題は、arccos0°から180°の間の値しか返さないことです。これにより、他の船と向き合うために左に曲がるか右に曲がるかを判断できなくなります。 これを行うためのより良い方法はありますか?
26 2d  vector 

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