我正在使用Open Dynamics Engine用c++编写一款游戏。当我运行它时,我得到这些错误:
ODE消息2:惯性必须是肯定的dMassCheck()文件../../../..//ODE/src/mass.cpp第53行ODE消息2:惯性必须在dMassCheck()文件../../../..//ODE/src/mass.cpp第53行中是肯定的ODE内部错误1:断言"dMassCheck(mass)" failed in dBodySetMass() [../../../..//ODE/src/ODE .cpp]
我有这样的代码:
void Physics::addObject(dBodyID *body, dMass *massPtr, dReal mass) {
*body = dBodyCreate(world);
dMassSetSphereTotal(massPtr, 2.0f, 1.0f);
dBodySetMass(*body, massPtr);
dBodySetPosition(*body, 0.0, 0.0, 0.0);
}
我用physics->addObject(&orb.body, &orb.mass, 1.0);
来表示。
massPtr
结构包含一个惯性张量。这个张量(在这里只是一个矩阵)必须是正定的。我们只能说这么多,除非你告诉我们你的massPtr
从哪里来的