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

简介: 我们在用unity做产品展示的功能的时候,旋转和缩放是必不可少的功能,如果是大型物品,比如汽车或者其他的东西,可以使用旋转摄像机的思路来控制达到物体旋转的效果,如果是这种情况可以参考我之前的文章:http://blog.csdn.net/dingxiaowei2013/article/details/16337411;如果是小型物品的展示,就可以通过通过控制物体本身的旋转和位置的变化来达到缩放和旋转物体的效果。

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

效果图:



相关文章
|
存储
HTTP的PUT请求是干什么的?底层原理是什么?
HTTP的PUT请求是干什么的?底层原理是什么?
2194 3
|
5月前
|
JSON 缓存 供应链
1688图片搜索API秘籍!轻松获取相似商品数据
1688图片搜索API基于图像识别技术,支持通过上传商品图片搜索同款或相似商品,适用于电商选品、供应链管理等场景。提供多种搜索模式与结果过滤条件,支持Python等开发语言,提升采购效率。
|
1月前
|
传感器 算法 物联网
蓝牙定位追踪技术:从技术原理、核心优势详解(一)
蓝牙定位追踪技术利用RSSI或AoA/AoD,通过信标、网关或多天线阵列实现室内精准定位,具备低功耗、低成本、易部署、抗干扰强等优势,广泛应用于工业、仓储、楼宇等场景的人员与资产管理。如果您想进一步了解维构lbs智能定位的技术和案例,欢迎搜索、关注、评论留言~
|
11月前
|
机器学习/深度学习 人工智能 自然语言处理
《解锁元宇宙虚拟角色自主行为:AI与深度强化学习的融合变革》
元宇宙作为新兴领域,融合了VR、AR等技术,其虚拟角色的智能行为至关重要。目前,虚拟角色行为较为简单,缺乏自主性。AI与深度强化学习的结合为虚拟角色带来了“智慧大脑”,通过自然语言处理和计算机视觉技术,使虚拟角色能理解用户意图并作出合理反应。深度强化学习则让虚拟角色在互动中不断优化决策策略,提升社交、游戏和工作场景中的用户体验。尽管面临样本效率低、可解释性差等挑战,AI与DRL的融合将推动虚拟角色更加智能和个性化,开启人类与虚拟世界交互的新篇章。
272 4
EMQ
|
存储 NoSQL API
EMQX Enterprise 5.4 发布:OpenTelemetry 分布式追踪、OCPP 网关、Confluent 集成支持
新版本提供 OpenTelemetry 分布式追踪与日志集成功能,新增了开放充电协议 OCPP 协议接入能力,并为数据集成添加了 Confluent 支持。此外,新版本还进行了多项改进以及 BUG 修复,进一步提升了整体性能和稳定性。
EMQ
1684 95
EMQX Enterprise 5.4 发布:OpenTelemetry 分布式追踪、OCPP 网关、Confluent 集成支持
|
Ubuntu 安全 Linux
云服务器安装宝塔教程
云服务器安装宝塔教程
|
存储 JSON 监控
【Flume大揭秘】揭秘Flume断点续传的黑科技,让你的数据传输从此告别中断,稳如老狗!
【8月更文挑战第24天】Apache Flume是一款由Cloudera开发的分布式、可靠且高可用的日志数据收集系统,特别适用于大规模日志数据的采集、聚合与传输。其断点续传功能在遇到故障或中断时尤为关键,能确保数据传输从上次停止的地方继续进行而无需重头开始。
403 4
|
小程序 前端开发 JavaScript
小程序的详细开发流程是什么?
【10月更文挑战第16天】小程序的详细开发流程是什么?
1528 0
|
JavaScript 前端开发 UED
video标签里面的路径怎么填
video标签里面的路径怎么填
457 0
|
Java Serverless API
Java 后台开发的新趋势与应用
Java 后台开发的新趋势与应用
328 2

热门文章

最新文章