查看: 1880|回复: 7

关于相机跟随运动节点运动

[复制链接]

该用户从未签到

发表于 2012-8-9 22:07:11 | 显示全部楼层 |阅读模式
NPS中:
“自OSG 0.9.7发布之后,新的osgGA::MatrixManipulator类(TrackerManipulator)允许用户将摄相机“依附”到场景图形中的节点。这一新增的操纵器类可以高效地替代下面所述的方法。

本章教程将继续使用回调和节点路径(NodePath)来检索节点的世界坐标。”


那哪里有讲”osgGA::MatrixManipulator类(TrackerManipulator)用户将摄相机“依附”到场景图形中的节点“的方法啊?

求各位老师指点啊!有代码就更好了!!谢谢啊!!

该用户从未签到

发表于 2012-8-9 22:26:46 | 显示全部楼层
跟随球

该用户从未签到

 楼主| 发表于 2012-8-9 22:48:30 | 显示全部楼层
xubaolong 发表于 2012-8-9 22:26
跟随球

什么意思?  求详细指导啊!
  • TA的每日心情
    开心
    2019-11-11 10:36
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2012-8-9 22:58:41 | 显示全部楼层
    这样不行吗

    1. void NodeTrackerManipulator::setTrackNode

    2. (

    3. osg::Node *

    4. node

    5. )
    复制代码

    该用户从未签到

    发表于 2012-8-9 23:48:42 | 显示全部楼层
    MatrixTransform A;
    MatrixTransform B;
    A->addchild(B);
    使用A转换矩阵操作物体,
    使用B转换矩阵操作相机,不就依附了么~
    自己好好想想~

    该用户从未签到

     楼主| 发表于 2012-8-10 11:01:13 | 显示全部楼层
    buaahc 发表于 2012-8-9 23:48
    MatrixTransform A;
    MatrixTransform B;
    A->addchild(B);

    不好意思,我是新手,刚学。
    怎么用transforma B来控制相机啊,谢谢!

    该用户从未签到

    发表于 2012-8-10 12:01:28 | 显示全部楼层
    额?相机跟随么?话说,你看的那个材料有点老了吧。。现在都3.0+了。。NodeTrackerManipulator就可以了吧~

    该用户从未签到

    发表于 2012-8-11 02:38:18 | 显示全部楼层
    恩 其实他们说的NodeTrackerManipulator是很好的方法,我说的是海军教程上面的方法~
    你想想A,B分别是一个变换矩阵,MatrixTransform A B
    先说B:假设B这个变换矩阵什么也不做,即B的变换全是单位变换,即B->setMatrix(identity())你将相机添加到B当中,是不是相机还是在是初始位置,是不是,到这里懂了么?
    好,再说A:A是对物体进行操作,包括你想对他做的任何操作~A->setMatrix(osg::matrix::rotate*osg::matrix::translate*******。。。。)
    你将物体添加到A当中是不是就是对物体做了A变换矩阵的操作,然后你将B矩阵添加到A中是不是矩阵B
    也被A操作与物体相同的变换了,到这里也要理解
    现在B变换矩阵和物体是不是都被A操作了,两者完全一起运动且重合在一起~
    所以你要做的就是设置B操作矩阵对相机进行变换操作,然后通过B的操作使相机始终对着物体
    A,对不对~
    自己好好想想~
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

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

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

    联系我们

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