我正在进行模拟,目前正在为其添加障碍。现在设置障碍的目的是让其他特工可以躲在他们身后,而其他人看不到它们。但是我试图找出检查是否最好的方法视野中的代理位于障碍物后面,因此无法看到。这是一个示例:
黑色的代理不应该看到红色的代理,但应该能够看到黄色的代理。(绿线表示黑色代理的视野)
目前,我的视野仅计算代理所处的角度并检查该角度是否在视野内。我正在查看游戏开发人员使用的一些解决方案,并且正在阅读有关光线投射的内容,但它似乎计算量很大,对我来说不是一个好的解决方案,因为我将有数百个代理投射光线。
我在想的另一件事是检查障碍物占据的角度(例如从 90 到 120 度),如果代理处于相同的角度范围内,则意味着他被障碍物挡住了。(如果有道理的话) .
我在这里发帖是为了询问是否有人可以指导我找到一个简单而有效的解决方案,因为我对这种与游戏开发相关的事情非常陌生。
提前致谢!