因为是通过UGUI的拖拽事件来处理模型的旋转,所以需要注意一下UI的层级关系。
using UnityEngine;
using UnityEngine.EventSystems;public class DragEvent : MonoBehaviour,IDragHandler,IBeginDragHandler {
public Transform cube;
private float X_before;
private float X_after;
public void OnBeginDrag(PointerEventData eventData)
{
X_before = eventData.position.x;
}
public void OnDrag(PointerEventData eventData)
{
X_after = eventData.position.x;
if (X_before - X_after <= 0)
{
cube.transform.Rotate(Vector3.down * Time.deltaTime * 250);
}
else
{
cube.transform.Rotate(Vector3.up * Time.deltaTime * 250);
}
X_before = X_after;
}
}