[ODE] Why doesn't the ship it the floor?
lfcsimoes
lfcsimoes at estv.ipv.pt
Tue Apr 27 03:51:34 MST 2004
One more complete newb question:
I have the following code defining a ship and a plane (floor). I just want
the ship to fall and hit the floor (and probably bounce a little over it).
The ship falls but never stops!!
I think I might be doing some confusion on geoms and bodies.
The essential code is the following:
bool frameStarted(const FrameEvent& evt)
{
if (evt.timeSinceLastFrame>0) {
dWorldStep( world,evt.timeSinceLastFrame);
pos = new dReal(3);
pos = dBodyGetPosition(dship);
mShipNode->setPosition(pos[0],pos[1],pos[2]);
}
return true;
}
……
class game3Application : public ExampleApplication
{
protected:
void game3Application::createScene(void)
{
// Create a skybox
mSceneMgr->setSkyBox(true, "Examples/SpaceSkyBox");
//Create a ship
mShip = mSceneMgr->createEntity("razor",
"razor.mesh");
mShipNode =
static_cast<SceneNode*>(mSceneMgr->getRootSceneNode()->createChild());
mShipNode->attachObject(mShip);
// ODE settings
world=dWorldCreate();
dWorldSetGravity (world,0,-9.8f,0);
//dWorldSetCFM (world,1e-5);
//dWorldSetAutoDisableFlag (world,1);
//Create a space
space = dHashSpaceCreate (0);
//Create the floor
floor = dCreatePlane(space, 0, 1, 0, 0);
//Create a ship body 300 units over the floor
dship = dBodyCreate(world);
dBodySetPosition(dship,0,300,0);
//Create a geom. for the ship
dgship = dCreateBox(space,50,50,50);
//associate geom. and body
dGeomSetBody(dgship,dship);
//ambient light
mSceneMgr->setAmbientLight(ColourValue(0.5, 0.5,
0.5));
//camera settings
mCamera->setAutoTracking(true,mShipNode,Vector3::UNIT_Y);
mCamera->setPosition(100,0,100);
}
Thank you very much.
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.530 / Virus Database: 325 - Release Date: 22-10-2003
More information about the ODE
mailing list