在许多场景中,我们需要用到拖拽物体这个功能,有的时候我们需要拖拽的轨迹为一条直线,平稳地拖拽,但是单靠用手去拖拽是很难拖成直线的(除非你单身20年).这时我们可以将拖拽的点限定在一条直线或者向量上. 要实现这个功能只需你想要规定的那条直线或向量上的两个点,和你所拖拽的物体的坐标。思路是求出你所拖拽物体坐标对应那条直线或向量的垂点(垂足).
如图
想要物体沿着直线移动,即要物体的移动时的坐标落在直线上
物体的坐标为 Vector3 posObj
直线上端点A Vector3 posA
直线上端点B Vector3 posB
所求目标点C Vector3 posC
设物体为D点,
第一步
先求向量 CD :①求出D点到向量BA 的距离
dis
②求出与向量BA垂直的向量right
dis与 right相乘即可得到向量CD