タグ付けされた質問 「hexagonal-grid」

グリッドタイリングに通常の六角形が使用される、サーフェスの通常のテッセレーション。

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あり、回転させたいヘクスですが、機能しません。

6
配列ベースの16進マップでピクセルから16進座標を取得するにはどうすればよいですか?
ピクセルを16進マップで調整できるようにしようとしていますが、計算が正しく行われていません。試行したすべてが少しずれているようです。また、見つけた例は、円で囲まれた中央のマップに基づいています。 「配列ベース」とは、ヘクスの順序を意味します。写真を参照してください。 私が得た最も正確な結果は次のコードでしたが、それはまだオフであり、値が増えるほど悪化します。 public HexCell<T> coordsToHexCell(float x, float y){ final float size = this.size; // cell size float q = (float) ((1f/3f* Math.sqrt(3) * x - 1f/3f * y) / size); float r = 2f/3f * y / size; return getHexCell((int) r, (int) q); } 画面は左上の0,0から始まり、各セルはその中心を認識しています。 私が必要なのは、画面座標を16進座標に変換する方法だけです。どうすればできますか?

4
六角形のタイル張りの2Dマップを処理するライブラリはありますか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ゲーム開発スタック交換のトピックになるようにします。 6年前休業。 これは、任意のサイズの半正方形のマップを表します。これは、0101(最初の列、最初の16進数)など、マップ座標を表す単純なシステムになります。2つのポイント間の距離と、それらの2つのポイントの間にある他のヘクスをリストまたは配列としてマップが教えられるようにしたいと思います。 言語についてはあまり気にしませんが、C#またはPythonが理想的です。 存在しますか?

2
六角形グリッドの範囲内のセルを見つける
最初に-私はここで超高密度になっていることを知っています。 これで、このアルゴリズムのC#実装を記述しようとしています。 var results = [] for each -N ≤ dx ≤ N: for each max(-N, -dx-N) ≤ dy ≤ min(N, -dx+N): var dz = -dx-dy results.append(cube_add(center, Cube(dx, dy, dz))) 私はこの途方もないリソースからこれを取得しました。 私の問題は、これまでに試したすべての実装で、すばらしい結果が得られたことです。たとえば、以下に示すコードは現在、この結果になります。 この: 私のコードは現在次のようになっています: for (int x = this.CellPositionX - distance; x <= this.CellPositionX + distance; x++) { for (int …

3
幅と高さの両方が整数である六角タイルサイズはありますか?
ゲーム開発用の16進タイルの作成を開始するための最適な幅と高さ(ピクセル単位)を把握しようとしています。私の好みは、「フラットトップ」の16進グリッドですが、数学はどちらも似ています。 という事実に基づいて、タイルの幅と高さの両方を丸められたピクセル数にすることができる「最適な」タイルサイズを探していheight = sqrt(3)/2 * widthます。 私の数学のスキルは事実上存在せず、1から1024までの幅を実行するブルートフォーススクリプトを実行しただけで、整数wがどこhであるかについて単一の値が得られませんでした。これは本当ですか?完全な六角形のアスペクト比に対応できる幅と高さのサイズがない場合、ピクセルパーフェクトな六角形タイルを作成するにはどうすればよいですか?

3
データをハードコーディングするか、アルゴリズムを見つける方が良いですか?
私はこのボードとして六角グリッドを持つボードゲームに取り組んできました: ボードは決して変更されず、ボード上のスペースは常にその周りの他の同じスペースにリンクされるため、必要な値ですべてのスペースをハードコーディングする必要がありますか?または、さまざまなアルゴリズムを使用してリンクとトラバーサルを計算する必要がありますか? 具体的には、私のボードゲームは4プレイヤーゲームで、各プレイヤーは5x5x5x5x5x5の16進グリッドを持っています(ここでも、上の画像を参照)。目的は、さまざまな障害物を邪魔して、グリッドの一番下から一番上に到達することです。各プレイヤーは、範囲乗数に基づいて、グリッドの端から他のプレイヤーに互いに攻撃できます。 プレーヤーのグリッドは決して変化せず、グリッドの端からの任意のスペースの距離は常に同じであるため、この数値を各スペースにハードコードするか、または幅優先検索アルゴリズムを使用する必要がある場合プレイヤーが攻撃していますか? すべてをハードコーディングする場合に考えられる唯一の欠点は、9 + 2(5 + 6 + 7 + 8)= 61の個別のセルをコーディングすることです。他に、もっと複雑なアルゴリズムを使用することを検討する必要がある見逃しているものはありますか?

2
シームレスな六角形のテクスチャを生成する方法
私は楽しみのために戦術ゲーム(X-Com / Falloutスタイル)をやっています。六角形のマップを使用することにしましたが、グラフィックに問題があります。 現在のマップ表示はHUDに似ており、マップセルの境界線のみが表示され、テクスチャは表示されません。シンプルで、境界線の色を変えることで、さまざまな種類の情報を表示できます。たとえば、「危険表示モード」では、緑(損傷なし)から赤(損傷確率> 90%)までの色で境界線が表示されます。 さて、プレイヤーが置かれているタイルの種類を区別するのは少し難しいです。無地(緑は草、淡い青は水...)を置くこともできますが、これは可能性を制限します。したがって、タイルにテクスチャを表示したいと思います。マップが生成されるので、HUDがオーバーしているとマップ全体の画像を使用できません。 だから、私の質問です:シームレスな六角形のテクスチャ(アルゴまたはプラグイン)を生成する方法を誰かが知っていますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.