2D画面中使物体跟随鼠标的方向旋转(向量法)
2017-12-23 14:31
501 查看
void Update () {
//获取鼠标的坐标,鼠标是屏幕坐标,Z轴为0,这里不做转换
Vector3 mouse = Input.mousePosition;
//获取物体坐标,物体坐标是世界坐标,将其转换成屏幕坐标,和鼠标一直
Vector3 obj = Camera.main.WorldToScreenPoint(transform.position);
//屏幕坐标向量相减,得到指向鼠标点的目标向量,即黄色线段
Vector3 direction = mouse - obj;
//将Z轴置0,保持在2D平面内
direction.z = 0f;
//将目标向量长度变成1,即单位向量,这里的目的是只使用向量的方向,不需要长度,所以变成1
direction = direction.normalized;
//物体自身的Y轴和目标向量保持一直,这个过程XY轴都会变化数值
transform.up = direction;
}
//获取鼠标的坐标,鼠标是屏幕坐标,Z轴为0,这里不做转换
Vector3 mouse = Input.mousePosition;
//获取物体坐标,物体坐标是世界坐标,将其转换成屏幕坐标,和鼠标一直
Vector3 obj = Camera.main.WorldToScreenPoint(transform.position);
//屏幕坐标向量相减,得到指向鼠标点的目标向量,即黄色线段
Vector3 direction = mouse - obj;
//将Z轴置0,保持在2D平面内
direction.z = 0f;
//将目标向量长度变成1,即单位向量,这里的目的是只使用向量的方向,不需要长度,所以变成1
direction = direction.normalized;
//物体自身的Y轴和目标向量保持一直,这个过程XY轴都会变化数值
transform.up = direction;
}
相关文章推荐
- Uniyt3d物体跟随鼠标方向移动
- 【Unity 3D学习】获取鼠标滑动方向(上下左右)-控制摄像机围绕物体旋转
- 物体跟随鼠标移动并旋转角度
- Unity3D 物体跟随鼠标旋转
- Unity3D中物体绕垂直于鼠标划过方向的轴的旋转
- Unity3D之物体跟随鼠标移动和旋转
- Unity之2d对象跟随鼠标旋转
- 【狼】unity 鼠标拖拽物体实现任意角度自旋转
- 3D场景中的物体跟随鼠标移动
- OpenGL鼠标旋转物体
- Unity物体跟随鼠标点的位置自动寻路
- unity 根据鼠标的移动来旋转物体Rotate
- UGUI 将2DUI和场景中的3d物体关联,跟随物体移动
- (glut)应用arcball原理实现鼠标左键控制物体旋转(2)
- Unity脚本,平滑跟随目标物体移动和旋转
- uinty实现玩家跟随鼠标位置平滑旋转角度
- Unity 鼠标点击左右移动,人物跟随旋转
- OpengL 鼠标控制物体的旋转
- processing鼠标移动物体停止旋转
- canvas实现跟随鼠标旋转的箭头