Unity Notes – Lesen Sie Texturbilder im Ordner „StreamingAssets“.

1. Deklarieren Sie die Variable UnityWebRequest als UWR

2. Verwenden Sie UnityWebRequestTexture, um das Bild herunterzuladen und die Download-Informationen in UWR zu speichern

UWR= UnityWebRequestTexture.GetTexture(Path);

        Pfad ist der Pfad zum Speicherort des Bildes (Application.streamingAssetsPath + „/IMG_0206.JPG“).

       Achten Sie beim Herunterladen darauf, mithilfe von System.IO zu überprüfen, ob die Download-Adresse vorhanden ist ( bei Verwendung von Datei müssen Sie auf IO verweisen ).

if (File.Exists(Path))
   {
    Debug.Log(Path + "地址存在");
    
   }
else
    {
      Debug.Log(Path + "地址不存在");
    }

3. Fahren Sie fort, wenn der Bild-Download abgeschlossen ist.

        UnityWebRequest.Result.ProtocolError //Überprüfen Sie, ob beim Herunterladen Fehler aufgetreten sind

4. Verwenden Sie DownloadHandlerTexture.GetContent(UWR), um die heruntergeladenen Bildinformationen in Textuer zu konvertieren 

Texture2D texture = DownloadHandlerTexture.GetContent(UWR);

        Textur ist die deklarierte Textur, die zum Empfang heruntergeladener Bildinformationen verwendet wird

5. Verwenden Sie Sprite.Create, um die heruntergeladene Texture-Datei in eine Sprite-Datei zu konvertieren

Sprite sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), Vector2.zero, 1f)

        Sprite.Create(texture, new Rect(0, 0, Texture.width, Texture.height), Vector2.zero, 1f);//将Texture转为Sprite 

          Textur Txture-Bild, das konvertiert werden muss 

           Rect (Start-X-Koordinate, Start-Y-Koordinate, Bildbreite, Bildhöhe)      

            Vektor2.Nullachse

             1f Pixel

6. Weisen Sie das konvertierte Sprite dem Bild zu

        image.sprite = sprite;

7. Ändern Sie die Größe des Bildes entsprechend dem Bild

image.rectTransform.sizeDelta = new Vector2(texture.width, texture.height);//调整UI image大小为图片大小

8. Verwenden Sie „Datei“, um Texturbilder in StreamingAssets zu speichern

File.WriteAllBytes(Application.streamingAssetsPath + "/w.jpg", texture.EncodeToJPG());//将下载的图片保存到本地

        Beachten Sie, dass das Format des gespeicherten Bildes mit Texture.EncodeToJPG übereinstimmt.

Laden Sie Bilder mit UnityWebRequest herunter

 IEnumerator IEnReadTexture()
    {
          Texture2D texture;
         
        UnityWebRequest UWR = UnityWebRequestTexture.GetTexture(Path);
        yield return UWR.SendWebRequest();
        if (UWR.result != UnityWebRequest.Result.ProtocolError)
        {
            texture = DownloadHandlerTexture.GetContent(UWR);
            Sprite sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), Vector2.zero, 1f);//将Texture转为Sprite 
            //image.rectTransform.sizeDelta = new Vector2(texture.width, texture.height);//调整UI image大小为图片大小
            image.sprite = sprite;
        }
        yield return new WaitForSeconds(3);
       
    }

Supongo que te gusta

Origin blog.csdn.net/qq_36361484/article/details/125716911
Recomendado
Clasificación