查看: 2230|回复: 5

关于用HUD实现指南针的思路

[复制链接]

该用户从未签到

发表于 2009-10-28 23:59:12 | 显示全部楼层 |阅读模式
我已经搞到一个指南针的三维模型,想把它看做一个二维的贴图,采用osgHUD的方法将其始终显示在屏幕最前端。现在的效果是指南针模型的确贴在屏幕前端,不能缩放,但仍然能够自由旋转,请问如何解决这个问题,谢谢!

该用户从未签到

发表于 2009-10-29 08:50:37 | 显示全部楼层
其实你也可以不用Hud,自己参照TrackballManipulator自己定义一个漫游器。。。。 让它只能绕垂直与窗口的轴旋转

该用户从未签到

发表于 2009-10-29 09:30:08 | 显示全部楼层
hud的相机需要以addChild的方式加入场景树
如果是addSlave作为从相机添加到话,观察矩阵会随主相机的观察矩阵变化,可能导致旋转

该用户从未签到

发表于 2009-10-29 09:59:58 | 显示全部楼层
HUD正交投影,远近物体看起来一样大,所以即使设置View矩阵的视点远离物体,物体显示仍然大小不变。这时用视点控制“缩放”没有意义。

该用户从未签到

发表于 2009-10-29 10:13:45 | 显示全部楼层
要限制指南针的旋转,您需要自己派生一个新的Transform类并重写computeLocalToWorldMatrix函数;或者使用updateCallback来控制变换矩阵

该用户从未签到

 楼主| 发表于 2009-10-29 20:26:21 | 显示全部楼层
HUD正交投影,远近物体看起来一样大,所以即使设置View矩阵的视点远离物体,物体显示仍然大小不变。这时用视点控制“缩放”没有意义。
qele 发表于 2009-10-29 09:59


谢谢,我没表述清楚,我是不需要缩放(已实现),同时又不需要旋转。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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