loading
经年
赞赏支持
关注

如何在Unity3d中拖拽任意的对象

经年

然后自我舔舔伤口,自我坚持,但是一旦被嘘寒问暖,它就受不了。

任意拖拽游戏对象通常有2种实现方式

  1. 针对UGUI这个你需要实现IBeginDragHandler, IDragHandler, IEndDragHandler 三个接口百并且实现上述三个方法.

    1. IBeginDragHandler开始拖拽时

    2. IDragHandler拖拽中

    3. IEndDragHandler 拖拽结束

  2. 如果是针对一般的模型那么你首先度需要定义射线其次需要对拖拽的物体添加碰撞器

    1. 首先将目标物体的世界问空间坐标转换到它自身的屏幕空答间坐标

    2. 然后存储鼠标的屏幕空间坐标(回Z值使用目标物体的屏幕空间坐标)

    3. 计算目标物体与鼠标物体在世界空间中的偏移量   

    4. 在鼠标按下后再次存储鼠标的空间坐标同时将鼠标的屏幕空间坐标转换到世界坐标加上偏移量(目答标物体的屏幕空间坐标  )这样就可以当做目标物体的世界空间坐标

    5. 更新目标物体的世界空间坐标



2020-04-28
¥35.89
总资产
1496
获点赞
1034
关注者
「真诚赞赏,手留余香」
赞赏支持
还没有人赞赏,支持一下吧
发布讨论

网友评论

还没有用户评论

相关链接

写评论
0
0
0
打赏