unity3d鼠标移动、旋转物体

2023-10-30

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

在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);
		}		
	}



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

unity3d鼠标移动、旋转物体 的相关文章

随机推荐