SpriteRenderer меняет спрайт во время выполнения, не работает в сборке Android?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 SpriteRenderer меняет спрайт во время выполнения, не работает в сборке Android?

Сообщение Anonymous »

Если вы попытаетесь создать тестовую сцену с помощью простого сценария для изменения спрайта каждый период времени.
Спрайт не изменится, но если вы попытаетесь зарегистрировать измененный спрайт имя, вы увидите, что оно успешно изменилось. Это означает, что не меняется только визуальная часть.
Тестирование на Unity 6000.0.3f1 и на Android S24 Ultra
Мой скрипт TestSpriteRendererChange.cs

Код: Выделить всё

using System.Collections;
using UnityEngine;

public class TestSpriteRendererChange : MonoBehaviour
{
[SerializeField] private SpriteRenderer spriteRenderer;
[SerializeField] private Sprite[] sprites;

private void Start()
{
StartCoroutine(ChangeSprites());
}

private IEnumerator ChangeSprites()
{
var index = 0;

foreach (var sprite in sprites)
{
Debug.Log($"before sprite: {spriteRenderer.sprite.name}");

spriteRenderer.sprite = sprite;

Debug.Log($"after sprite: {spriteRenderer.sprite.name}");

yield return new WaitForSeconds(0.1f);

index++;
}

if (index == sprites.Length)
{
index = 0;

StopCoroutine(nameof(ChangeSprites));
StartCoroutine(nameof(ChangeSprites));
}
}
}
Поведение в редакторе Unity
[img]https:// i.sstatic.net/8MHPq0AT.gif[/img]

Поведение на устройстве Android
Изображение

Эта проблема связана только с URP 2D, она работает только отлично подходит для 2D-проектов со встроенным RP.

Подробнее здесь: https://stackoverflow.com/questions/785 ... roid-build
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»