Unity 웹 요청 - WWW 사용 가이드
Unity에서 웹 요청을 통해 다양한 HTTP 서비스와 통신할 수 있는 방법을 설명합니다. 이 문서는 UnityWebRequestWWW 모듈을 통해 레거시 WWW를 구현하는 데 중점을 둡니다.
기능 개요
- UnityWebRequestWWW: HTTP 서비스를 통해 데이터를 전송하고 받는 기능을 제공합니다.
- 버전 정보: Built-in 패키지는 Unity 에디터의 버전과 일치하며, 변경 사항은 일정하게 유지됩니다.
사용법
여기서는 UnityWebRequest를 발급하여 웹 서버와 상호작용하는 기본적인 코드 예제를 다루겠습니다.
코드 예제
다음 코드 스니펫은 Unity에서 웹 페이지를 요청하는 간단한 예제입니다.
using UnityEngine;
using UnityEngine.Networking;
public class WebRequestExample : MonoBehaviour
{
void Start()
{
StartCoroutine(GetRequest("http://example.com"));
}
IEnumerator GetRequest(string uri)
{
UnityWebRequest webRequest = UnityWebRequest.Get(uri);
// 요청 전송 및 응답 대기
yield return webRequest.SendWebRequest();
// 오류 처리
if (webRequest.result == UnityWebRequest.Result.ConnectionError)
{
Debug.Log(webRequest.error);
}
else
{
Debug.Log(webRequest.downloadHandler.text);
}
}
}
활용 및 응용 예제
1. JSON 데이터 받기
서버에서 JSON 데이터를 받을 때, UnityWebRequest를 사용하여 이를 파싱하는 방법을 설명합니다.
IEnumerator GetJsonData(string url)
{
UnityWebRequest webRequest = UnityWebRequest.Get(url);
yield return webRequest.SendWebRequest();
if (webRequest.result == UnityWebRequest.Result.ConnectionError)
{
Debug.Log(webRequest.error);
}
else
{
string json = webRequest.downloadHandler.text;
// JSON 파싱 로직 추가
}
}
2. 이미지 다운로드하기
서버로부터 이미지를 다운로드하는 방법에 대한 예제입니다.
IEnumerator DownloadImage(string url)
{
UnityWebRequest www = UnityWebRequestTexture.GetTexture(url);
yield return www.SendWebRequest();
if (www.result == UnityWebRequest.Result.ConnectionError)
{
Debug.Log(www.error);
}
else
{
Texture2D texture = DownloadHandlerTexture.GetContent(www);
// 이미지 사용 로직 추가
}
}
요약
Unity의 UnityWebRequestWWW 모듈을 사용하면 HTTP 통신을 통해 다양한 데이터 교환을 쉽게 처리할 수 있습니다. 이 문서에서는 기본적인 사용법과 몇 가지 응용 예제를 제공하였습니다. 다양한 기능을 활용하여 게임이나 애플리케이션에서 HTTP 요청을 손쉽게 구현해 보세요.
참고
- Unity 공식 문서
- Unityforum
- Asset Store
이 문서가 Unity 웹 요청 기능을 이해하고 활용하는 데 도움이 되길 바랍니다.