ローグライクで視野の対称性を確保するにはどうすればよいですか?


10

私はローグライクに取り組んでいます。そのために、黒丸のすべての点にブレゼンハム線をプロットすることで構成されるレイトレーシング/キャスティング視野(FoV)アルゴリズムを作成しました。アーティファクトはありません(そして、かなり効率的です)が、私の重要な要件である対称性が欠けています(対称性を確認できる場合は、モンスターも確認できる必要があります)。

ここに画像の説明を入力してください

これが私のコードの非対称的な動作の例です。左の画像では、角に立っています(赤い「X」ブロック=壁)。右上のタイルを見ることができます。ただし、これらのタイルの1つ(右の画像)に移動すると、元のタイルが表示されなくなります。

私はある種のPermissive Field of Viewを求めているのではないかと思いますが、それはローグベイスンの記事が対称性を考慮に入れていることを示唆したからです。対称性を得るための代替手段はありますか?


1
可視性をテストするときは、視点が光線をキャストする位置と同じ位置にあることを確認してください。
MichaelHouse

回答:


8

目が単一の固定点にあるときに任意の点を見ることができる場合、正方形が含まれているようです。

ただし、正方形が含まれているのは、その中央が見える場合のみです(「目」も中央にあると想定)。または、最初の正方形の各コーナーからテスト済みの正方形のコーナーに光線を描画することもできます。

重要な点は、正方形のヒットボックスは、目がなければならないすべての場所であることです。

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