游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3023|回复: 6

如何用鼠标拖动物体

[复制链接]

1

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2007-9-7 20:40:00 | 显示全部楼层 |阅读模式
在我的场景中有一个茶壶,我想拖动它。点选操作已经很熟悉了,可是我想实现在三维空间中拖动这个物体,并且这个物体要一直保持在鼠标指针下面,就像3DSMAX移动物体那样。不知道应该怎么做,请大家给点思路或者现成的代码片段供参考,谢谢!

2

主题

429

帖子

435

积分

中级会员

Rank: 3Rank: 3

积分
435
发表于 2007-9-8 01:45:00 | 显示全部楼层

Re:如何用鼠标拖动物体

并且这个物体要一直保持在鼠标指针下面
==================================

这是难点

25

主题

82

帖子

82

积分

注册会员

Rank: 2

积分
82
发表于 2007-9-8 18:52:00 | 显示全部楼层

Re:如何用鼠标拖动物体

既然你都提到3DMAX了
你可以先给MESH做三个向量,弄三个箭头什么的,就跟3DMAX一样,然后给3个箭头包围盒,然后去点它,点亮哪个“箭头”,然后鼠标按下就在这个“箭头向量”上移动距离。虽然你鼠标只能左右上下移动,只需要把移动量按比例带参进去把你的MESH进行TRANSLATION就可以了。

3DMAX就是这个原理吧,我自己想的哈。
你说在3D世界把MESH保持在鼠标下, 那实际上是没有意义的 你用过3DMAX就知道,那样物体是放不好的嘛

3

主题

38

帖子

38

积分

注册会员

Rank: 2

积分
38
发表于 2007-9-9 20:55:00 | 显示全部楼层

Re:如何用鼠标拖动物体

同问,
我在想,点选后直接保持Z坐标,然后根据鼠标的x,y坐标(View Space)换算到world space,不知道可行不
我也需要做类似功能

2

主题

429

帖子

435

积分

中级会员

Rank: 3Rank: 3

积分
435
发表于 2007-9-10 21:43:00 | 显示全部楼层

Re:如何用鼠标拖动物体

点选后直接保持Z坐标
====================
问题在于如何确定鼠标移动后的z值。没有绘制物体的地方,屏幕深度都是一样的。

如果只是想拖动物体,在指定轴的方向上移动物体就可以了(就是在矢量上+数量),这个已经能满足绝大部分需求了。

4

主题

61

帖子

61

积分

注册会员

Rank: 2

积分
61
发表于 2008-1-4 11:10:00 | 显示全部楼层

Re:如何用鼠标拖动物体

我也在找这个功能呢,找了好久.
在想,只实现两维空间移动,然后旋转摄像机再在另一轴向移动,屏幕只是二维,空间是三维,不知可不可行.
期待高手来给指点下.
谢谢

31

主题

278

帖子

298

积分

中级会员

Rank: 3Rank: 3

积分
298
发表于 2008-1-4 13:17:00 | 显示全部楼层

Re:如何用鼠标拖动物体

一条光线射了出去
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-19 09:33

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表