ドキュメント

Unity Engine

Unity Engine

Unity Web Request Retrieving Texture

Download and store a texture efficiently from a remote server using UnityWebRequestTexture.GetTexture.
読み終わるまでの所要時間 3 分最終更新 1ヶ月前

リモートサーバーからテクスチャファイルを取得するには、
UnityWebRequestTexture.GetTexture
を使用できます。この関数は
UnityWebRequest.Get
とよく似ていますが、テクスチャのダウンロードと格納を効率的に行うために最適化されています。
UnityWebRequestTexture.GetTexture
は、ダウンロードしてテクスチャとして使用する画像ファイルの URL を指定する文字列または
Uri
オブジェクトを引数として受け取ります。さらに、2 番目の引数として
DownloadedTextureParams
を取ることができますので、作成されるテクスチャをより細かく制御できます。

詳細

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

例

using UnityEngine;using System.Collections;using UnityEngine.Networking; public class MyBehaviour : MonoBehaviour { void Start() { StartCoroutine(GetTexture()); } IEnumerator GetTexture() { UnityWebRequest www = UnityWebRequestTexture.GetTexture("https://www.my-server.com/image.png"); yield return www.SendWebRequest(); if (www.result != UnityWebRequest.Result.Success) { Debug.Log(www.error); } else { Texture myTexture = DownloadHandlerTexture.GetContent(www); } }}