本文实例为大家分享了unity3D实现物体任意角度自旋转的具体代码,供大家参考,具体内容如下
主要涉及函数:
Input.GetAxis(“Mouse x”) 可取得鼠标横向(x轴)移动增量
Input.GetAxis(“Mouse y”) 可取得鼠标竖向(y轴)移动增量
通过勾股定理获取拖拽长度,长度越长旋转越快。在project setting--Input 可以设置。
这里用Cube来做例子,因为方体看旋转比较清楚,如图:
代码如下:
using UnityEngine;
using System.Collections;
public class NewBehaviourScript : MonoBehaviour {
private bool onDrag = false; //是否被拖拽//
public float speed = 6f; //旋转速度//
private float tempSpeed; //阻尼速度//
private float axisX = 1;
//鼠标沿水平方向移动的增量//
private float axisY = 1; //鼠标沿竖直方向移动的增量//
private float cXY;
void OnMouseDown()
{
//接受鼠标按下的事件//
axisX = 0f; axisY = 0f;
}
void OnMouseDrag() //鼠标拖拽时的操作//