radsun
03-01-2008 19:46:36
I really want to make a walking character but i toutrial is old and i have errors
My code:
My error:
Anyone can help?
My code:
Entity* hero_ent = _mgr->createEntity("ninja","ninja.mesh");
SceneNode* hero_node = _mgr->getRootSceneNode()->createChildSceneNode("ninja");
hero_node->attachObject(hero_ent);
hero_node->scale(0.05,0.05,0.05);
hero_node->translate(Vector3(0,1,0));
AxisAlignedBox aab = hero_node->getAttachedObject("ninja")->getBoundingBox();
Ogre::Vector3 min = aab.getMinimum()*hero_node->getScale();
Ogre::Vector3 max = aab.getMaximum()*hero_node->getScale();
Ogre::Vector3 center = aab.getCenter()*hero_node->getScale();
Ogre::Vector3 size(fabs(max.x-min.x),fabs(max.y-min.y),fabs(max.z-min.z));
float Radius = (size.x>size.z)?size.z/2.0f:size.x/2.0f;
OgreOde::Body* dollFeetBody = new OgreOde::Body(_world,"feet");
dollFeetBody->setMass(OgreOde::SphereMass(70*2.5,radius));
OgreOde::SphereGeometry* feetGeom = new OgreOde::SphereGeometry(radius,_world,_space);
OgreOde::TransformGeometry* feetTrans = new OgreOde::TransformGeometry(_world,_space);
hero_node->translate(Vector3(0,-radius/hero_node->getScale().y,0));
feetTrans->setBody(dollFeetBody);
feetTrans->setEncapsulatedGeometry(feetGeom);
hero_node->attachObject(dollFeetBody);My error:
ODE INTERNAL ERROR 2
GeomTransform encapsulated object must not be in a space (...\collision_transform.cpp:133)
Anyone can help?