手指/鼠标 360度旋转模型脚本

本文提供了一个支持鼠标和手势操作的脚本,用于在Unity中实现物体360度旋转。脚本允许用户通过设置旋转速度来控制旋转效果,并兼容不同平台。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上一个使360旋转物体的脚本,支持鼠标和手势操作,代码如下:

01using UnityEngine;
02using System.Collections;
03 
04public class SpinWithFinger : MonoBehaviour {
05    //target properties
06    public Transform target;
07    public float speed = 1f;
08 
09    //private properties
10    Transform mTrans;
11    float x;
12    float y;
13 
14    void Start () {
15        mTrans = transform;
16        if(target==null)
17            target = mTrans;
18    }
19 
20    Touch t;
21    void Update () {
22#if UNITY_EDITOR || UNITY_STANDALONE || UNITY_WEBPLAYER
23        if(Input.GetMouseButton(0)){
24            x = Input.GetAxis("Mouse X");
25            y = Input.GetAxis("Mouse Y");
26            OnDrag(new Vector2(y,x)*10);
27        }
28#elif UNITY_IPHONE || UNITY_ANDROID
29        if(Input.touchCount==1){
30            t = Input.GetTouch(0);
31            switch(t.phase){
32            case TouchPhase.Moved:
33                OnDrag(t.deltaPosition*10);
34                break;
35            case TouchPhase.Stationary:
36                OnDrag(t.deltaPosition*10);
37                break;
38            }
39        }
40#endif
41    }
42 
43    void OnDrag (Vector2 delta){
44        target.localRotation = Quaternion.Euler(0.5f * delta.x * speed, -0.5f * delta.y * speed, 0f) * target.localRotation;
45    }
46}

这段代码使用了宏定义判断平台(有关宏定义的使用在上一篇文章中有介绍http://www.u3dblog.com/?p=309),加入了两种操作的兼容。

脚本是加在物体上,然后在属性监视面板中可以设置物体旋转的速度,就可以很好的控制了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值