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

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

2
Lシステムを使用して手続き的に都市を生成する
私は現在、手続き的に生成されたコンテンツに重点を置いたアプリを作成しています。これまでのところ、シンプレックスノイズを使用して、地形の手順による生成とマップの形状の実装に成功しています。私はそれがどのように見えるかに本当に満足しています。今、私は都市にも同じことをしようとしています。通りと建物の2Dレイアウトを生成するだけです。私はそれを調査しました、そして、ほとんどの人がL-Systemsを使うことを提案するようです。しかし、私はそれらの周りに頭を包むようには見えません。コンセプトはわかりますが、コードへの実装はわかりません。誰かが手続き的に生成された都市のためのLシステムのコード例、または都市を処理する他の方法に関する提案を持っていますか?

3
2Dゲームの解像度を独立させるにはどうすればよいですか?
私は単純な2Dゲームに取り組んでいます。携帯版を完成させました。 ただし、上司は自分のRTでゲームを動作させたいと考えています。「変換」を実行していますが、次のように画面サイズをハードコード化しているため、ボタンが間違った場所にあります。 texture = game.Content.Load<Texture2D>("StartScreen"); mainFrame = new Rectangle(0, 0, game.GraphicsDevice.Viewport.Width, game.GraphicsDevice.Viewport.Height); // button definitions startbrect = new Rectangle(300, 258, 88, 88); startbtext = game.Content.Load<Texture2D>("bplay"); この例でmainframeは問題startbrectありませんが、Windows Phoneの画面に合わせてサイズを定義したので問題ありません。すべてのWindows 8電話の画面が異なる場合、レスポンシブデザインをどのように処理できますか?適切なサイズになるたびに計算する数式またはマクロはありますか?
10 c#  2d  resolution 

3
AからBにジャンプできますか?
横スクロール用の基本的なAIを作成しています。ジャンプを実行するだけで、AIユニットがポイントAからポイントBに到達できるかどうかを知る必要があります。 私の文字の飛行軌道はとても古典とは異なり、彼らは(例えばジャズJackrabbitの2のように)空中に力を加えることができるように、ビットunusalで発射の弾道についてです... 投射または発射された発射体が推進力なしに進む経路(...) ...私の問題は、推進力を備えた発射体(ロケットなど)に関するものだと思います。 これを説明するために、ジャンプして「左ボタン」を押し続けると、これは私のキャラクターの飛行曲線のようになります(左端では異なります。空中でマニューバを作成していた場所です)。 飛行中に加えられる力は常にX軸に平行であるため、「左」を押し続けるとF =(-f、0)、「右」を押し続けるとF =(f、0)になります。 彼はスキージャンパーのように非常に動くことができます: したがって、それは単に放物線である古典的な軌道とは大きく異なります(出典:ウィキペディア)。 さらに難しくするために、単純な空気抵抗をシミュレートしているので、キャラクターはある最大速度値までしか加速できません。 これは、反対の移動方向に小さな力を加えることによって行われます。 b2Vec2 vel = body->GetLinearVelocity(); float speed = vel.Normalize(); //normalizes vector and returns length body->ApplyForce( AIR_RESISTANCE_MULT * speed * speed * -vel, body->GetWorldCenter() ); AIR_RESISTANCE_MULTは定数で、私の場合は0.1です。 私の性格は無限に小さいと仮定しましょう。 そして、私は障害物を考慮に入れていないので、私の質問は次のようになります... 初期速度V、ジャンプ時にキャラクターに適用する衝撃J =(0、-j)、重力G =(0、g)、力F =(+ -f)を指定して(少なくとも確実に推測する)を決定する方法、0)飛行中に継続的に適用され、空気抵抗を考慮することにした場合はAIR_RESISTANCE_MULT (これはオプションです) 、ポイントが、キャラクターがたどるパスによって描かれた曲線の下にあるかどうか 文字通り、どこから計算を始めればよいのかまったくわかりません。実際、必ずしも正確な答えに興味があるわけではありません。AIが完全に動作する必要はないので、うまく機能するハック/近似は素晴らしいでしょう。 編集: Jasonが示唆するように、シミュレーションを使用してこれを解決することにしましたが、そのような場合の対処方法は? CからDへのセグメントを描画し、目的のポイントがこのセグメントの下にあるかどうかを確認する必要がありますか? または、CとDの間のタイムステップをバイナリ検索して、目的のポイントに対して水平距離が十分に近いポイントを探し、その後、垂直方向の差を確認する必要がありますか?(私には少しやり過ぎに思えます)

2
落下ブロックと複雑な形状
私は現在、テトリスのような単純なゲームを持っていて、解決できない問題に遭遇しました。 テトリスとは異なりがある場合、単一の落下形状は、I落下する必要のある複数の、潜在的に連動形状を有しています。最終的な位置を計算する必要があります。以下を検討してください。 緑の形状の最終的な位置を計算するには、別の正方形またはボードの端に当たるまで、すべての正方形をスキャンします。できた 複数の単純な形状の場合は、ボードを上に向かって作業します。したがって、赤は移動する必要がないことがわかり、オレンジは1つ下がり、緑は3つ下がります。できた 連動する緑と赤の形の扱い方がわかりません。#2のロジックを使用すると、空中で「スタック」してしまいます。緑の形状を下にスキャンすると、赤に遭遇して移動しません。赤の場合も同様です。解決策は、2つの形状を1つとして扱うことです。 #3と同様に、このシナリオでは、オブジェクトを1つとして扱うことで成功させることもできます。 #3や#4とは異なり、オレンジのシェイプは1スクエアの高さに浮き上がるため、シェイプを1つとして扱うことができませんでした... 問題#6の別のバリエーション。 ますます複雑なシナリオで織り交ぜる多くの図形がある他のシナリオも考えられますが、上記で問題の最も基本的な部分がカバーされていると思います。 私がまだ出会っていない/考えていないエレガントな解決策があるように感じます。洞察、アイデア、またはリソースに非常に感謝します。 解決 私が思いついた解決策は確かにエレガントです、以下の@ user35958の答えに基づいて、次の再帰関数(疑似コード)を作成しました function stop(square1, square2){ // Skip if we're already stopped if(square1.stopped){ return; } // Are we comparing squares? if(!square2){ // We are NOT comparing squares, simply stop. square1.stopped = true; } else { // Stop IF // square1 …

1
レイヤー間にキャストされた2Dシャドウを実装するにはどうすればよいですか?
別のレイヤーのオブジェクトによってキャストされる2Dシャドウを実装するにはどうすればよいですか? Catalin Zimaの有名なチュートリアルの動的照明とは異なります。 しかし、このビデオのパイプの影のように: そして、このビデオのプラットフォームの影とキャラクターのように: 多くのレイヤーとさまざまな色の多くのライトがあるシーンで同じ種類のライティングを使用したいと思います。 レイヤーの背後にあるレイヤーの上にレイヤーの黒いコピーを描画し、影がキャストされているレイヤーの穴に応じて調整することで、これを想像できます。しかし、私はこれのためのより安価な、ピクセルシェーダーベースのアプローチがあることを願っています。

2
Java 2Dゲームプログラミング:ゲームループを作るためのさまざまなアプローチ
私はJavaゲームプログラミングに不慣れですが、ゲームループを作成するためのいくつかの異なるアプローチを見てきたので、読むほど、混乱します。1. Timerクラスを使用する標準的なアプローチ(少ないようです)正確)。2. System.nanoTimeを使用するより正確なアプローチ。3. scheduleAtFixedRateを使用する単純なアプローチ。 一般的にどちらを優先する必要があり、各アプローチの利点と欠点はどこにありますか?事前に情報をありがとうございました。

1
2D「ピクセル」クラウドを取得してマウスを追跡する
私は、数百の小さな立方体またはディスクの「クラウド」を取得して、互いに重なることなくマウスカーソルを追跡する2Dゲームに取り組んでいます。 ただし、物理エンジンを使用すると、ディスクの数が増え、衝突検出が一般的に不安定になるため、パフォーマンスが低下します。 この種のもののためにエンジンを最適化する簡単な方法はありますか?そうでない場合は、エンジンをオフにして自分で何かを書いたほうがよいでしょうか。(ここでストローを握りますが:)これを行う方法に関する優れたリソースまたは例はありますか?
10 2d  physics  unity 

2
2DタイルベースのRTSで橋の下を通過するボート
2DタイルベースのRTSを書いています。そして私はそれに「疑似3D」機能を追加したいと思います-川に架かる橋。 私はまだコーディングを開始していません。衝突検出モデルにどのように適合するかを考えようとしています。橋の下を通過するボートと橋の上を移動するユニットは、最終的にマップ上の同じセルを占有します。それらを衝突から予防する方法は? そのような問題を解決するための一般的なアプローチはありますか?または、これを行うには3Dワールドを実装する必要がありますか?

1
ピクセルの忠実度を維持する変換された2Dスプライト用の「レトロ」ピクセルシェーダーを作成する方法
以下の画像は、背景の上にポイントサンプリングを使用してレンダリングされた2つのスプライトを示しています。 左の頭蓋骨には回転/スケーリングが適用されていないため、すべてのピクセルが背景と完全に一致しています。 右の頭蓋骨が回転/スケーリングされ、これにより軸が揃えられなくなった大きなピクセルが生成されます。 変換されたスプライトを右側にレンダリングし、残りのシーンと同じサイズのピクセルを軸に揃えたピクセルシェーダーを開発するにはどうすればよいですか? これは、モンキーアイランドなどの古いゲームでスプライトスケーリングがどのように実装されたかに関連している可能性があります。これは、私が達成しようとしている効果ですが、回転が追加されているためです。 編集する kaoDの提案に従って、私は問題を後処理として対処しようとしました。最も簡単な方法は、最初に別のレンダーターゲットにレンダーし(目的のピクセルサイズに一致するようにダウンサンプリングし)、2回目にレンダーするときにそれをアップスケールすることでした。上記の私の要件に対処しました。 最初に私はそれLinear -> Pointをやってみました、そして結果はこれでした: 歪みはありませんが、結果はぼやけて見え、ハイライトカラーのほ​​とんどが失われます。私の意見では、それは私が必要としたレトロな外観を壊します。 2回目に試したところPoint -> Point、結果は次のようになりました。 歪みはあるものの、私のニーズにはそれで十分かもしれませんが、静止画としては動きよりも見た目は良くなります。 実例として、これは効果のビデオですが、YouTubeはピクセルを除外しています。 http://youtu.be/hqokk58KFmI ただし、移動中の歪みの量を減らしながら、くっきりした外観を維持できる優れたサンプリングソリューションを誰かが思いついた場合は、質問を数日間開いたままにしておきます。

3
2DゲームでDX10 / 11を使用することに何か利点はありますか?
私はDX10 / 11クラスのハードウェアによって導入された機能セットに完全に精通していません。ジオメトリシェーダー、計算シェーダー、新しいテッセレーションステージなど、プログラム可能なグラフィックスパイプラインに追加された新しいステージについては、漠然と精通しています。しかし、これらのどれが2Dゲームの違いを大きく変えるかはわかりません。 2DゲームをDX10 / 11(またはOpenGLの同等物)に切り替える説得力のある理由はありますか、または市場のかなりのシェアが古い技術(例: 2012年2月のSteam調査では、約17%のユーザーがまだWindows XPを使用していると回答しています)?
10 2d  graphics  directx 

2
連続物理エンジンの衝突検出技術
私は純粋に連続的な物理エンジンに取り組んでおり、幅広い位相衝突検出のためのアルゴリズムを選択する必要があります。「完全な連続」とは、交差テストを決して行わず、代わりにすべての衝突が発生する前にそれをキャッチし、TOIによって順序付けられた「計画された衝突」スタックに入れる方法を見つけたいという意味です。 ブロードフェーズ 私が考えることができる唯一の連続的なブロードフェーズの方法は、各ボディを円に入れ、各円が別の円と重なるかどうかをテストすることです。ただし、これは恐ろしく非効率的で、カリングが欠如しています。 四分木など、今日の離散衝突カリング手法にどのような連続アナログが存在するのかもわかりません。ディスクリートエンジンなどの不適切で無意味な広範なテストを防ぐにはどうすればよいですか?また、1フレーム以上先の衝突を確認できるようにしたいと考えています。 ナローフェーズ 私はナローSATを離散ではなく継続的なチェックに適応させることができましたが、皆さんが出くわした可能性のある論文やサイトには、他にも優れたアルゴリズムがあるはずです。 どのようなさまざまな高速または正確なアルゴリズムを使用することをお勧めしますか、それぞれの長所/短所は何ですか? 最後の注記:凹面、凸面、円形、または穴があってもよいさまざまなポリゴンをどのように保存するかまだ決まっていないため、アルゴリズムではなくテクニック を言います。アルゴリズムに必要なものに基づいてこれを決定する予定です(たとえば、ポリゴンを三角形または凸型の形状に分解するアルゴリズムを選択した場合、このフォームにポリゴンデータを格納するだけです)。

2
六角形グリッド上で六角形タイルの構造を回転させるにはどうすればよいですか?
私の2Dアイソメトリックゲームでは、六角形のグリッドマップを使用しています。下の画像を参照して、ピンクの六角形を中心に水色の六角形構造を60度回転するにはどうすればよいですか? 編集: 主なヘクスは(0,0)です。他のヘクスは子供であり、それらの数は固定されています。1つの位置(この場合はその右)のみを定義し、必要に応じて他の方向(左下、右下、右上、左上、左)を計算します。他のヘクスは、Package.Add(-1,0)、Package.Add(-2,0)などのように定義されています。 switch(Direction) { case DirRightDown: if(Number.Y % 2 && Point.X % 2) Number.X += 1; Number.Y += Point.X + Point.Y / 2; Number.X += Point.X / 2 - Point.Y / 1.5; break; } このコードNumberではメインのヘクスでPointあり、回転させたいヘクスですが、機能しません。

3
2DレーシングゲームのAIを構築するためのヒント
2Dレーシングゲーム用のAIを構築するための学校プロジェクトがあり、他のいくつかのAIと競合します(衝突なし)。 レーストラックの白黒のビットマップイメージが提供されます。マップを受け取った後、車の基本的な統計(ハンドリング、加速、最大速度、ブレーキ)を選択できます。AIはゲームのサーバーに接続し、現在の加速とステアリングの秒数を数回与えます。ちなみに私が選んだ言語はC ++です。質問は次のとおりです。 最高の戦略またはアルゴリズムは何ですか(私が試して勝ちたいので)?私は現在、ネット上で見つけたアイデアと自分のアイデアの1つまたは2つを念頭に置いていますが、コーディングを始める前に、私の見方が最高のアイデアの1つであることを望みます。そのことに関してどんな良い本がありますか?どのサイトを参照すればよいですか?
10 2d  c++  ai  racing 

6
2D惑星テクスチャの3Dイリュージョン
数年前、私はユーザーに2Dテクスチャを使用して回転する惑星のような錯覚を与えるテクニックを耳にしました。ユーザーがその位置やビューポートを変更できないと仮定します。 このテクニックの名前は何ですか?
10 2d  3d  terminology  planet 

4
ミサイルとビットマップ地形の交点を見つける最も効率的な方法は何ですか?
2Dビットマップ地形の傾斜を見つけることに関する私の以前の質問に続いて、ミサイルが命中した2D地形上の点を見つける最良の方法を知る必要があります。明らかに、ミサイルの下のピクセルが地形と交差するかどうかはわかりますが、地形のかなり奥に移動したと言えます。 最初に衝突した場所を見つけるために後退する最良の方法は何ですか?一度にXピクセル前にミサイルの前の位置に移動できますが、Xの適切な値はどれですか。そしてもっと賢い方法はありますか?たぶん半分の距離を移動し、次にクォーターなどを移動しますか?

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