在我的游戏中,玩家必须捍卫建筑物免于攻击敌人。地面敌人在建筑物周围的随机位置产卵,他们都走向建筑物,开始用轴攻击它:
agent.SetDestination(target.position);
target.position
是建筑物对象的位置。
当然,敌人试图到达建筑物的中心,但他们应该攻击表面。我尝试添加
if (distance <= attackDistance)
确保敌人尊重最低距离,但是由于建筑物不是一个领域,这不太好。
这样做的正确方法是什么?
您可以在建筑物周围放置空的gameObject,例如"攻击点"
但是,做到这一点的一种更正确的方法是这样做,因此当敌人发现与墙壁发生碰撞时,它们进入了一个攻击状态。
除此之外,我不确定您的意思。他们是在攻击建筑物周围的化合物吗?他们只是在建筑物的墙壁上猛击斧头吗?
如果您提供了更多信息,我可以进一步帮助您。