1.检测鼠标是否在屏幕里,分俩种情况:
- 窗口软件;鼠标位置的坐标超出窗口后,取值大于或小于分辨率,即
input.mouseposition.x>(<)screen.width,input.mouseposition.y>(<)screen.height,可以判断出鼠标是否在软件屏幕里。 - 全屏软件;鼠标位置移出屏幕后,input.mouseposition.x = 0或者input.mouseposition.y = 0,可以判断鼠标是否处在屏幕里。
2.世界坐标转屏幕坐标
Vector2 screenPos = Camera.main.WorldToScreenPoint(Object3D.transform.position);
UI3D.GetComponent<Text>().rectTransform.position = screenPos + Offset;
3.UI随鼠标旋转
if (Input.GetMouseButton(0))
{
float h = Input.GetAxisRaw("Mouse X");
Image.transform.Rotate(-Vector3.forward * h * Speed);
}