【发布时间】:2015-04-22 10:43:32
【问题描述】:
关于问题:
我有一个 播放器,它附有两个脚本(PlayerController 和 Entity),一个 RigidBody(isKinematic 检查,无重力),NavMeshAgent 和 SphereCollider。
然后我有两个完全相同的敌人,它们也附加了两个脚本(EnemyAI,Entity),RigidBody(相同),NavMeshAgent 和 SphereCollider。
现在的问题是,我可以通过它们,它们也可以相互通过。这是我绝对想摆脱的东西。要同时移动敌人和玩家,我只需使用 agent.destination。我也将它们放在不同的层上,因此是“敌人”和“玩家”并标记以检测它们之间的碰撞。不幸的是,这似乎没有帮助。
这是我的问题。如何解决?感谢您的时间和建议,希望他们能引导我找到解决方案。
【问题讨论】:
-
如果它们都有 NavMeshAgent,那么它们不应该相互碰撞。检查 NavMeshAgent 的半径和高度属性是否与对象的大小匹配。
-
我尝试了与您描述的完全相同的设置并且它有效。它应该可以工作。我认为您的问题出在其他地方。您使用的是哪个版本的统一?
-
实际 :D 每次 Unity 更新时,我的也会更新。您可以在 Unity 中发布您的设置图片吗?将不胜感激 ;) 安迪,请注意我检查了刚体的 isKinematic。
-
它们是由 NavMesh 代理控制移动还是由您自己的 MoveScript 控制?
-
两者都由 navmesh 移动,至少独立运行。对于手机播放器将由操纵杆控制。
标签: unity3d collision-detection navmesh