查看: 1006|回复: 4

新手关于拖拽器的问题

[复制链接]

该用户从未签到

发表于 2013-5-16 09:55:39 | 显示全部楼层 |阅读模式

请教大家一个问题,我最近在研究拖拽器,
遇到两个问题,希望高手们能帮帮忙。非常感谢。
问题一:
就是推拽器的位置不在模型的中心,如何调整推拽器的位置,使它在模型的中心。
问题二:
鼠标移动的过程中,如何实时更新拖拽器的位置,使拖拽器随着物体的移动而移动。

该用户从未签到

发表于 2013-5-16 12:37:40 | 显示全部楼层
1.获得模型的中心 设置操作器的matrix 的 translation 为center 就可以了
2.当物体移动的时候 还是获得位置 然后设置操作器的matrix的translation 同上

该用户从未签到

 楼主| 发表于 2013-5-16 16:43:19 | 显示全部楼层
liuzhiyu123 发表于 2013-5-16 12:37
1.获得模型的中心 设置操作器的matrix 的 translation 为center 就可以了
2.当物体移动的时候 还是获得位置 ...

是这样吗?
float scale = obj->getBound().radius()* 1.6;
dragger->setMatrix(osg::Matrix::scale(scale, scale, scale) *osg::Matrix::translate(obj->getBound().center()));

呃 能不能说的详细一点呢,谢谢了

该用户从未签到

发表于 2013-5-16 16:49:37 | 显示全部楼层
就是这样的

该用户从未签到

 楼主| 发表于 2013-5-16 18:23:28 | 显示全部楼层
liuzhiyu123 发表于 2013-5-16 16:49
就是这样的

你好liuzhiyu123 ,但是这样的话,拖拽器的位置还是不在模型中间,是不是模型的问题呢,我们是用MAYA建的模型,建模的时候中心坐标也设置在模型的中心了呢。
但是我在网上找的模型例子,拖拽器就正好在中间。
不不知道是什么原因。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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