查看: 1440|回复: 7

拖曳器

[复制链接]

该用户从未签到

发表于 2013-5-12 18:50:29 | 显示全部楼层 |阅读模式
我想实现对场景中物体的拖曳功能,目前我的思路是:首先通过pick函数选中物体,pick选中物体时靠的是鼠标与场景的交点,然后通过鼠标的拖曳来实现物体的移动、旋转功能,但是不知道拖曳器的代码如何实现,如何将pick里的坐标用在拖曳器里,应该放在哪个类里?请大家多指点指点。。。很着急的。。。谢了。。

该用户从未签到

发表于 2013-5-12 21:07:00 | 显示全部楼层
OSG中有自带的拖拽器,直接使用就可以,你可以参考
OSG拖拽器Dragger简介之一.pdf
OSG拖拽器Dragger简介之二.pdf

这两个资料,在论坛里有,你可以去找找。

该用户从未签到

发表于 2013-5-13 08:22:42 | 显示全部楼层
pick获得的Mt Node 直接给Dragger的add 就可以了

该用户从未签到

 楼主| 发表于 2013-5-13 11:23:10 | 显示全部楼层
liuzhiyu123 发表于 2013-5-13 08:22
pick获得的Mt Node 直接给Dragger的add 就可以了

你好,我可以把那个节点赋给dragger,但我不知道如何把鼠标移动后的位置传到拖拽器里,好像每次一拖动,移动的总是个定值,这个是什么问题呢?谢谢了。。

该用户从未签到

发表于 2013-5-13 13:24:46 | 显示全部楼层
鼠标移动后的位置? 没明白

该用户从未签到

 楼主| 发表于 2013-5-13 14:57:51 | 显示全部楼层
liuzhiyu123 发表于 2013-5-13 13:24
鼠标移动后的位置? 没明白

我想做的拖拽功能是首先选中一个物体,选中之后,就按下鼠标左键,拖动鼠标移动一定的距离后放开鼠标左键,就让物体移动到鼠标左键释放的位置,这个拖拽器,我想让它可以在三维任意方向移动,不知道行不?该用什么类型的dragger,我想在handle函数里添加DRAG的case判断,但不知道在handle函数的什么地方将pick获得的节点给Dragger的add 函数。将dragger的定义放在那个函数里??

该用户从未签到

发表于 2013-5-13 15:19:20 | 显示全部楼层

该用户从未签到

发表于 2013-5-14 08:15:45 | 显示全部楼层
基本的功能都实现了,看看就知道了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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