@BiStudiOfficial
Python разработчик, работаю с aiogram. Unity C#

Как исправить ошибку Texture '' is not readable?

public Image LocalProfileImage;

    public  Texture2D tex;

    public void ShowMediaPicker()
    {
        if (Application.isEditor)
        {
            //debug
            StartCoroutine(uploadPhono1213(tex));
        }
        else
        {
            NativeGallery.GetImageFromGallery((path) =>
            {
                //UploadNewProfileImage(path);
                Texture2D tex = NativeGallery.LoadImageAtPath(path);
                if (tex == null)
                {
                    Debug.Log("Couldn't load texture from " + path);
                    return;
                }

                LocalProfileImage.sprite = Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), Vector2.zero);
                byte[] bytes = tex.EncodeToPNG();

                //tex.isReadable = 1;
                StartCoroutine(uploadPhono1213(tex));

            });

        }
    }

    private IEnumerator uploadPhono1213(Texture2D tex)
    {
        string uuidTOPhoto = PlayerPrefs.GetInt("uuid").ToString();
        string pngExp = ".png";
        string FilenameSAdd = uuidTOPhoto + pngExp;
        Debug.Log(FilenameSAdd);
        var bytes = tex.EncodeToPNG();
        WWWForm form = new WWWForm();
        form.AddField("uuid", PlayerPrefs.GetInt("uuid"));
        //form.AddBinaryData("image", bytes, $"{tex.name}.png", "image/png");
        form.AddBinaryData("image", bytes, FilenameSAdd, "image/png");
        WWW www = new WWW("______________________", form);
        yield return www;

        if (www.error != null)
        {
            Debug.Log("ошибка: " + www.error);

            yield break;
        }

        Debug.Log("сервер ответил: " + www.text);

немного обрезал код от воды, но в целом такое.

тестирую на компе, так что отправляю просто вот эту текстуру public Texture2D tex;

пишет ошибку
ArgumentException: Texture 'test.png' is not readable. For this reason, scripts cannot access the memory allocated to it. You can make this texture readable in the Texture Import Settings.

можно поставить разрешение read/write в ручную, тогда все работает.
но если это тестить с телефона, то не будет работать.
как поставить разрешение Read/write на текстуру через скрипт?

буду благодарен за помощь
  • Вопрос задан
  • 313 просмотров
Пригласить эксперта
Ответы на вопрос 1
freeExec
@freeExec
Участник OpenStreetMap
Если вы создаёте текстуры через код, то она уже доступна для чтения. Если это встроенная в проект, то нужно выставлять заранее в настройках импорта.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы