查看: 963|回复: 4

模型是否位于场景中心问题

[复制链接]

该用户从未签到

发表于 2014-6-13 10:31:35 | 显示全部楼层 |阅读模式
大家好:

按照常理,在场景中加载一个模型,模型应当位于场景中心,如图1



后来,随着程序功能越来越多,模型不位于场景中心,如图2,请问,如何解决这个问题。
我并没有进行模型位置的平移。

有遇到这种情况的吗?多谢。

图1

图1

图2

图2

该用户从未签到

 楼主| 发表于 2014-6-13 10:50:30 | 显示全部楼层
Array的回复:

Array[锐爷](183081818)  10:41:24
所谓的位于中心,是CameraManipulator的结果
它会自动计算出一个合适的场景包围体,然后把观察位置和角度设置到正好能囊括这个包围体的程度
Array[锐爷](183081818)  10:42:24
所以您所谓的不在中心,是因为这个包围体计算后的结果就是这样。至于为什么,就看您自己的数据与程序了

该用户从未签到

 楼主| 发表于 2014-6-13 10:50:52 | 显示全部楼层
本帖最后由 rubby 于 2014-6-13 10:53 编辑

Array,再麻烦一下,我重新设置CameraManipulator的观察矩阵,是否可以将模型置于场景中心。还是需要别的操作?
Array[锐爷](183081818)  10:48:43
可以


==================
根据Array的提示,我去尝试下,如有结果,贴在这里。

该用户从未签到

发表于 2014-6-18 10:18:29 | 显示全部楼层
这是因为你使用trackBallManipulator的原因,这个漫游器会自动计算一个合适的位置,如你继续使用这个漫游器,那么最简单的方法就是setHomePosition(osg::Vec3(0.0,0.0,0.0)),或者添加你自己的漫游器

该用户从未签到

 楼主| 发表于 2014-6-18 14:05:13 | 显示全部楼层
casthc 发表于 2014-6-18 10:18
这是因为你使用trackBallManipulator的原因,这个漫游器会自动计算一个合适的位置,如你继续使用这个漫游器 ...

精辟。Thanks
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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