|
我在camera里定义了一个group节点model,以这个group节点为根节点绘制了一个表针节点handle,model->addchild(handle),并为这个表针定制了一条运动路径animationPath,然后把节点关联到这条路径,最后把model节点加到camera里,camera->addChild(model);调试结果是能观察到绘制的表针,但表针不能按照路径移动。不知道为什么。请指教一下,谢谢。
创建路径的代码为:
osg::Vec3 position(0,0,0);
osg:uat rotation(osg::Quat(roll,osg::Vec3(0.0,1.0,0.0))*osg::Quat(angle,osg::Vec3(0.0,1.0,0.0));
animationPath->insert(time,osg::Animation::ControlPoint(position),rotation);
更新回调的代码如下:
osg::MatrixTransform* position = new osg::MatrixTransforn;
position->setDataVariance(osg::Object::STATIC);
position->addChild(handler);
osg:ositionAttitudeTransform* xform = new osg::PositionAttitudeTransform;
xform->setUpdateCallback(new osg::AnimationPathCallback(animationPath,0.0,1.0));
xform->addChild(position);
model->addChild(xform);
同样的代码不用camera可以正常实现效果,一放到camera里就有问题了,没法回调路径。请高手指教一下这个困扰我好久的问题,谢谢。 |
|