참고: UNet은 지원이 중단되었으며 향후 Unity에서 삭제될 예정입니다. 현재 새로운 시스템이 개발 중입니다. 자세한 내용과 다음 단계는 이 블로그 포스트를 참조하십시오. |
원격 서버에서 텍스처 파일을 검색해서 가져오기 위해 UnityWebRequest.Texture
를 사용할 수 있습니다. 이 함수는 UnityWebRequest.GET
과 매우 유사하지만 텍스처를 효율적으로 다운로드하고 저장하는 데 최적화되어 있습니다.
이 함수는 단일 문자열을 인수로 사용합니다. 문자열은 텍스처로 사용하기 위한 이미지 파일을 다운로드할 URL을 지정합니다.
UnityWebRequest
를 생성하고 타겟 URL을 문자열 인수로 설정합니다. 다른 커스텀 플래그나 헤더는 설정하지 않습니다.DownloadHandlerTexture
오브젝트를 UnityWebRequest
에 연결합니다. DownloadHandlerTexture는 Unity 엔진에서 텍스처로 사용할 이미지를 저장하는 데 최적화된 특수 다운로드 핸들러입니다. 이 클래스를 사용하면 원시 바이트를 다운로드하여 스크립트에서 텍스처를 수동으로 생성하는 방법에 비해 메모리 재할당이 크게 감소합니다.using UnityEngine;
using System.Collections;
using UnityEngine.Networking;
public class MyBehaviour : MonoBehaviour {
void Start() {
StartCoroutine(GetTexture());
}
IEnumerator GetTexture() {
UnityWebRequest www = UnityWebRequestTexture.GetTexture("http://www.my-server.com/image.png");
yield return www.SendWebRequest();
if (www.result != UnityWebRequest.Result.Success) {
Debug.Log(www.error);
}
else {
Texture myTexture = ((DownloadHandlerTexture)www.downloadHandler).texture;
}
}
}
또는 헬퍼 게터를 사용하여 GetTexture를 구현할 수 있습니다.
IEnumerator GetTexture() {
UnityWebRequest www = UnityWebRequestTexture.GetTexture("http://www.my-server.com/image.png");
yield return www.SendWebRequest();
Texture myTexture = DownloadHandlerTexture.GetContent(www);
}