Version: 2017.1
public Texture2D texture ;

Description

Returns a Texture2D generated from the downloaded data (Read Only).

The data must be an image in JPG or PNG format. If the data is not a valid image, the generated texture will be a small image of a question mark. It is recommended to use power-of-two size for each dimension of the image; arbitrary sizes will also work but can load slightly slower and take up a bit more memory. Each invocation of texture property allocates a new Texture2D. If you continously download textures you must use LoadImageIntoTexture or Destroy the previously created texture.

For PNG files, gamma correction is applied to the texture if PNG file contains gamma information. Display gamma for correction is assumed to be 2.0. If file does not contain gamma information, no color correction will be performed.

JPG files are loaded into RGB24 format, PNG files are loaded into ARGB32 format. If you want to DXT-compress the downloaded image, use LoadImageIntoTexture instead.

If the object has not finished downloading the data a dummy image will be returned. Use isDone or yield to see if the data is available.

using UnityEngine;
using System.Collections;

// Get the latest webcam shot from outside "Friday's" in Times Square public class ExampleClass : MonoBehaviour { public string url = "http://images.earthcam.com/ec_metros/ourcams/fridays.jpg";

IEnumerator Start() { // Start a download of the given URL WWW www = new WWW(url);

// Wait for download to complete yield return www;

// assign texture Renderer renderer = GetComponent<Renderer>(); renderer.material.mainTexture = www.texture; } }

Note: The WWW.texture property allocates a new Texture2D every time it is called. Therefore, it is important to always assign the result to a local variable so that it can later be freed using Destroy(). For example, the following code will cause a memory leak:

using UnityEngine;
using System.Collections;

public class WWWError : MonoBehaviour { public string url = "http://images.earthcam.com/ec_metros/ourcams/fridays.jpg";

IEnumerator Start() { // Start a download with a given URL WWW www = new WWW(url);

// ... Make the request

if (www.texture != null) { // a new texture is created as the // test is made }

// ... use the n-th texture which was created

yield return null; } }

The call to www.texture allocates a new texture, but the texture is never deallocated because no local reference to it exists.

Alternatively, use WWW.LoadImageIntoTexture.

Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961