Как я могу сохранить 2D-вращение в Unity? - PullRequest
0 голосов
/ 04 февраля 2020

Мне нужно повернуть колесо из предыдущего положения. Но он сбрасывается при каждом прикосновении к экрану. Проблема возникает, когда касание заканчивается (выпущено), а затем снова трогается.

Мне нужно сохранить значение поворота объекта.

Любая помощь приветствуется. Спасибо


Видео


direction = Camera.main.ScreenToWorldPoint(touch.position) - transform.position;
  angle = (Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg)-90;
  rotation = Quaternion.AngleAxis(angle, Vector3.forward);
  transform.rotation = Quaternion.Slerp(transform.rotation, rotation, speed * Time.deltaTime);
  oldRotation = transform.rotation;

1 Ответ

0 голосов
/ 04 февраля 2020

В каком событии находится эта функция? Обновление одно? Вполне вероятно, что он выполняется хотя бы один раз после того, как палец отпущен, и в этот момент touch.position больше не имеет действительного значения. Сначала проверьте, что пользователь действительно касается, и выполните код только в том случае, если это так.

...