using UnityEngine;
using UnityEngine.EventSystems;
public class DragDrop : MonoBehaviour, IDragHandler
{
public void OnDrag(PointerEventData eventData) {
// Вот тут...
}
}
В одной статье пишут
transform.position = eventData.position;
// при этом объект уносит в координаты в тысячах
В другой:
transform.position = eventData.pointerCurrentRaycast.screenPosition;
// при этом объект дергается между координаты в тысячах и нулевыми
В третьей:
transform.localPosition += new Vector3(eventData.delta.x, eventData.delta.y, 0) / transform.lossyScale.x;
// Объект перетаскивается только сильно в стороне от курсора, но его хотя бы видно )
Путем экспериментов с третьим пришел к корректному варианту:
transform.localPosition += new Vector3(eventData.delta.x, eventData.delta.y, 0);
Может кто напишет, как сделать перетаскивание правильно и при каких настройках работает первое, второе, третье?