实现拖拽的方法:
通过创建一个X-Z平面 得到从屏幕发出的射线到当前X-Z平面的碰撞点 得到的位置作为起始位置和结束位置
当鼠标按下的时候 得到的是初始位置 当鼠标松开的时候 得到的是结束位置
得到两个位置的距离
再通过Vector.Lerp()函数和Update()函数来平衡每一帧的差异 进而实现滑动的效果。
代码示例:直接挂在Camera上即可
private Vector3 dragStartPos, dragCurrentPos;
private Vector3 newPos;
private void Start()
{
newPos = transform.position;
}
private void HandleCameraMove()
{
if (Input.GetMouseButtonDown(

本文介绍了一种在Unity中实现拖拽效果的方法,通过计算鼠标射线与X-Z平面的交点,获取起始位置和结束位置,并利用Vector.Lerp()函数平衡每一帧的移动差异。
最低0.47元/天 解锁文章
385





