使用 Leap Motion 时无法让 OnCollisionEnter 与 Mesh Collider 一起工作
Can't get OnCollisionEnter to work with Mesh Collider when using Leap Motion
我正在尝试使用跳跃动作与其他几个游戏互动objects。在非常简单的层面上,我有一个需要与之交互的多维数据集。为此,我写了一个脚本 -
using UnityEngine;
using System.Collections;
public class DoorDetector : MonoBehaviour {
void OnCollisionEnter(Collision other)
{
Debug.Log("Hello");
}
}
理想情况下,这应该在碰撞时在控制台中显示一个 Hello,但它没有。我有一个应用于 body 的网格碰撞器,对于手,我使用的是 RigidRoundHand 预制件。我尝试应用刚性body(以防预制件尚未这样做),但效果不佳。
如果你把 RigidBody 放在这个脚本所在的立方体上,它就会起作用。至少有一个碰撞对象需要有刚体。同时禁用立方体和每个可交互对象的碰撞器中的 IsTrigger。
您正在使用 Mesh Collider,因此您必须在 Mesh Collider 上启用 Convex。
如果这不能解决您的问题,只需使用我在评论部分提到的 Box Collider。
我正在尝试使用跳跃动作与其他几个游戏互动objects。在非常简单的层面上,我有一个需要与之交互的多维数据集。为此,我写了一个脚本 -
using UnityEngine;
using System.Collections;
public class DoorDetector : MonoBehaviour {
void OnCollisionEnter(Collision other)
{
Debug.Log("Hello");
}
}
理想情况下,这应该在碰撞时在控制台中显示一个 Hello,但它没有。我有一个应用于 body 的网格碰撞器,对于手,我使用的是 RigidRoundHand 预制件。我尝试应用刚性body(以防预制件尚未这样做),但效果不佳。
如果你把 RigidBody 放在这个脚本所在的立方体上,它就会起作用。至少有一个碰撞对象需要有刚体。同时禁用立方体和每个可交互对象的碰撞器中的 IsTrigger。
您正在使用 Mesh Collider,因此您必须在 Mesh Collider 上启用 Convex。
如果这不能解决您的问题,只需使用我在评论部分提到的 Box Collider。