在我的游戏中,玩家必须保护建筑物免受攻击。地面敌人在建筑物周围的任意地方产生,他们都朝建筑物走去,开始用自己的斧头攻击建筑物:
agent.SetDestination(target.position);
target.position
是建筑对象的位置。
当然,敌人会尝试到达建筑物的中心,但是他们应该攻击地面。我尝试添加
if (distance <= attackDistance)
确保敌人遵守最小距离,但是由于建筑物不是球体,因此效果不佳。
执行此操作的正确方法是什么?
答案 0 :(得分:0)
你可以在建筑物周围放置空的游戏对象作为小“攻击点”
但更合适的方法是当敌人检测到与墙壁发生碰撞时,他们会进入攻击状态。
除此之外,我不太确定你的意思。他们是在攻击建筑物周围的一个大院吗?他们只是在用斧头敲建筑物的墙壁吗?
如果您提供更多信息,我可以进一步帮助您。