查看: 1654|回复: 7

请教如何做到场景中物体不随继续远近变大或变小?

[复制链接]

该用户从未签到

发表于 2011-2-16 17:43:12 | 显示全部楼层 |阅读模式
为创建中的模型添加图形标注(画十字丝等等),如果在场景拉远或拉近的时候,图形标注的大小不发生变化?求教~

该用户从未签到

发表于 2011-2-16 23:22:44 | 显示全部楼层
要么整个场景用正交投影
要么手动计算坐标 保持文字与camera的距离和方位不变(方位一般就是文字所在平面垂直于视线)
还有就是直接在屏幕上写字,采用2维坐标,需要对齐坐标即可

该用户从未签到

 楼主| 发表于 2011-2-17 09:46:47 | 显示全部楼层
回rcyboom:
正交投影估计不行,因为整个场景还是要拉远拉近实现缩放效果的
计算图形标注在屏幕上的投影点然后用HUD画在屏幕上我也想过,不过比较麻烦,每次引动场景都要重新计算屏幕坐标重绘,觉得可能会影响效率。

发现osg中的osgText::Text就有这样的效果,拉远拉近,字的大小都不发生变化,想要的就是这种效果,不知道该如何实现。

该用户从未签到

发表于 2011-2-17 11:40:29 | 显示全部楼层
Text是个几何体,加载HUD相机才有那样的效果

要实现你要的效果,估计得重载Billboard吧,然后根据距离缩放保持大小不变

该用户从未签到

发表于 2011-2-17 13:01:56 | 显示全部楼层
计算一下相机矩阵,然后乘以一个逆矩阵,抵消一下变换~~~~~

该用户从未签到

发表于 2011-2-19 15:34:16 | 显示全部楼层
设置为autotransform的子节点,再进行相应设置即可

该用户从未签到

 楼主| 发表于 2011-2-21 14:25:00 | 显示全部楼层
感谢各位的指点~
最后采用了zjfzjf的方法,osg中还有各种有用节点类型没有接触过,唉唉~看来要多加学习才行~

该用户从未签到

发表于 2011-5-18 19:35:47 | 显示全部楼层
用了以后怎么设置啊   autotransform
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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