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

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

1
無限レベルの手続き型生成
無限の2Dレベルを手続き的に生成するための良いアプローチは何ですか?レベルはどちらかの次元で制約される可能性がありますが、必ずしもそうではありません。 これまでのところ、私にとって最も意味のあるアプローチは、グリッドベースの半径を使用することです。たとえば、プレイエリアを特定のサイズの正方形のグリッドに分割し、プレーヤーの周囲の半径にX個の正方形をロードします。その後、プレーヤーが別の正方形に移動すると、次のセットが構築され、さらに遠くにドロップされます(探索された領域を永続化する必要はありません)。オブジェクトが正方形の外側のリングを離れると、それらは世界から削除されます。より良い方法または別の方法がありますか?または、これが適切なアプローチである場合、潜在的な問題は何ですか? 議論のために、レベルはトップダウンの小惑星フィールドであり、パワーアップなどが散在していると考えることができます。

1
タイルベースの2Dプラットフォーマーの地形生成
私は現在、Terrariaに似たタイルベースの2Dプラットフォーマーにいくつかの点で取り組んでいますが、地形の生成に苦労しています。基本的なことはいくつか済ませていますが、有用なものとしては出ていません。 Perlin Noiseのようないくつかの異なる手法を試してみて、Midpoint Displacementなどの他のいくつかについて読んでみましたが、どれが最適か、または異なる領域を生成するための異なる手法の組み合わせについてはわかりません。(地形の一般的な形状の場合は中点変位、洞窟の場合はパーリンノイズなど) Accidental Noise LibraryでC ++になっているにもかかわらず、どのようにレイヤー化できるかについての優れた説明を見つけました。また、C#から使用できるDLLにコンパイルするのに十分なC ++がわかりません。私はこれをC#でコピーしようとしましたが、2つの効果(一般的なベースの勾配、次に詳細なフラクタル)を一緒にマージする方法はわかりません。 現在、私はプラズマフラクタルを使用しており、結果は非常に多様です。たとえば、表面がほとんどない地形を生成したり、表面がまったくない地形を生成したりできます。 ただし、大丈夫なマップの例では、さらに改善することで改善されます。(黒は固体、白は空気): ひどい地図の例。(黒は固体、白は空気): 基本的に、私が求めているのは、地形を生成するためのより良い方法であるか、生成時間を可能な限り速くして、合理的な量の表面積があることを確認することです。または、偶然のノイズライブラリと同じ結果をC#で実現する方法もあります。 どんな例でも大歓迎です。

4
特定のエリアの建物を手続き的に生成する
私とチームは、ゲームの開始時にプレイヤーにランダムなファクトリーを提供するファクトリービルダーゲームに取り組んでいます。「公平性」の感覚を確保するために、ランダムに生成されたファクトリーは、(プレースホルダー値)30の数単位以内の領域を持つことが理想です。 これらの仕様を満たすために基本的なランダム長方形ジェネレーターを書くのは比較的簡単ですが、私たちの目標は、おそらく2、3、または4つの交差する長方形で構成される工場をより複雑にし、より複雑な形状を生成することです(L U、およびO形の建物)。 ランダムな長方形を生成し、基本的な代数を使用して2番目の長方形を埋めようとしましたが、これまでのところ2つ以上の長方形を実装することはできませんでしたが、それでも2つの長方形のデザインの結果に満足できませんでした。 より関連性の高い情報:2Dトップダウンメカニックの一部はファクトリースタイルであるため、部屋には適切な長さと幅を持たせて、現在JavaとLuaで使用できるようにします(必要に応じて、いずれかの組み込みライブラリを使用できます) 前もって感謝します! 編集:「良い」または「悪い」出力を言うと、悪い出力は、プレーヤーが使用できないスペースがある出力になります。工場の形状は、プレーヤーがコンベアベルトなどの工場の機械を配置できる場所を制限します。理想的には、工場には幅が1〜2ブロックしかない領域はなく、形状は1〜2ブロックの線が1辺に「垂れ下がる」1つまたは2つの大きな長方形であってはなりません。適切な出力は、すべての床面積が「実行可能」であるため、すべての領域が少なくとも3〜4ブロック幅です。優れた出力は必ずしも複雑である必要はありません(1つまたは2つの長方形でも構いません)が、1-2を超える長方形で構成される場合は、かなりのチャンスがあるはずです。


6
シームレスにループする2Dマルチプレイヤーレベルを作成しますか?
最近、ループレベルのデザインを持つことができる2D横スクロールマルチプレイヤーゲームを作成する方法について議論がありました(スターバウンドとその世界がどのようにループしているのかを考えてください)。 最も簡単な方法は、プレイヤーを一方から他方へテレポートできるトリガーゾーンを持つ長方形のマップを作成することだと思いました。しかし、このアプローチの明らかな問題は、マップの端に複数のプレイヤーが一度にいる場合です。プレイヤーをお互いの前にテレポートするだけでなく、他のプレイヤーが消えることなくプレイヤーを輸送する方法が必要になります。 このアイデアを追加して問題を解決するために、私は次のことを思いつきました。プレイヤーが「クローンゾーン」(緑の四角)を見ることができるトリガーゾーン(画像の赤の四角)を持っています。この緑色の正方形では、トリガーゾーンの反対側からのオブジェクトが対応するクローンゾーンにコピーされます(A&Bシェイプで見ることができます)。プレイヤーが「クローンゾーン」の開始端に到達すると、マップの反対側にテレポートされます。 この例では、プレイヤー2はプレイヤー1を見ていると考えますが、実際には自分のクローンを見ているか、その逆です。 これは目前の問題にとっては少し極端で複雑に思えました。私の質問は、この解決策が問題に取り組むための良いアプローチであるかどうか、またはこの問題を解決するより簡単な方法があるかどうかを知ることです。

1
手続き的に生成されたトップダウンランドスケープを興味深いものにする
私は、手続き的に生成された世界を持つゲームに取り組んでいます。理想的には、Minecraftの世界と同じくらい美しい風景を生成したいと思います。Minecraftには、割れ目、滝、山、なだらかな丘、海などがあります。しかし、これはトップダウン(実際には3/4の視点)ゲームになるため、そのほとんどは可能だとは思いません。主な理由は、この視点で高さを表現しようとするのがどれほど難しいかです。ゼルダ:過去へのリンクは高さの錯覚をうまく作り出しましたが、これは手続き的に再現するのが非常に難しく、また、最も高い構造が地図の最上部になければならないという事実などのいくつかの問題をもたらします。 ですから、3次元を偽造することなく、トップダウン形式でランドスケープを面白くするためのテクニックをいくつか知りたいと思います。(このゲームでは地形を作成したり破壊したりすることはできません。そのため、もう少し柔軟性が得られます。) 編集:物事をもう少し明確にするために、3次元を必要とする機能を持つ世界を避けようとしています。たとえば、なだらかな丘や山はありません。3次元を偽造する必要がないランドスケープ機能を追加できますか?1つの答えは川を追加することかもしれませんが、それは明らかなものです。

1
Kinectの3Dポイントを使用したキーストーン補正
XNAでは、床に投影される単純な長方形を表示しています。プロジェクタは任意の位置に配置できます。明らかに、投影された長方形は、プロジェクターの位置と角度に応じて歪みます。Kinectは床をスキャンして、四隅を探します。ここでの私の目標は、元の長方形を変形して、長方形を基本的にプリワープすることで投影が歪まないようにすることです。 私の最初のアプローチは、すべてを2Dで行うことでした。まずwarpPerspective()、スキャンしたポイントから内部の四角形のポイントへの透視変換(OpenCVを使用)を計算し、四角形に逆を適用します。これは機能しているように見えましたが、GPUでレンダリングできないため遅すぎました。 2番目のアプローチは、XNAのレンダリング機能を使用するために3Dですべてを行うことでした。最初に、プレーンを表示し、Kinectでコーナーをスキャンして、受信した3Dポイントを元のプレーンにマッピングします。理論的には、2Dアプローチで行ったように、透視変換の逆を平面に適用できます。ただし、XNAはビューと投影行列で機能するwarpPerspective()ため、次のような関数を呼び出して目的の結果を取得することはできません。カメラのビューと投影マトリックスの新しいパラメーターを計算する必要があります。 質問:これらのパラメーターを計算し、2つのマトリックス(ビューとプロジェクション)に分割することは可能ですか?そうでない場合、私が使用できる別のアプローチはありますか?
15 xna  2d  3d  projection  kinect 

2
2D惑星重力
私は、宇宙船が発射され、その経路が惑星の重力によって影響される単純なゲームを作ろうとしています。 このゲームに似ています:http : //sciencenetlinks.com/interactives/gravity.html このゲームで惑星が宇宙船に与える影響を再現する方法を知りたいので、宇宙船が惑星の周りをループして方向を変えることができます。 私は、宇宙船が惑星の周りの巨大な楕円でループするか、ベクトルを使用して惑星の重力の影響をわずかしか受けないという偽の結果を達成することができました。 前もって感謝します。 PSゲーム開発者とは関係のないコーディング経験が豊富にあります。
15 2d  physics 

5
弾丸リリースと発射アニメーションを結び付ける方法
弾丸を発射するときに発生させたいアニメーションがあるとしましょう。アニメーションの最後に弾丸をどのように表示しますか。私が理解できる唯一のことは、アニメーションの時間の長さを知り、その時間が経過するまで弾丸の位置の設定とアクティブな設定を遅らせることです。これが最善のアプローチかどうか疑問に思っていましたが、他の誰もこれをどのように扱っていますか? 編集:私は質問を適切に表現するのに問題があると思う。
15 2d  animation  release  timing 

3
複数のオブジェクトとの衝突の場合の衝突解決
静的オブジェクトと可動オブジェクトがあります。衝突は、separating-axis-theoremを使用して検出されます。 たとえば、この状況では、2つの静的オブジェクト(赤)があります。 そして2つの間の可動オブジェクト: 私のアルゴリズムは、これらの2つのオブジェクト間の衝突を計算できます。また、衝突に対して完全な解像度ベクトル(最小変位ベクトル)を吐き出します。 したがって、たとえば、緑の長方形と右の赤の長方形の衝突をチェックすると、アルゴリズムは、衝突を解決するために緑の長方形を移動する方法を示すベクトルを吐き出します。 MSPaintでこれをすばやく描画したことに注意してください。そのため、その図では、minimum-translation-vectorが緑の長方形を上部に押し出している可能性がありますが、右は実際には短いです。 これにアプローチする一般的な方法は、一度にすべてではなく、フレームごとに1つの衝突の衝突を解決することです。しかし、私の場合、これはフリップフロップになります: 最初に、ソルバーは2つの衝突を検出しますが、右の長方形と緑の長方形の間の衝突のみを解決します。 次に、次のフレームで、左の赤い長方形と緑の長方形の間の衝突を1つだけ検出し、解決します。 ご覧のとおり、これは実際には衝突を解決しません(たとえば、緑色の長方形を一番上に押し出すことによって)。代わりに、2つの状態の間でフロップを無限にフリップします。 どうすれば解決できますか?

4
2点間の曲線運動
オブジェクトを素敵な曲線運動でポイント間を移動できるようにする良い方法は何ですか? ホーミングミサイルの軌道など、終了位置も動いている可能性があります。
15 xna  2d  movement 

4
2Dアイソメゲームでのリアルタイムシャドウキャスティング
私はC ++で小さな2Dアイソメトリックエンジンを書いており、リアルタイムのシャドウキャスティングを実装しようとしています。このページで説明されている簡単なアプローチに従いました。結果は次のとおりです(光は黄色のキューブと同じ位置にあります)。 結果は非常に良いですが、壁とキューブの上部に影がありません。これがどのように見えるかの例を次に示します(予想される影を緑色で描画しました)。 描画されるすべてのキューブは、XY位置に配置され、Z深度(z = x + y)の3つの2Dクワッドで単純に作成されます。OpenGLを正投影マトリックス(glOrtho)と共に使用します。影はステンシルバッファーを使用して描画されます。 このシャドウキャストの実装を完了するのに役立つリソースまたはソリューションを探しています。 どうもありがとう!

2
2D XNAゲームで電気/照明/テスラコイル効果を作成しますか?
:私はこのビデオに非常に似て2点間の電気のビームを作成したいhttp://www.youtube.com/watch?v=eMJ8-56L3Lcを。効果は非常に動的で、ポイント間の可変長と擬似ランダムな動きにより、そのようなことをどのように達成するか想像できません。私を正しい方向に導く可能性のある有用な情報はありますか? XNA 4.0 Reachプロファイルを使用していることに注意する必要がありますが、Windows Phoneを対象にしていないため、カスタムシェーダーでも大丈夫です。

1
2Dゲームのタイルサイズ[非公開]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 タイルマッピング方法を使用して小さなゲームを開発しているときに、疑問が浮かびました。 Windowsでゲームを開発しますが、別のプラットフォームへの適応を排除しません。 次の要件を持つタイルマップゲーム(RPGなど)のタイルを作成するために、どのサイズ(ピクセル単位)を使用することをお勧めしますか? タイルが多すぎることなく、許容できる詳細レベルを確保します。 適切なマップサイズを持つ。 ハンドヘルド(PSPなど)、スマートフォン、またはコンピューターでゲームの適応を許可します。細部の損失や速度の低下はあまりありません。 多かれ少なかれ重要なズームイン/ズームアウトを許可します。 ピクセルパーフェクトコリジョンまたはブロックコリジョンを許可するタイルの解像度を持っている。 優れた説明からゲームの例まで、要件に適合する限り有用です。 この質問は少し単純に見えるかもしれませんが、多くのインディーズゲーム開発者が不適切なスケールシーンを使用していることに気付きました。 また、構文が貧弱で、私の質問の語彙が不足していることを残念に思います。英語を母国語としない人は、コンピュータープログラミングについて話すときには役に立ちません。
15 2d  tiles 

2
OpenGL ES 2.0:2Dプロジェクションのセットアップ
この記事では、一般的に、固定機能パイプラインを使用してシャープなOpenGL 2Dグラフィックスを描画する方法について説明します。 http://basic4gl.wikispaces.com/2D+Drawing+in+OpenGL OpenGL ES 2.0には使用できないES 1.x関数(glOrtho()など)があるため、それらの機能はフラグメント/頂点シェーダーで置き換える必要があります。 私の質問は、プログラム可能な関数パイプラインで次の2D投影を設定する方法ですか? const XSize = 640, YSize = 480 glMatrixMode (GL_PROJECTION) glLoadIdentity (); glOrtho (0, XSize, YSize, 0, 0, 1) glMatrixMode (GL_MODELVIEW) 上記の固定機能2D投影設定を完全に置き換えるために、フラグメントシェーダーと頂点シェーダーをどのように構成する必要がありますか?

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