私はシミュレーションを作成しており、現在それに障害物を追加しています.現在、障害物の目的は、他のエージェントが他のエージェントがそれらを見ることができない場所に隠れることができるようにすることです.しかし、私は、ビュー内のエージェントは障害物の後ろにあるため、見ることができませんでした.次に例を示します。
黒のエージェントは赤のエージェントを見るべきではありませんが、黄色のエージェントを見ることができるはずです (緑の線は黒のエージェントの視野を示します)。
現時点では、視野はエージェントがいる角度のみを計算し、角度が視野内にあるかどうかを確認します。ゲーム開発者が使用し、レイキャスティングについて読んでいるいくつかのソリューションを見ていましたが、計算量が非常に多いようで、何百ものエージェントがレイをキャストするので、私にとっては良い解決策ではありません.
私が考えていたもう 1 つのことは、障害物が占めるビューの角度 (例: 90 度から 120 度) をチェックすることであり、エージェントが同じ角度スパンにある場合は、エージェントが障害物によってブロックされていることを意味します (それが理にかなっている場合)。 .
私はこの種のゲーム開発関連のことは非常に初めてなので、誰かがこれに対するシンプルで効率的な解決策を教えてくれるかどうかを尋ねるためにここに投稿します。
前もって感謝します!