feng007lhf
08-08-2007 10:27:08
hi
how can I do a collision between camera and other entities.
my code as follows:
Entity* floor;
SceneNode* floornode;
floor = mSceneMgr->createEntity("Floor", "wall_27.mesh" );
floor->setNormaliseNormals(true);
floornode = mSceneMgr->getRootSceneNode()->createChildSceneNode( "FloorNode" );
floornode->attachObject( floor );
floor->setCastShadows( false );
floornode->setScale(0.01, 0.01, 0.01);
OgreNewt::Collision* col = new OgreNewt::CollisionPrimitives::ConvexHull(m_World, floornode);
OgreNewt::Body* bod = new OgreNewt::Body( m_World, col);
delete col;
bod->attachToNode(floornode)
bod->setPositionOrientation( Ogre::Vector3(0.0,-10.0,0.0), Ogre::Quaternion::IDENTITY );
msnCam = mSceneMgr->getRootSceneNode()->createChildSceneNode();
msnCam->attachObject( mCamera );
mCamera->setPosition(0.0, 0.0, 0.0);
msnCam->setPosition( 0.0, 5.0, 0.0);
OgreNewt::CollisionPrimitives::Ellipsoid* colCamra = new OgreNewt::CollisionPrimitives::Ellipsoid(m_World, Vector3(4, 4, 4));
OgreNewt::Body* mbody = new OgreNewt::Body(m_World, colCamra);
delete colCamra;
mbody->attachToNode(msnCam);
so are my codes. why camera can't collision with floor when i move camera.
ths
how can I do a collision between camera and other entities.
my code as follows:
Entity* floor;
SceneNode* floornode;
floor = mSceneMgr->createEntity("Floor", "wall_27.mesh" );
floor->setNormaliseNormals(true);
floornode = mSceneMgr->getRootSceneNode()->createChildSceneNode( "FloorNode" );
floornode->attachObject( floor );
floor->setCastShadows( false );
floornode->setScale(0.01, 0.01, 0.01);
OgreNewt::Collision* col = new OgreNewt::CollisionPrimitives::ConvexHull(m_World, floornode);
OgreNewt::Body* bod = new OgreNewt::Body( m_World, col);
delete col;
bod->attachToNode(floornode)
bod->setPositionOrientation( Ogre::Vector3(0.0,-10.0,0.0), Ogre::Quaternion::IDENTITY );
msnCam = mSceneMgr->getRootSceneNode()->createChildSceneNode();
msnCam->attachObject( mCamera );
mCamera->setPosition(0.0, 0.0, 0.0);
msnCam->setPosition( 0.0, 5.0, 0.0);
OgreNewt::CollisionPrimitives::Ellipsoid* colCamra = new OgreNewt::CollisionPrimitives::Ellipsoid(m_World, Vector3(4, 4, 4));
OgreNewt::Body* mbody = new OgreNewt::Body(m_World, colCamra);
delete colCamra;
mbody->attachToNode(msnCam);
so are my codes. why camera can't collision with floor when i move camera.
ths