unity中实现物体的拖拽到指定位置的功能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity中实现物体的拖拽到指定位置的功能相关的知识,希望对你有一定的参考价值。

unity中实现鼠标点击生成物体a(a物体是20个中的任意一个),再次点击生成物体b(b物体也是20个中的任意一个),然后实现鼠标拖拽b到a的位置 小于一定距离时自动吸附到a上 类似于三维软件中的捕捉功能 求C#代码 思路也可以

实现方式如下:

    先确保物体a、b都有碰撞器。

    点击鼠标首先判断是否生成过物体a,如果未生成过则生成a,否则继续判断是否生成过物体b。

    当物体a和b都生成了之后。然后在在Update函数中调用Input.getmousebuttondown,由相机向鼠标点击处发射射线,判断是否选中了物体b。

    由Input.getmousebutton获取持续拖动状态并移动物体b,然后判断Input.getmousebuttonup判断结束点位置是否足够贴近物体a,是则将物体b放置物体a位置即可。

参考技术A 先确保物体a、b都有碰撞器
点击鼠标首先判断是否生成过物体a,如果未生成过则生成a,否则继续判断是否生成过物体b。
当物体a和b都生成了之后
然后在在Update函数中调用Input.getmousebuttondown,由相机向鼠标点击处发射射线,判断是否选中了物体b,由Input.getmousebutton获取持续拖动状态并移动物体b,然后判断Input.getmousebuttonup判断结束点位置是否足够贴近物体a,是则将物体b放置物体a位置追问

不需要用到数组吗 起初单个已知的物体实现了 但是a和b都是随机的 把我搞蒙了 以为需要加入数组

追答

你可以用数组存一个物体a的序列然后随机取出一个就行了啊
这个没什么影响的

本回答被提问者采纳

以上是关于unity中实现物体的拖拽到指定位置的功能的主要内容,如果未能解决你的问题,请参考以下文章

openlayers中实现点的拖拽(modify),在layer中增加修改删除point。

在Unity中实现鼠标拖拽物体,滚轮控制物体远近的效果

unity UGUI为啥在父物体绑定拖拽脚本,子物体也能拖拽?

unity3d 2D平面游戏实现鼠标拖拽物体移动

Game面板实现鼠标拖拽物体

unity3d 如何让子对象的顺序改变?