Трясутся текстуры при параллаксе в юнити 2д. Как исправить?

Ссылка скопирована
1 ответ

Игра раннер 2д. Камера неподвижна, текстуры двигаются параллаксом. При движении текстуры "дрожат". В настройках изменение качества для андройда никак не помогает. В самом редакторе дрожание практически незаметно, но на телефоне прям режет глаз. Подскажите, как можно исправить данную проблему?
Скрипт параллакса:

public class Parallax : MonoBehaviour {     public float speed;      private void Update()     {         transform.Translate(Vector2.left * speed * Time.deltaTime);     } }

public class Parallax : MonoBehaviour { public float speed; private void Update() { transform.Translate(Vector2.left * speed * Time.deltaTime); } }

Ссылка на видео: https://www.youtube.com/watch?v=Ex3lcfBAxAU

Дополнительно:

попробуй использовать FixedUpdate вместо Update. Также при этом поэксперементируй с fixedDeltaTime вместо deltaTime

  • Kentavr16, пробовала, никак не повлияло. По ощущениям даже как будто еще немного сильнее начинает дергаться
  • разобраться в профилировщиках, без них будет одно гадание на кофейной гуще
  • Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Никита Орлов Ответ

    Для исправления дрожания текстур при использовании параллакса в Unity 2D, можно попробовать следующие подходы:

    1. Убедитесь, что текстуры имеют правильные настройки. Убедитесь, что они имеют правильный размер и соответствуют разрешению экрана. Используйте сжатие текстур для улучшения производительности.

    2. Попробуйте установить фиксированные координаты для параллакса. Это можно сделать, например, путем привязки скрипта камеры и установки фиксированных координат для смещения текстур.

    3. Используйте сглаживание движения. Для этого можно использовать плавное изменение координат текстур в зависимости от движения камеры.

    4. Проверьте настройки камеры. Убедитесь, что параметры камеры правильно настроены, чтобы избежать дрожания текстур.

    Пример кода на Unity 2D:

    using UnityEngine;
     
    public class Parallax : MonoBehaviour
    {
        public float parallaxSpeed = 0.5f;
        private Vector2 lastCameraPosition;
        private Transform cameraTransform;
     
        void Start()
        {
            cameraTransform = Camera.main.transform;
            lastCameraPosition = cameraTransform.position;
        }
     
        void Update()
        {
            float deltaX = cameraTransform.position.x - lastCameraPosition.x;
            float deltaY = cameraTransform.position.y - lastCameraPosition.y;
     
            transform.position += new Vector3(deltaX * parallaxSpeed, deltaY * parallaxSpeed, 0);
            lastCameraPosition = cameraTransform.position;
        }
    }

    using UnityEngine; public class Parallax : MonoBehaviour { public float parallaxSpeed = 0.5f; private Vector2 lastCameraPosition; private Transform cameraTransform; void Start() { cameraTransform = Camera.main.transform; lastCameraPosition = cameraTransform.position; } void Update() { float deltaX = cameraTransform.position.x - lastCameraPosition.x; float deltaY = cameraTransform.position.y - lastCameraPosition.y; transform.position += new Vector3(deltaX * parallaxSpeed, deltaY * parallaxSpeed, 0); lastCameraPosition = cameraTransform.position; } }

    Попробуйте эти рекомендации и настройки, чтобы устранить дрожание текстур при использовании параллакса в Unity 2D.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно