Простой проект качает на телефоне и прекрасно работает в редакторе с тем же FPS - PullRequest
0 голосов
/ 03 марта 2020

Вот 2 видео от редактора и с телефона: https://drive.google.com/drive/folders/1gs0Ik9EojhbbPUZh0lNmPigVHWpAjERi?usp=sharing

В видео с телефона вы можете увидеть, как pl anet быстро дергается вверх и вниз ( на самом деле стрелка дергается).

Здесь код для стрелки, обращенной к центру pl anet, для контроля и для перемещения.

    private void Update()
    {
      body.transform.rotation = Quaternion.FromToRotation(body.transform.up, (body.transform.position - transform.position).normalized) * body.transform.rotation * Quaternion.Euler(0, body.GetComponent<ArrowController>().Joystick.Horizontal  * 110 * Time.deltaTime, 0);
      if (Math.Abs((body.transform.position - transform.position).magnitude - body.OrbitRadius) > 0.01)
      {
        float shift = body.OrbitRadius - (body.transform.position - transform.position).magnitude;
        body.transform.position += body.transform.up * shift;
      }
      body.transform.position += body.transform.forward * Speed * Time.deltaTime;
    }

Почему это может произойти

Ответы [ 2 ]

1 голос
/ 03 марта 2020

Как правило, не устанавливайте положение, вращение объектов.

Используйте вызовы, такие как docs.unity3d.com / ScriptReference / Transform.Translate. html или Transform. Поверните (или, возможно, Transform.RotateAround)

Еще лучше, просто установите скорость или скорость вращения и позвольте двигателю выполнить работу.

0 голосов
/ 03 марта 2020

Я добавил transform.Rotate () и transform.Translate (), и это не помогло. Я не понимаю, как это работает и почему проблема появляется только на телефоне, но я нашел решение.

Мой код можно разделить на 4 операции:

  1. Вращение стрелки относительно центра пл anet.
  2. поворот стрелки от нажатия на игрока.
  3. коррекция расстояния от центра пл anet до стрелка.
  4. Движение стрелки вдоль собственной оси Z.

Первоначально код выполнялся так: 1 + 2, затем 3, затем 4

Но Я изменил это на: 2, затем 3 + 4, затем 1

Теперь это не дергается. Спасибо всем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...