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

空間情報を表す同一形状のオブジェクト(多くの場合、正方形または六角形)。

2
2つのコーナーがある斜めの見通し線
現在、私は視線にBresenhamのラインアルゴリズムを使用しています。問題は、プレイヤーが壁をのぞくことができるエッジケースを見つけたことです。プレイヤーが壁の2つの隅の間を、反対側に特定の角度でギャップがあるように見たときに発生します。 結果として、2つの壁の間のタイルに無効のマークが付けられます。 これを解決するためにブレセンハムのラインアルゴリズムを修正する最も速い方法は何ですか?良い解決策がない場合、より適したアルゴリズムはありますか?どんなアイデアでも大歓迎です。ソリューションは3Dもサポートできる必要があることに注意してください。 編集:私の簡単な解決策は、線のx座標とy座標が変化したときに両方の角が閉じているかどうかを確認することでした。完成した製品の実際のソースコードとインタラクティブなデモについては、http://ashblue.github.io/javascript-pathfinding/を参照してください。

1
gluLookAtはどのように機能しますか?
私の理解から、 gluLookAt( eye_x, eye_y, eye_z, center_x, center_y, center_z, up_x, up_y, up_z ); 以下と同等です。 glRotatef(B, 0.0, 0.0, 1.0); glRotatef(A, wx, wy, wz); glTranslatef(-eye_x, -eye_y, -eye_z); しかし、ModelViewマトリックスを出力すると、への呼び出しがglTranslatef()正しく機能していないようです。コードスニペットは次のとおりです。 #include <stdlib.h> #include <stdio.h> #include <GL/glut.h> #include <iomanip> #include <iostream> #include <string> using namespace std; static const int Rx = 0; static const int Ry …

8
プラットフォーマーのキャラクターが壁のタイルでクリッピングしないようにするにはどうすればよいですか?
現在、私は地形のタイル(Cave Storyから借りたグラフィック)を備えたプラットフォーマーを持っています。ゲームはXNAを使用してゼロから作成されているため、既存のエンジンや物理エンジンは使用していません。 タイルの衝突はこの回答で説明されているとおりに正確に説明され(長方形と円の単純なSATを使用)、すべてが正常に機能します。 落下/ジャンプ中にプレーヤーが壁にぶつかった場合を除きます。その場合、彼らはタイルに引っ掛かり、実際にはない床や天井にぶつかったと思い始めます。 このスクリーンショットでは、プレーヤーは右に移動しており、下に落ちています。したがって、移動後、衝突がチェックされます-そして最初に、プレイヤーキャラクターが床から3番目のタイルに衝突し、上に押し出されていることがわかります。第二に、彼は自分の隣のタイルと衝突して横に押されていることがわかりました-最終的にプレイヤーキャラクターは自分が地面にいて落下していないと考え、タイルに走っている限り「キャッチ」します。 。 タイルを上から下に定義することでこれを解決でき、スムーズに落下しますが、逆のケースが発生し、壁に上向きにジャンプすると、そこにない天井にぶつかります。 これを解決して、プレイヤーキャラクターが壁に沿って落下するようにするにはどうすればよいですか?

5
類似したタイルが互いに隣り合って生成される可能性を高める
私はタイルマップシステムに取り組んでいます。これは、ここではこのように見えます(緑は草、空気は白、石は灰色、青は水です)。 単純な乱数ジェネレータを使用して、タイルが草である可能性が45%、水である可能性が30%、石である可能性が25%になるようにします。 とにかく、草/石のブロックが固まり、陸塊を形成する傾向を高め、ウォーターブロックを海に形成することができますか(Minecraftのようなゲームで見ることができるもののようなものですか)?
9 java  algorithm  tiles  maps  lwjgl 

2
.PNGタイルから.PNGマップ
110以上の.pngマップタイルを1:1のピクセル比のサイズのマップ.pngに簡単に取得するにはどうすればよいかと思っていました。私はグーグルなどをスクロールしてきました、そして私が修正しているフリーウェアゲームのフォーラムですが、使用しているアプリは.pngファイルのみを認識し、マップの1%以上を必要としています。皆さんがプログラムを知っているなら、私はとても感謝しています。
9 tiles  maps 

2
2Dタイルベースのゲームでは、NPCとタイルはどのように相互に参照する必要がありますか?
トップダウン2Dゲーム用のタイルエンジンを作成しています。基本的に、世界はタイルのグリッドで構成されています。 次に、たとえばマップ上を移動できるNPCを配置したいと思います。 何が一番いいと思いますか: 各タイルには、そのタイル上にあるNPCへのポインター、またはNULLポインターがあります NPCのリストがあり、その上にあるタイルの座標があります。 他に何か? おもう 衝突検出の方が高速ですが、より多くのメモリ領域を使用し、マップ内のすべてのNPCを見つけるのに時間がかかります。 反対です。

1
マウスクリックが到達したタイルを見つける
私は等尺性グリッドベースのゲームに取り組んでおり、マウスクリックをユーザーからタイルにリンクしようとすると問題が発生します。私は問題を2つの部分に分けることができました: タイルを囲む長方形を見つける(私はそれを行うことができました) クリックが入った四角形からタイルを見つけ出します(私を困らせました) これは、内側にタイルがある長方形の例です。 長方形は長さ70px、高さ30pxなので、たとえば30x(top)/ 20y(left)の入力を使用する場合、これがどのタイルに該当するかをどのように判断しますか?

3
あらゆる方向に無限に成長する可能性のある2Dタイルマップを保存するための適切なフラットファイル形式は何ですか?
私は、必要に応じて手続き的に生成されたコンテンツを使用して任意の方向に自動的に拡張する単純なマップエンジンを作成しています。 マップ上の四角形のサブセットをマップ上の任意のポイントからすばやく効率的に読み込むことができるように、0,0の原点にアンカーされたマップデータを格納するための適切な方法は何ですか? マップを異なるセクターにチャンク化し、何らかのヘッダー形式を使用して、ファイル内の特定のセクターが格納されている場所を特定する必要があると考えています。これは良いテクニックですか、それとも私が見ることができるより優れた、より効率的なテクニックはありますか?
9 tiles  maps 

2
Xna:PNGファイルからのTexture2D
私はタイルベースのゲームを作成しており、タイルセットのサポートに取り組んでいます。Texture2Dが選択されたPNGファイルとして設定されるようにしようとしています。画像をコンテンツパイプラインに読み込むと問題なくこれを行うことができますが、レベルエディターはコンテンツパイプラインにアクセスできないユーザーによって使用されます。これを行うにはどうすればよいですか?

3
表示とパスファインディングで同じタイル構造を共有する必要がありますか?
タイル付きの2Dマップを表示する方法を知っています。 A *を使用してパスファインディングアルゴリズムを作成する方法を知っています。 これら2つのことは、構造またはクラスを要求します。私の質問は、表示とパス計算に同じ構造を使用していますか?一部のデータを追加するためのパスファインディング要求のノード構造:x位置、y位置、F、G、Hと親ノード。表示用のタイル構造は、ほぼ1つの情報、つまりタイルの値にのみ最適化できます。 タイルの表示とパスファインディングの両方を処理する大きなクラスを使用していますか、それとも別のメソッドを使用していますか?アドバイスありがとうございます!

1
グリッドベースのマップで2つ以上のポイントを区切る壁を手続き的に見つけるにはどうすればよいですか?
特定のポイントを他の特定のポイントから遮断する壁を生成しようとしています。添付画像は私が求めているものを示しています: 青が赤から分離されました。 赤と黄色から分離された青。 タイルの障害物で青が赤から分離されています。 複数の青が複数の赤から分離されています。 これを行う方法はありますか?

2
Monogame(XNA)で大量のタイルを効率的に描画する
明確な答えが見つからないため、この質問をします。 まず最初に、ゲームといくつかのことについていくつか述べておきます。ゲームは、シンプレックスノイズを使用して手続き的に生成された世界に設定されたRTSになる予定です。世界は64 x 64のスプライトで作られた16 x 16のサイズのチャンクで構成されています。チャンクを動的にロードおよびアンロードできましたが、これは問題なく動作します。世界はRimworldのように見えるので、さまざまなレイヤーのスプライト(最初に地形、トランジションスプライト、木、デカールなど)を上から下に見ていきます。新しく生成された世界には、環境に影響を与える可能性のあるエンティティ(たとえば、町になった村)が含まれている場合があり、それによってチャンクが含まれる場合があります。これはある種の関数を使用して計算できると確信していますが、注意する必要があります。 主な問題私は持っているが、私はズームアウト時に、より多くのタイルがひどく、性能に影響を与える描かれています。スプライトが約30000の場合、描画セクションにかかる時間は8 msで、60 FPSで実行するのに必要な時間の半分です。そして、それは単なる地形です。テクスチャアトラスを使用して描画カウントを制限しています(6カウントで描画される30000スプライト)。 目標は、国全体を見ることができることに、町/村/都市レベルからすべての方法をズームアウトすることができることです。これは動的に行う必要があります(たとえば、ミニマップアイコンをクリックするのではなく、Supreme Commanderのようにスクロールバックするだけです)。 私はこの問題に関する多くの記事を読みましたが、それが機能する場所の明確な例を見つけたり、見たりしていません。これが私が見つけたテクニックのリストであり、うまくいくはずです: ここで説明するように汚れた長方形。ここでは新しいものだけを描画し、残りはバックバッファに保持します。これは非常に理にかなっていますが、Monogameでこれを実装する方法については無知です。 ここで説明するように、私が優先する選択は、RenderTargetを幅広く使用することです。ここでは、RenderTargetに描画し、それをテクスチャとして保存します。私の場合、64 x 64で構成される16 x 16チャンクは、1024 x 1024テクスチャを作成します。これがパフォーマンスの点で機能するかどうかは本当に疑わしいですが、結果は非常に詳細なテクスチャで構成され、ほとんどが静的(地形/木など)であり、それほど変化しないという事実を考えると使用に最適です。ただし、これは、チャンクに変更が加えられるたびに、SetDataを使用してTexture2Dを変更する必要があることも意味します。これは、私が経験したことから、CPUにかなりの負荷がかかります。ただし、テクスチャが16 x 16の場合、実際に機能する可能性があり、それ自体のメモリとディスク使用量も削減されます。 SpriteBatchでSourceRectangleを指定してテクスチャをティルします。巨大な草原/海では、1つのスプライトしか描画されないため、これはプラスです。ただし、さまざまな色とさまざまなスプライトが混在する詳細な地形(バイオームとバイオームの遷移)の場合、大きな違いは生じないと思います。 詳細を損なう私の独自のソリューションは、標準の白い64 x 64タイルを使用して、周囲の4つのタイルの色を指定し、次に、前の4つのタイルを覆うように拡大縮小することでした。ここでの違い(無地のタイルを除く)は、風景が目に見えて変化したことです。また、森林は完全に正方形ではないため、個別に描く必要があることにも触れておきます。 誰かがこの問題に取り組む方法についてアイデアを持っている場合、たとえそれが特定のことを妥協することを意味するとしても(ディテール、または16 x 16スプライトの使用など)、それを聞いてみたいと思います。

1
RPG Maker Auto Tilingの実装
私は現在Phaserと協力して、手続き的に生成されるゲームを作成しています。ゲームでRPGメーカーアートを使用したかった(参考として、RTPを使用している)。私はこの記事を偶然見つけました。自動タイルがどのように機能するかを分析しました。自動タイルについて説明している別の記事にリンクしているこの回答も偶然見つけました。 ここにあること、私はこのようなものをどのように実装するかわかりません。どのタイルセットが他のどのタイルセットに接続できるかを追跡する必要があると確信しています(つまり、一部のタイルは外側に草があり、内側に砂があります。そのため、この例では、「草"タイルは外側のタイルでした)。 私はマップジェネレーター(ここを参照)を作成しましたが、タイル領域間をシームレスに接続したいと考えました。たとえば、茶色の領域は「密な」領域(森、洞窟など)になります。紫色の領域は石の床で、緑色の領域は草です。このようなものに非常にうまく機能するタイルセットがあります: それで、左上の草と、草に接続する3番目のタイルセットである石を使用します。 これらの種類のタイルセットを使用して自動タイリングを実装する場合、どのようなことを考慮する必要がありますか?実装するために確認できるアルゴリズムはありますか?

4
タイルの間にある壁を保管する
私はc ++でアイソメトリックエンジンを書いています。次の図に示すように、より現実的なアプローチを採用し、壁を1つのタイル全体ではなく2つのタイルの間のスペースに配置することにしました(シムズの場合と同様)。 私の問題は、タイルマップ関連のデータをグリッドではないものに保存する方法がわからないことです。この状況では、それをA *フレンドリーにする必要があると思うので、壁で分割されていないタイル間にノードとエッジがあります。ここに私が達成したいことを示す別の写真があります: だからここに質問があります: どうすればよいですか: タイルと壁の両方のマップ全体を保存する レンダリング用に最適化する A *やその他のアルゴリズムに使用して、単純なグリッドに実装するのはかなり簡単ですが、壁(エッジ)を使用して可視性や衝突などを決定しますか?
8 tiles  tilemap  grid 

3
タイルベースのマップに収まるが、複数のタイルにまたがる遠近法でオブジェクトを作成するにはどうすればよいですか?
私はタイルマップ都市を作成し、ユニークな建築シーンを作成する最も効率的な方法を見つけようとしています。コツは、2Dのような、ほぼ真上から見下ろしたパースペクティブを維持する必要があることです。これは、複数のタイルにまたがる建物や大きなオブジェクトでは困難です。 私は一度に3つの建物を作成して、次のようにベースレイヤーと色を混ぜ合わせてみました。 これは奇妙なオーバーラップ効果を生み出し、また、制作の観点からはそれほど効率的ではないようです。しかし、これは隣接する建物に影を正しく表示するための最良の方法でした。 モジュール式の建物が行く方法になるのだろうか?このようにして、任意の建物のセットをタイルとして組み合わせて組み合わせることができます。 建物を正しく配置するために、遠近法や影を付ける必要があると思います。 複数のタイルに相当する画面スペースにまたがっている間、このパースペクティブを維持するさまざまな建物(または他のオブジェクト)を作成できるようにするには、どのようなオーサリングプロセスを使用できますか?空白の建物を作成し、建物をユニークにするために必要に応じてアートオーバーレイを貼り付けることをお勧めしますか?または、それらを直接建物タイルの一部にする必要がありますか(たとえば、建物の看板と色の個別のタイルセットを作成します)?
8 tiles  tilemap  rpg  art 

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