c# - OnTriggerEnter() 未调用

标签 c# unity3d collision-detection

我有一个玩家(球体)和 4 个敌人(胶囊)。所有敌人都添加了角色 Controller 。他们也都有一个子游戏对象,它有一个刚体(没有质量,没有重力)和一个盒子碰撞器。 Box Collider 足够大,因此您可以看到盒子内部的球体模型,即使两者之间有一点空间。

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

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

最佳答案

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

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

相关文章:

c# - 相关 if 条件由 && 运算符控制

c# - 如何在Unity中只找到网格的 "top"

android-activity - 在 Unity Android 插件中包含自定义 Activity (不覆盖 UnityPlayerActivity)?

java swing - 如何确定两个矩形之间碰撞的一侧

c# - 需要帮助跨 UI 线程和 C# 中的另一个线程获取信息

C# 获取上个月的最后一天给定月份和年份

c# - 适用于 Windows 应用商店应用程序的 C++/CX HTTP Web 服务器

c# - 为什么 Unity 在 Mono 支持 .NET 3.5 时使用 .NET 2.0?

Javascript对象颜色动态变化?

c# - 在 Unity 中检测重叠二维对象的输入碰撞