Подергивание изображения камеры во время движения. В Unity 2D

Я пытаюсь сделать простой 2D раннер.

Я использую Windows 7 Ultimate (SP1), Unity 5.3.2 (также тестировался с 5.3.0, 5.3.1, 5.2.4).

Я вызвал ошибку, которая видна в редакторе, автономных сборках и сборках Android.

Я создал новый проект в 2D. И приложим скрипт движения к камере:

private float m_speed = 0;
void Update()
{
    transform.Translate(m_speed * Time.deltaTime, 0f, 0f);
    if (Input.GetAxis("Horizontal") > 0) //RIGHT
    {
        m_speed = 5f;
    }
    else if (Input.GetAxis("Horizontal") < 0) //LEFT
    {
        m_speed = -5f;
    }
    else //STOP
    {
        m_speed = 0f; 
    }
}

Я добавил в сцену простой куб перед камерой. В результате (в режиме Play), когда я двигаю камеру (она движется со стабильной скоростью) - изображение (куб) дергается. В настройке качества проекта - изменения в V Sync Count Don't Sync и Every V Blank не имеют никакого видимого смысла, но Every Second V Blank усиливают подергивание.

Я пробовал добавить жесткие тела и использовать настройки Interpolate, как в аналогичной задаче на форум (с видео)

не решил проблему.


person Dmitriy Yerchick    schedule 03.02.2016    source источник
comment
Привет, Дмитрий, я действительно думаю, что вам нужно будет загрузить проект и иметь ссылку на него (используйте один из бесплатных сайтов, где вы можете разместить zip-файл). Я посмотрю, если вы опубликуете. (Просто удалите любую личную информацию, если хотите.) PS, пожалуйста, не забывайте, что с Unity вы ТОЛЬКО ВКЛЮЧАЕТЕ папки Assets / и ProjectSettings / при архивировании или использовании системы управления версиями. Ваше здоровье!   -  person Fattie    schedule 03.02.2016
comment
обратите внимание, VSync и т. д. совершенно не связаны, можете быть уверены: O   -  person Fattie    schedule 03.02.2016
comment
@JoeBlow, я нашел тему обсуждения на unity3d.forum и 202 поста сделали подергивание практически незаметным, но в сборках для устройства Andriod подергивание присутствует.   -  person Dmitriy Yerchick    schedule 03.02.2016
comment
Понятно - извините, я ничем помочь не могу! Мне было бы интересно скачать ваш проект, если у вас будет возможность. Мы делаем приложения для Android.   -  person Fattie    schedule 03.02.2016
comment
Скопируйте / вставьте ответ с unity3d.ru - сообщество StackOverflow должно это знать :)   -  person Radomyr Slaboshpitskyi    schedule 07.09.2016


Ответы (1)


Вы пробовали использовать transform.poisition вместо transform.translate, это должно дать более плавное движение afaik

person Al Wyvern    schedule 03.02.2016
comment
Спасибо, но transform.position = new Vector3(transform.position.x + m_speed * Time.deltaTime, transform.position.y, transform.position.z); проблему не решил - person Dmitriy Yerchick; 03.02.2016