unity3d鼠标移动、旋转物体

来源:互联网 发布:已备案的域名怎么转让 编辑:程序博客网 时间:2024/05/01 23:00

为了从不同角度观察物体,需要使用鼠标改变物体的位置及角度。

在unity3d中Input.GetMouseButton()获得鼠标键,Input.GetAxis()函数获得鼠标的移动的方向和距离,其中Mouse X表示X方向,Mouse Y表示Y方向,Mouse ScrollWheel表示中键滚动距离。

使用transform.Rotate()改变物体的旋转量,Space.World指定旋转的参考坐标系为世界坐标系;

private float rotationX;private float rotationY;private float scaleRotationX = 5f;private float scaleRotationY = 5f;private float positionX ;private float positionY ;private float positionZ ;private float scalePosiontX = 0.1f;private float scalePosiontY = 0.1f;private float scalePosiontZ = 1f;void Update(){if(Input.GetMouseButton(1))  //右键改变x,y,z位置{positionX =Input.GetAxis("Mouse X") * scalePosiontX;positionY = Input.GetAxis("Mouse Y") * scalePosiontY;positionZ = -Input.GetAxis("Mouse ScrollWheel") * scalePosiontZ;transform.position += new Vector3(positionX,positionY,positionZ);}else if(Input.GetMouseButton(2))//中间改变旋转量{rotationX =-Input.GetAxis("Mouse X") * scaleRotationX;rotationY =Input.GetAxis("Mouse Y") * scaleRotationY;transform.Rotate(rotationY,rotationX,0f,Space.World);}}