|
|
ogrenewt的碰撞问题
我在ogrenewt的Demo01_TheBasics例子OgreNewtonApplication.cpp里加载了1个房子的模型
Entity *floor; SceneNode *floornode;
floor=mSceneMgr->createEntity("Floor", "Rectangle17x.mesh");
floornode = mSceneMgr->getRootSceneNode()->createChildSceneNode( "FloorNode" );
floornode->attachObject( floor );
floornode->setScale(6,3,4);
floor->setCastShadows( false );
OgreNewt::Collision* col = new OgreNewt::CollisionPrimitives::TreeCollision(m_World, floornode, true);
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:uaternion::IDENTITY );
随后也增加了1个人物的模型
Entity *ent1 = mSceneMgr->createEntity("Ninja", "ZOMBIE.mesh");
SceneNode *node1 = mSceneMgr->getRootSceneNode()->createChildSceneNode("NinjaNode");
node1->attachObject(ent1);
OgreNewt::Collision* nol=new OgreNewt::CollisionPrimitives::Box(m_World,Vector3(8,8,8));
OgreNewt::Body* nod=new OgreNewt::Body(m_World,nol);
delete nol;
Ogre::Vector3 inertia = OgreNewt::MomentOfInertia::CalcBoxSolid( 160.0,Vector3(8,8,8));
nod->setMassMatrix( 160.0, inertia );
nod->setStandardForceCallback();
ent1->setNormaliseNormals(true);
nod->attachToNode(node1);
nod->setPositionOrientation( Ogre::Vector3(0.0,-10.0,0.0), Ogre:uaternion::IDENTITY );
随后用键盘控制人物在房子里行走,为什么没有跟房子发生碰撞,而是直接穿过去了.请教下还缺少那几步,请指教下!!谢谢了!!!!! |
|