Поиск пути к файлу изображения на устройствах android - PullRequest
0 голосов
/ 10 апреля 2020

Извините, я очень новичок в Unity и c#.

Я пытаюсь прочитать изображение и применить его в качестве текстуры.

Код работает, когда я пробую его с изображением на моем компьютере, однако, когда я пробую его с моими android устройствами (телефон и очки AR), я не смог указать путь к файлу правильно. Как правильно указать путь к файлу android устройств или есть способ получить этот путь к файлу?

Большое спасибо за любую помощь заранее! :)

void Start()
    {
        thisTexture = new Texture2D(100, 100);


        //string path = "C:/Users/kenny/Desktop/5th March/im.png";   //this works

        string path = "file:///storage/emulated/0/im2.png";         // this doesnt work

        bytes = File.ReadAllBytes(path);
        thisTexture.LoadImage(bytes);
        GetComponent<Renderer>().material.mainTexture = thisTexture;

    }

1 Ответ

1 голос
/ 10 апреля 2020

Для мобильных устройств не так просто получить файл по простому пути.

Один из способов сделать это - использовать папку Resources . В папке root ( Активы ) создайте новую папку с именем Resources . Поместите ваше изображение туда.

Тогда вы можете сделать что-то вроде этого:

// path without file extension!
var texture = Resources.Load<Texture2D>("path/to/texture");

Вы можете получить больше ссылок на эту функцию здесь: https://forum.unity.com/threads/how-to-load-a-image-from-the-resources-folder-to-a-texture2d.101542/

В качестве альтернативы вы можете использовать папку StreamingAssets , но это уже другая история.

...