查看: 2623|回复: 4

如何实现场景漫游中摄像机面向一定角度方向的移动!!

[复制链接]

该用户从未签到

发表于 2008-11-25 10:14:16 | 显示全部楼层 |阅读模式
当摄像机的角度发生变化时,如何实现摄像机在当前角度下的前进?希望高手们指教指教!!

该用户从未签到

发表于 2008-11-25 10:47:22 | 显示全部楼层
这个可以自己写一个操作器,,,通过适当的矩阵变换就可以了~~~可以参看osgGA::TrackManipulator的源代码~~~~~~~~~~~

该用户从未签到

 楼主| 发表于 2008-11-25 21:26:57 | 显示全部楼层
// 把漫游加入到场景之中,静态成员
TravelManipulator * TravelManipulator::TravelScene(osg::ref_ptr <osgProducer::Viewer> viewer)
{
        //可以获得并使用系统提供的浏览方式
        TravelManipulator* camera = new TravelManipulator;

        //选择一种浏览方式
        camera->m_nID = viewer->addCameraManipulator(camera);

        //TEMP
        camera->m_pHostViewer = viewer;

        return camera;       
}
//-----------------------------------------------------------------//------------------------------------------------------------
//激活所选的漫游方式
void TravelManipulator::Active(void)
{
        m_pHostViewer->selectCameraManipulator(m_nID);
}
请解释一下camera->m_nID = viewer->addCameraManipulator(camera);和m_pHostViewer->selectCameraManipulator(m_nID);为什么我这里老是编译错误,

该用户从未签到

发表于 2008-11-25 22:02:27 | 显示全部楼层
这段代码看起来蛮古老的~~是1.2版本吗?抱歉我没有1.2的文档了,如果是编译错误而非运行时错误的话,不如列出几条错误信息,大家讨论吧。

该用户从未签到

发表于 2008-11-26 00:11:15 | 显示全部楼层
已经没有这个函数了,,你可以用setCameraManipulator来代替~~~~~~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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