查看: 2227|回复: 2

请教如何修改动画路径

[复制链接]

该用户从未签到

发表于 2008-9-3 20:21:55 | 显示全部楼层 |阅读模式
我用setCameraManipulator设置了一条动画路径?如下:
mViewer->setCameraManipulator(new osgGA::AnimationPathManipulator(mPlan.createInitPath()));
过一会,我想生成另一条路径,是不是先要删除这条路径,怎么弄?我直接用setCameraManipulator设定另一条路径是没有反应,还按照原来的路径走,代码是这样的:
mViewer->setCameraManipulator(new osgGA::AnimationPathManipulator(mPlan.createPath((int)(eye.x()),(int)(eye.y()),x,y)));

该用户从未签到

发表于 2008-9-3 20:52:48 | 显示全部楼层
1、AnimationPath::clear
2、添加你的新路径
3、AnimationPathManipulator::home(time)

试一试这样成不成

该用户从未签到

 楼主| 发表于 2008-9-3 21:08:57 | 显示全部楼层

回复 2楼 的帖子

执行到animationpath::clear场景就消失了,是不是应该先停下cameraManipulator呢?

void CVBHOsg::setPath(int x,int y)
{
        osg::Vec3 eye,center,up;
        mViewer->getCamera()->getViewMatrixAsLookAt(eye,center,up);
        mPlan.getAnimationPath()->clear();
        //animation->getAnimationPath()->clear();
        mViewer->setCameraManipulator(new osgGA::AnimationPathManipulator(mPlan.createPath((int)(eye.x()),(int)(eye.y()),x,y)));
        mViewer->getCameraManipulator()->home(0);
}

[ 本帖最后由 Kin 于 2008-9-3 21:15 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表