[Unity3d]控制物体的旋转以及缩放

我们在用unity做产品展示的功能的时候,旋转和缩放是必不可少的功能,如果是大型物品,比如汽车或者其他的东西,可以使用旋转摄像机的思路来控制达到物体旋转的效果,如果是这种情况可以参考我之前的文章:http://blog.csdn.net/dingxiaowei2013/article/details/16337411;如果是小型物品的展示,就可以通过通过控制物体本身的旋转和位置的变化来达到缩放和旋转物体的效果。因为我这里有一个背景图,所以不希望背景图动,之所就只能采取第二种方法来达到缩放旋转物体的效果。

Code:

using UnityEngine;
using System.Collections;

public class DragModel : MonoBehaviour {
	
	
	private float x = 0.0f;
	private float y = 0.0f;
	
	private float xSpeed = 200.0f;
	private float ySpeed = 200.0f;
	
	private float zSpeed = 40f;
	
	private float normalDistence = 0;
	
	private float minDistence = 0;
	private float maxDistence = 10;
	

	void Update () 
	{
		
		if(Input.GetMouseButton(1))
		{
			x=Input.GetAxis("Mouse X") *xSpeed;
			print(Input.GetAxis("Mouse X"));
			y=Input.GetAxis("Mouse Y") *ySpeed;
			
			transform.Rotate(Vector3.up * -x *Time.deltaTime,Space.World);
			transform.Rotate(Vector3.right * y *Time.deltaTime,Space.World);
			
		}
		
		
		else if(Input.GetAxis("Mouse ScrollWheel")!=0)
		{
			float ga = Input.GetAxis("Mouse ScrollWheel");
			if(transform.position.z > minDistence && transform.position.z<maxDistence||transform.position.z<=minDistence && ga<0||transform.position.z>=maxDistence && ga>0)
			{
				transform.Translate(Vector3.forward*-Input.GetAxis("Mouse ScrollWheel")*zSpeed*Time.deltaTime,Space.World);	
			}
			
		}
	}
}

效果图:



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值