OGRE场景绘图的节点管理问题

Ogre::SceneNode *node1 = node->createChildSceneNode( "node1", Ogre::Vector3(20, 0, 0) );

等效于:

Ogre::SceneNode *node1 = mSceneMgr->createSceneNode( "Node1" );
node->addChild( node1 );
node1->setPosition( 20, 0, 0 );

父节点的变换会传递给子节点:

Ogre::Entity *ent = mSceneMgr->createEntity( "MyEntity", "Sinbad.mesh" );
Ogre::SceneNode *node = mSceneMgr->createSceneNode( "Node1" );
node->setPosition( 10, 10, 0 );
mSceneMgr->getRootSceneNode()->addChild( node );
node->attachObject( ent );
Ogre::Entity *ent2 = mSceneMgr->createEntity( "MyEntitysNinja", "ninja.mesh" );
Ogre::SceneNode *node2 = node->createChildSceneNode( "node2" );
node2->setPosition( 10, 0, 0 );
node2->setScale( 0.02f, 0.02f, 0.02f );
node2->attachObject( ent2 );

得到:

对父节点变换:

node->setPosition( 40, 10, 0 );
node->yaw( Ogre::Degree(180.0f) );

得到:

显然父节点跟随子节点在变化。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值