在我目前正在开发的游戏中,我只需要非常基本的物理,所以我不想要牛顿、ODE、子弹或类似的东西。只要我下方没有节点(所有大小相同的块),我基本上只想跌倒。我试图从相机和向下发送 100.0 个单位的光线。但它给出了误报。
selectedNode = NULL;
//Falling
ray.start = camera->getPosition();
ray.end = vector3df(ray.start.X, ray.start.Y - 100.0f, ray.start.Z);
selectedNode = collMan->getSceneNodeAndCollisionPointFromRay(ray, intersection, hitTriangle, PICKABLE);
if(selectedNode)
{
std::cout << "ABOVE" << std::endl;
}
我不知道为什么会出现这种故障。我正在使用 Irrlicht,但这并不重要,因为我认为问题与逻辑有关,而不是专门针对渲染器/引擎。