【问题标题】:Two NavmeshAgents doesn't collide eachother两个 NavmeshAgent 不会相互碰撞
【发布时间】:2015-04-22 10:43:32
【问题描述】:

关于问题:

我有一个 播放器,它附有两个脚本(PlayerControllerEntity),一个 RigidBody(isKinematic 检查,无重力),NavMeshAgentSphereCollider

然后我有两个完全相同的敌人,它们也附加了两个脚本(EnemyAIEntity),RigidBody(相同),NavMeshAgentSphereCollider

现在的问题是,我可以通过它们,它们也可以相互通过。这是我绝对想摆脱的东西。要同时移动敌人和玩家,我只需使用 agent.destination。我也将它们放在不同的层上,因此是“敌人”和“玩家”并标记以检测它们之间的碰撞。不幸的是,这似乎没有帮助。

这是我的问题。如何解决?感谢您的时间和建议,希望他们能引导我找到解决方案。

【问题讨论】:

  • 如果它们都有 NavMeshAgent,那么它们不应该相互碰撞。检查 NavMeshAgent 的半径和高度属性是否与对象的大小匹配。
  • 我尝试了与您描述的完全相同的设置并且它有效。它应该可以工作。我认为您的问题出在其他地方。您使用的是哪个版本的统一?
  • 实际 :D 每次 Unity 更新时,我的也会更新。您可以在 Unity 中发布您的设置图片吗?将不胜感激 ;) 安迪,请注意我检查了刚体的 isKinematic。
  • 它们是由 NavMesh 代理控制移动还是由您自己的 MoveScript 控制?
  • 两者都由 navmesh 移动,至少独立运行。对于手机播放器将由操纵杆控制。

标签: unity3d collision-detection navmesh


【解决方案1】:

最后我可以说我的问题已经解决了。我所要做的就是取消选中 isKinematic,但是!但是,增加演员的质量并将阻力设置为 1,这样他们就不会相互影响,这也可以防止单个演员离开场景。

【讨论】:

    猜你喜欢
    • 2019-03-27
    • 2019-11-11
    • 2013-04-24
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 2015-07-26
    相关资源
    最近更新 更多