unity3d鼠标移动、旋转物体

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

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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值