查看: 3171|回复: 5

关于PagedLOD节点位置的设置,快哭了,求助!!!

[复制链接]

该用户从未签到

发表于 2017-3-15 21:10:42 | 显示全部楼层 |阅读模式
我想我遇到了一个对大家来说很简单的问题,但是却把我折磨的不行,代码如下:

        osg::ref_ptr <osgViewer::Viewer>viewer = new osgViewer::Viewer;
        osg::ref_ptr <osg::Group>root = new osg::Group;

        osg::ref_ptr <osg:agedLOD >page1 = new osg::PagedLOD;
        osg::ref_ptr <osg::PagedLOD >page2 = new osg::PagedLOD;
       
        page1->setCenter(osg::Vec3(-100, 0, 0));
        page1->setFileName(0, "cow.osg");
        page1->setRange(0, 0, 20000);
       
        page2->setCenter(osg::Vec3(100, 0, 0));
        page2->setFileName(0, "spaceship.osgt");
        page2->setRange(0, 0, 20000);

        root->addChild(page1.get());
        root->addChild(page2.get());
        osgUtil::Optimizer optimizer;
        optimizer.optimize(root.get());
        viewer->setSceneData(root.get());
        return viewer->run();

运行程序后,模型cow和spaceship总是粘在一起,完全感觉不到setCenter()的作用,效果图如图片所示。都快疯了,跪求大神指点一二(本人初学OSG,对一些操作还不熟练,若各位大神能抽出几分钟,写一下修改后的代码,小弟一定万分感谢)。

分不开的好基友

分不开的好基友

该用户从未签到

 楼主| 发表于 2017-3-15 21:20:20 | 显示全部楼层
貌似最近大家在社区里面的活动越来越少了,不知道什么时候才能得到高人指点,

该用户从未签到

发表于 2017-3-22 16:28:08 | 显示全部楼层
是不是把page1和page2 都设置成了0级?
我也是刚学

该用户从未签到

 楼主| 发表于 2017-3-23 13:40:29 | 显示全部楼层
Hersheys好时 发表于 2017-3-22 16:28
是不是把page1和page2 都设置成了0级?
我也是刚学

不是这个原因,每一个PagedLOD节点下的模型编号必须从0开始

该用户从未签到

发表于 2017-4-21 14:37:01 | 显示全部楼层
setCenter并没有偏移,你要给

MatrixTransform - lod1
MatrixTransform - lod2

该用户从未签到

 楼主| 发表于 2017-4-24 16:09:11 | 显示全部楼层
好的,谢谢,我试一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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