查看: 1340|回复: 4

在路径漫游中,如何加入视角的自由转动呢?

[复制链接]

该用户从未签到

发表于 2013-9-3 10:53:21 | 显示全部楼层 |阅读模式
在沿路径漫游中,用户晃动鼠标,视角随之转换,但是移动路径不变化。要实现这个功能,不知哪位大侠能给一个思路,因为是新人,请求一条可行的思路。

该用户从未签到

发表于 2013-9-4 19:48:06 | 显示全部楼层
自己写个操控器

该用户从未签到

发表于 2013-9-5 21:32:39 | 显示全部楼层
还记得opengl里面的gluLookAt函数么?eye,center,up三个vec3决定了ModelViewMatrix。就你的这个思路而言,eye是沿着固定的路径移动的,up是不变的吧?变化的只有center,我想可以这么说吧。

该用户从未签到

发表于 2013-9-5 22:40:09 | 显示全部楼层
注意改动漫游器中的_rotation

该用户从未签到

发表于 2013-9-6 17:10:00 | 显示全部楼层
    osg::AnimationPath::ControlPoint cp;
    _animationPath->getInterpolatedControlPoint( time, cp );

        osg:uat quat = cp.getRotation();
        osg::Matrix mat;
        quat.get(mat);

        mat.postMult( osg::Matrix::rotate(旋转角度,osg::Vec3( 0.0,0.0,1.0)));
        quat.set( mat );

        cp.setRotation( quat );
        cp.getMatrix( _matrix );

  这个_matrix就是你想要的姿态。
试试看...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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