7
パーリンノイズによって作られた世界のスポーンユニット?
Perlinノイズベースのゲームで出会ったいくつかの問題があります。以下の添付のスクリーンショットをご覧ください。 あなたが見る白い領域は壁であり、黒い領域は歩行可能です。中央の三角形がプレーヤーです。 このゲームでは、物理学を実装して、テクスチャ(白または黒のピクセル)に描画し、それをCPUから取得します。 しかし、今は別の問題に直面しています。画面の端で、ユニット(またはクリープと呼びます)が常に出現するようにします。ここでのポイントは、最終的なゲームでは、プレイヤーがそこまで見ることができない「戦争の霧」があるということです。 画面の端のピクセルをスキャンして、その物理テクスチャが黒かどうかを確認し、そこにランダムに物を生成できると考えました。ただし、スクリーンショットをもう一度見ると、(左上隅に)クリープが生成されないようにする例があります(そこからプレイヤーに到達できないため) 。 どういうわけかGPUにこれらのスポーンスポットを決定させることは可能ですか、それとも別の方法ですか?画面の端にある提案されたポイントとプレイヤーの間にベクトルを作成し、10ボクセルごとにそれをたどって、そこにユニットをスポーンする前に壁が衝突するかどうかを確認することを考えました。 ただし、上記の提案されたソリューションは、CPUに負荷がかかりすぎる可能性があります。 この問題に関する提案はありますか? 注1 スポーンされるユニットについては、これらのユニットがプレイヤーに向かって走る際の壁の衝突を避けるために、いかなる形態の経路探索も使用したくありません。したがって、ユニットは画面の端に、プレイヤーに向かって直線的に歩いても壁と衝突しない場所に出現する必要があります。
16
xna
path-finding
hlsl
gpgpu