Я недавно обновил свой проект для использования Unity 2019, и по большей части это был плавный переход. Тем не менее, я столкнулся с одной проблемой, когда дело доходит до обновления и спрайта изображения во время выполнения.
Игра, над которой я работаю, имеет обратный отсчет в начале каждого уровня (3, 2, 1, GO!). Текст обратного отсчета представляет собой серию спрайтов, которые обновляются по таймеру, и все спрайты имеют одинаковое разрешение.
Это работало нормально до обновления до Unity 2019, но теперь, когда обратный отсчет доходит до "GO!", Похоже, что он был сдвинут горизонтально.
Я также выполнил тест, в котором я запустил обратный отсчет (GO !, 1, 2, 3), и возник противоположный эффект. В этом сценарии "GO!" выглядело нормально, а 1, 2 и 3 выглядели так, будто они были расширены по горизонтали.
Я установил минимальную тестовую сцену, в которой был только Canvas / Image и прикреплен следующий скрипт. Такое же поведение наблюдается, как показано на рисунках ниже.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ImageSwapTest : MonoBehaviour
{
Image image; //Image component
[SerializeField] Sprite[] countDownSprites; //Array of sprites used to populate the image component
void Start()
{
image = GetComponent<Image>();
StartCoroutine(UpdateImage());
}
IEnumerator UpdateImage()
{
int counter = 0;
while (counter < sprites.Length)
{
yield return new WaitForSeconds(1); //Wait 1 second
image.sprite = countDownSprites[counter]; //Update the image to the next sprite
counter++;
}
}
}
Ожидаемый:

Фактический:

Если я переверну заказ, то "GO!" нормальный размер и числа расширены:

Свойства изображения:


Как вы можете видеть, все 4 спрайта имеют одинаковое разрешение (я понимаю, что немного странно, что они все 1920x1280, но это выходит за рамки этого вопроса). Я не уверен, что вызывает изменение их размера во время выполнения.
Что-то изменилось в способе обработки изображений / спрайтов в Unity 2019? Возможно, это просто ошибка?