Трясутся текстуры при параллаксе в юнити 2д. Как исправить?
Игра раннер 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
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для исправления дрожания текстур при использовании параллакса в 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; } }
Попробуйте эти рекомендации и настройки, чтобы устранить дрожание текстур при использовании параллакса в Unity 2D.