我有一个玩家(球体)和 4 个敌人(胶囊)。所有敌人都添加了角色 Controller 。它们还有一个子 GameObject,它有一个 RigidBody(没有质量,没有重力)和一个 Box Collider。 Box Collider 足够大,因此即使中间有一点空间,您也可以看到盒子内部的球体模型。

玩家还有一个角色 Controller ,但没有刚体。它确实有一个附有网格对撞机的球体。

所有敌人都选中了 IsTrigger 框。他们为什么不调用 OnTriggerEnter() 函数?请注意,当敌人发生碰撞时,会调用 OnTriggerEnter()。但它不适用于播放器。

最佳答案

球体是玩家的子游戏对象,还是游戏对象本身?您可能想要检查脚本的附加位置。如果脚本附加到玩家,但碰撞器位于子 GameObject 上,那将无法正常工作。碰撞器和脚本需要在同一个游戏对象上。

关于c# - OnTriggerEnter() 未调用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14468828/

10-17 02:06