Version: 5.6
HTTP サーバーからテキストやバイナリデータを取得 (GET)
HTTP サーバーからアセットバンドルをダウンロード (GET)

HTTP サーバーからテクスチャを取得 (GET)

テクスチャファイルを遠隔サーバーから取得するには、UnityWebRequest.Texture を利用できます。この関数は、UnityWebRequest.GET によく似ていますが、テクスチャを効果的にダウンロードしソートするために最適化さrています。

この関数は、引数として 1 つの文字列を取ります。文字列は、テクスチャとして使用する画像ファイルのダウンロード元の URL を特定します。

説明

  • この関数は UnityWebRequest を作成し、ターゲット URL を文字列引数に設定します。この関数は、その他のフラグやカスタムヘッダーは設定しません。
  • この関数は DownloadHandlerTextureオブジェクトを UnityWebRequest に設定します。DownloadHandlerTexture は、Unity でテクスチャとして使用する画像を格納するために最適化された特殊なダウンロードハンドラーです。このクラスを使用すると、生のバイトをダウンロードしてスクリプトで手動でテクスチャを作成する場合に比べて、メモリの再アロケーションが大幅に削減されます。
  • デフォルトで、この関数は Upload Handler に設定されます。必要に応じて、手動で追加することができます。

using UnityEngine;
using System.Collections;
using UnityEngine.Networking;
 
class MyBehaviour: MonoBehaviour {
    void Start() {
        StartCoroutine(GetTexture());
    }
 
    IEnumerator GetTexture() {
        UnityWebRequest www = UnityWebRequest.GetTexture("http://www.my-server.com/image.png");
        yield return www.Send();

        if(www.isError) {
            Debug.Log(www.error);
        }
        else {
            Texture myTexture = ((DownloadHandlerTexture)www.downloadHandler).texture;
        }
    }
}

または、補助的な getter を使って GetTexture を実装することもできます。

    IEnumerator GetTexture() {
            UnityWebRequest www = UnityWebRequest.GetTexture("http://www.my-server.com/image.png");
            yield return www.Send();

            Texture myTexture = DownloadHandlerTexture.GetContent(www);
        }
HTTP サーバーからテキストやバイナリデータを取得 (GET)
HTTP サーバーからアセットバンドルをダウンロード (GET)