阅读背景:

Unity3D三维坐标(X,Z轴)下物体拖动移动(贴地面移动)实现并实现物体碰撞检测

来源:互联网 

之前做过一个在Unity中实现二维(X,Z轴)拖动的效果,思路是直接获取鼠标坐标并且将其赋给GameObject。然而在三维(X,Y轴)的移动中,因为鼠标对于Scene中并没有Z轴的概念,因此无法使用直接赋值的方法来移动GameObject。所以在此引用了Unity中射线的概念来实现物体的三维移动,但是在物体的移动方面,因为物体也是通过射线碰撞位置去改变物体的坐标,因此会出现两个物体无法完成碰撞并且重叠的现象,因此想到了可以通过记录前一帧物体位置的方法,并结合碰撞器,当检测到碰撞时即返回上一帧的位置来解决碰撞的问题。具体代码如下所示:之前做过一个在Unity中实现二维(X,Z轴)拖动的效果,思路是直接获取鼠标坐标并且将




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: