查看: 1353|回复: 3

漫游器的问题

[复制链接]

该用户从未签到

发表于 2010-12-9 19:33:02 | 显示全部楼层 |阅读模式
想做一个漫游器,与现在漫游器不同的是想让场景不动,而动的是视点。举例来说,把场景当作一个沙盘,有种人围绕沙盘观看的感觉,而不是沙盘在你的眼前转!是不是跟现在TrackBall类的视点矩阵变换一下就行呢,还是需要从头开始写!请指教!

该用户从未签到

发表于 2010-12-10 08:36:21 | 显示全部楼层
与现在漫游器不同的是想让场景不动,而动的是视点
这里您犯了一个概念上的错误——所有的漫游器改变的都是观察矩阵,没有任何一个能改变场景对象的模型矩阵。

围绕沙盘观看的感觉,而不是沙盘在你的眼前转!
这事实上只是您的主观感觉,而不是客观的代码实现。严格来说,所有的漫游器都是采取“让摄像机运动”,然后将这个运动矩阵求逆得到观察矩阵。因此每一个漫游器都符合您的要求

围绕沙盘的漫游方式本身是比较简单的,甚至我们直接使用TerrainManipulator都可以达到这样的效果。当然根据具体的项目,您也可以自己进行实现

该用户从未签到

发表于 2010-12-10 11:04:59 | 显示全部楼层
mark了解~

该用户从未签到

发表于 2010-12-10 20:53:58 | 显示全部楼层
呵呵,咋说呢?摄像机动了,导致看到的场景发生变化。若有人硬是要说是场景动了,摄像机没动,你有啥办法?

坐汽车上,看见外面的风景在后退,你说是你在动还是风景在动?物体的运动和摄像机的运动是相对的。
通常漫游器都是直接改变摄像机的位置的,但是你硬是要做个漫游器来改变物体的矩阵,也是可以的。你若是这么做了,我们通常不称它为漫游器,改称为操纵器。
不论是操纵器还是漫游器,小心编程,都可以达到一样的效果,如前面所说,物体的运动和摄像机的运动是相对的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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