我正在使用 PhysX.NET(PhysX 的 C# 包装器),我正在尝试使用 SimulationEventCallBack 中的 onContact 获取两个球体之间的碰撞通知。
我为 SimulationEventCallback 创建了一个新的子类,并重写了 OnContact 方法,以便在发生碰撞时给我一条消息。然后我将场景的 SimulationEventCallback 设置为我的子类的一个实例。即使两个球体(刚性动态)明显碰撞,这也不起作用。下面是我的代码:
// 创建子类
public class robotCollision : SimulationEventCallback
{
public override void OnContact(ContactPairHeader pairHeader, ContactPair[] pairs)
{
base.OnContact(pairHeader, pairs);
Rhino.RhinoApp.Write("Contact!");
}
}
// 创建场景
scene = engine.CreateScene(sceneDesc);
scene.SetSimulationEventCallback(myContactCallback,0);
还有其他需要考虑的吗?有什么要设置的标志吗?如果这是一个非常幼稚的问题,我很抱歉,但我已经为此工作了一整天,因为这似乎很简单,我无法理解它。
提前致谢。