查看: 1069|回复: 4

模型的智能拖动

[复制链接]

该用户从未签到

发表于 2012-8-11 20:20:26 | 显示全部楼层 |阅读模式
我现在有桌子,果盘和苹果三个模型,分别用geodeDesk, geodeTray, geodeApple表示,然后控制它们的位置的PositionAttitudeTransform分别是patDesk, patTray, patApple. 整个OSG场景树这么连接:root->patDesk, root->patTray, root-> patApple, patDesk->geodeDesk, patTray->geodeTray, patApple->geodeApple。那么现在我需要实现下面的功能:拖动果盘,果盘只能在桌子上移动,移动的同时苹果也随果盘移动;移动苹果,苹果只能在果盘上移动。那么需要解决的问题是:我要怎么写拖曳器,才能将在屏幕上2D的鼠标操作信息反应到PositionAttitudeTransform节点上去?有没有什么代码或者示例给我参考的?请高手帮忙解答一下。谢谢!

该用户从未签到

发表于 2012-8-11 21:33:43 | 显示全部楼层
你的场景树设计的就有问题把~很显然应该设计成在同一MT下,比如 root->DeskMT,
DestMT-> geodeDesk, DestMT->TrayMT, TrayMT-> geodeTray, TrayMT->appleMT, appleMT->geodeApple,这样子当选中的是桌子的时候,去操纵DestMT,选中的是Tray的时候操纵TrayMT,选中的是Apple的话操纵appleMT即可吧。

该用户从未签到

 楼主| 发表于 2012-8-12 20:58:22 | 显示全部楼层
Gooogle 发表于 2012-8-11 21:33
你的场景树设计的就有问题把~很显然应该设计成在同一MT下,比如 root->DeskMT,
DestMT-> geodeDesk, Dest ...

嗯 对 其实我是按你那样设计的场景树 写错了 我的问题主要是 怎么通过用户交互来操作MatrixTransform呢?有没有什么例子,或者用到OSG哪方面的技术呢?

该用户从未签到

发表于 2012-8-13 07:55:55 | 显示全部楼层
请不要重复发帖

该用户从未签到

发表于 2012-8-15 23:28:17 | 显示全部楼层
jiapeionline 发表于 2012-8-12 20:58
嗯 对 其实我是按你那样设计的场景树 写错了 我的问题主要是 怎么通过用户交互来操作MatrixTransform呢? ...

你判断一下你选中了哪个模型不就ok了么?
用的的技术当然就是拾取喽~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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