给定一个玩家和一个敌人的位置,并给定每个角色的方向向量,我如何确定一个人是否可以“看见”另一个人?
换句话说,如何测试某个方向的位置在另一个方向的前面还是后面?
出于我的目的,“在...前面”是指直接在任何一个角度之前或与之成90度。
11
显然,解决方案是创建另一台摄像机并从敌人的角度重新渲染场景,然后对玩家角色的结果执行图像识别。
—
2014年
最简单的答案奖授予...
—
OganM 2014年
尽管Riking的评论可能只是在开玩笑,但这实际上是一个公平的做法-为NPC提供与玩家相同的游戏状态访问权限,而不是允许他们访问游戏的内部状态。
—
R .. GitHub停止帮助ICE,2014年
@R ..是的,但是您在哪里画线?将此逻辑推向逻辑终点,NPC最终变得有能力像人类一样玩耍和思考……在这一点上,他们很可能会理性地决定再次开始进行黑客攻击:p
—
Thomas
@Thomas:在实践中,我认为您可以做出某种折衷,近似于他们作为一名球员所拥有的信息水平,而不必担心会以这种方式实施。诸如对视线进行正确测试,限制识别超出一定距离的物体的能力等简单措施可能会走很长一段路。
—
R .. GitHub停止帮助ICE