В целях оптимизации мне пришлось создать список объединения (действующий как представление прокрутки), чтобы уменьшить количество создаваемых игровых объектов. В этом списке используются перетаскиваемые интерфейсы (IDragHandler, IBeginDragHandler, IEndDragHandler) для оценки ввода игрока в реальном времени и перемещения / реорганизации его элементов пользовательского интерфейса.
Все они используют RectTransform, и я изменяю их закрепленную позицию в пользовательском интерфейсе в соответствии с длиной перетаскивания в течение последнего кадра.
Однако мне не удается синхронизировать сенсорный ввод и движение элементов. При прокрутке мой список прокручивается быстрее, чем ввод (т.е. при визуальном прокрутке на 130 пикселей мой список будет прокручиваться примерно на 180 пикселей)
Я тестировал насквозь, но значения, собранные из ввода, проходящие через скрипт и используемые в конце для смещения anchoredPosition RectTransform, одинаковы, каждый кадр, все время. Сначала я подумал, что это связано с разрешением экрана, поскольку скорость прокрутки, похоже, варьируется от мобильного устройства к другому, но нормализация вектора относительно разрешения экрана не решает проблему.
Я что-то упустил и / или есть простой способ (метод Unity) исправить это поведение?