using UnityEngine;
using UnityEngine.EventSystems;
/// <summary>
/// 挂在有射线的UI上
/// </summary>
public class DragModel : MonoBehaviour, IDragHandler, IBeginDragHandler
{
/// <summary>
/// 目标模型
/// </summary>
public GameObject targetModel;
Vector2 currentPos;
Vector2 lastPos;
/// <summary>
/// 旋转速度
/// </summary>
[Range(5, 50)]
public float rotateSpeed = 15;
public void OnBeginDrag(PointerEventData eventData)
{
lastPos = eventData.position;
}
public void OnDrag(PointerEventData eventData)
{
currentPos = eventData.position;
targetModel.transform.Rotate(Vector3.up, (lastPos.x - currentPos.x) * Time.deltaTime * rotateSpeed);
lastPos = eventData.position;
}
}
滑动区域屏幕控制3D模型旋转
最新推荐文章于 2026-08-04 12:26:13 发布

245

被折叠的 条评论
为什么被折叠?



