|
最近研究帧动画,对于osg::Sequence存在疑惑,希望各位达人解惑~
首先,如果我这样写
osg::ref_ptr <osg::Squence> seq=new osg::Sequence;
osg::ref_ptr<osg::Node> model1=osgDB::readNodeFile(.....);
osg::ref_ptr<osg::Node> model2=osgDB::readNodeFile(.....);
seq->insertChild(0,model1);
seq->insertChild(1,model2);
。。。。。。。设置帧动画的时间等。。。。。
******最后可以实现两个模型的切换显示********
但是,我将添加的模型改变成一个方法后返回的类型则不可以切换显示了,
(1)osg::ref_ptr<osg::Node> SetModel1(osg::ref_ptr <osg::Node> n1)
{
........................................//一种渲染属性设置
.........................................
return n1.get();
}
osg::ref_ptr<osg::Node> SetModel2(osg::ref_ptr <osg::Node> n2)
{
........................................//另一种设置
.........................................
return n2.get();
}
(2)
osg::ref_ptr <osg::Squence> seq=new osg::Sequence;
seq->insertChild(0,SetModel1(node));
seq->insertChild(1,SetModel2(node));
。。。。。。。设置帧动画的时间等。。。。。
******最后无法实现切换显示,但是去掉一个,另一个作为单独加载到场景中均没问题********
|
|