Я создаю игру для Android с Unity и пытаюсь создать объект, который будет следовать за моим пальцем.Это код, который я использую.
for (int i = 0; i < Input.touchCount; i++)
{
RaycastHit2D hit = Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.touches[i].position), Vector2.zero);
Vector3 touchPosition = Camera.main.ScreenToWorldPoint(Input.touches[i].position);
if (Input.GetTouch(i).phase == TouchPhase.Moved && hit.collider != null)
{
transform.position = new Vector2(touchPosition.x, touchPosition.y + sizeY);
}
}
Я поместил коллайдер ниже объекта и добавил размер объекта к Y, так что он появляется над моим пальцем.Проблема в том, что, если я немного двигаю пальцем, я теряю объект, который остается позади.Поскольку объект отстает, если я двигаю палец быстрее, я оказываюсь вне зоны коллайдера, и объект просто перестает двигаться.Единственный способ, который я нашел, это работает, это избавиться от вещи Raycast и заставить объект следовать за касанием в любом месте экрана (мне это не нравится).
Я просто хочу знать, является ли этолучшее, что я могу получить от Unity и Android, или если есть способ заставить объект следовать за пальцем одним за другим, с точностью, без задержки.Я тестирую на Samsung Galaxy S8 только с объектом и ничем иным.