Я создаю игру на Unity, которая работает с изображениями: пользователь должен иметь возможность загружать целую папку изображений и играть с ними в игре.
Единственный найденный мной способ работы - этозагрузите все мои изображения в папку Streaming Assets, а затем получите байтовый массив изображения для передачи в Texture2D и используйте его для создания спрайта
void loadSprite(string path)
{
byte[] imgData;
imgData = File.ReadAllBytes(path);
Texture2D tex = new Texture2D(1, 1);
tex.LoadImage(imgData);
Vector2 pivot = new Vector2(tex.width / 2, tex.height / 2);
Sprite sprite = Sprite.Create(tex, new Rect(0.0f, 0.0f, tex.width, tex.height), pivot, 100.0f);
image.sprite = sprite;
}
. Затем я назначаю вновь созданное изображение существующему 100pxx 100px UI Изображение в виде спрайта.
Вот где оно становится грязным:
Загруженное изображение https://puu.sh/DJefk/c8549aa269.png
Вывод, который я получаю https://puu.sh/DJ3IZ/c746985374.png