两个NavmeshAgent不会相互碰撞

4
关于问题:
我有一个名为Player的对象,它附有两个脚本(PlayerController和Entity),一个勾选了isKinematic和无重力的RigidBody,一个NavMeshAgent和一个SphereCollider。
然后我有两个完全相同的敌人,它们也附有两个脚本(EnemyAI和Entity),一个勾选了isKinematic和无重力的RigidBody,一个NavMeshAgent和一个SphereCollider。
现在的问题是,我可以穿过它们,它们也可以互相穿过。这绝对是我想要摆脱的。为了移动敌人和玩家,我只是简单地使用agent.destination。我将它们放在不同的层上,“enemy”和“player”,并标记检测它们之间的碰撞。不幸的是,这似乎没有起到作用。
这里是我的问题。如何解决这个问题?谢谢您的时间和建议,希望它们会带领我找到解决方案。

如果它们都具有NavMeshAgent,则它们不应该互相碰撞。请检查NavMeshAgent的半径和高度属性是否与对象的大小匹配。 - Andy
每次Unity更新,我的也会跟着更新。你能在Unity中发布你的设置图片吗?我会非常感激的;) Andy,请注意我已经勾选了刚体的isKinematic属性。 - Power
它们都是由NavMesh代理控制移动还是你自己的MoveScript? - Aizen
我只需要看到设置,如果你没有时间,可以在Unity中发布你的设置屏幕截图。 - Power
@Heisenbug 你在吗? - Power
显示剩余3条评论
1个回答

0

终于,我可以说我的问题已经解决了。我所需要做的就是取消勾选isKinematic,但是!但是,增加演员的质量并将阻力设置为1,这样它们就不会对彼此产生太大的影响,这也可以防止单个演员从场景中飞出。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接