|
例如:尝试以绑定到不同结点的办法来解决:
Entity* entNinja = mSceneMgr->createEntity( "Ninja" , "ninja.mesh" ) ;
SceneNode* nodeNinja = mSceneMgr->getRootSceneNode()->createChildSceneNode( "nodeNinja" ) ;
nodeNinja->attachObject( entNinja ) ;
nodeNinja->setPosition( 0 , 0 , 0 ) ;
SceneNode* nodeNinja2 = mSceneMgr->getRootSceneNode()->createChildSceneNode( "nodeNinja2" ) ;
nodeNinja2->attachObject( entNinja ) ;
nodeNinja2->setPosition( 100 , 100 , 100 ) ;
但是,运行时会弹出以下异常:
OGRE_EXCEPT( Exception::ERR_INVALIDPARAMS,
"Object already attached to a SceneNode or a Bone",
"SceneNode::attachObject");
也就是说,要是想在不同的位置渲染一个物体,就要被反复加载,但是这样很浪费内存,有没有什么好的解决办法呢?
求老鸟指点 |
|