未调用OnTriggerEnter()

时间:2013-01-22 21:59:39

标签: c# unity3d collision-detection

我有一个球员(球体)和4个敌人(胶囊)。所有敌人都添加了角色控制器。他们也都有一个儿童GameObject,它有一个RigidBody(没有质量,没有重力)和一个Box Collider。 Box Collider足够大,因此你可以看到盒子里面的球体模型,即使它们之间有一点空间。

播放器还有一个角色控制器,但没有RigidBody。它有一个与网格对撞机相连的球体。

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

1 个答案:

答案 0 :(得分:4)

球体是玩家的儿童GameObject,还是GameObject本身?您可能想要检查脚本的附加位置。如果脚本附加到播放器但是对撞机在游戏对象上,那就不太适用了。对撞机和脚本需要在同一个GameObject上。