유니티에서 Web Text 긁어오기(2)
안녕하세요. 유니티에서 WebText 긁어오기 두 번째 포스팅입니다. 이번에는 UnityWebRequest시스템을 활용해서 긁어와 보겠습니다. 사실 활용 자체를 웹 텍스트를 긁어오는데 사용하고 있지만, 다른 용도로도 활용 가능합니다. 일반적으로 통신이나 정보를 받아오는데 쓰겠죠. 저도 다른 내용으로 활용해본 적은 많지 않기 때문에 예시를 이렇게 활용하지만 기본적인 통신에는 WWW나 UnityWebRequest모두 다 활용할 수 있다고 생각합니다. 쓰기 편한 걸 쓰는 게 좋을 것 같습니다.
UnityWebRequest에 대한 메뉴얼을 보면 이렇게 적혀있습니다. "UnityWebRequest는 HTTP 요청을 구성하고 HTTP 리스폰스를 처리하기 위한 모듈식 시스템을 제공합니다. UnityWebRequest 시스템의 주요 목표는 Unity 게임이 최신 웹 브라우저 백 엔드와 상호작용할 수 있도록 하는 것입니다. 또한 대량의 HTTP 요청, POST/PUT 스트리밍 작업, HTTP 헤더 및 동사의 완벽 제어 등 수요가 높은 기능을 지원합니다." 서버와 데이터 주고 받고 하는데 쓰기 위해 만든다 머 그런거 같군요. 활용 보겠습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | IEnumerator WebRequest() { UnityWebRequest request = new UnityWebRequest(); using (request = UnityWebRequest.Get("http://unitytip.tistory.com/")) { yield return request.SendWebRequest(); if (request.isNetworkError) { Debug.Log(request.error); } else { Debug.Log(request.downloadHandler.text); Byte[] results = request.downloadHandler.data; } } } | cs |
저는 using을 썼지만 유니티 메뉴얼에는 using을 쓰지 않았습니다. 편한 거 쓰시면 됩니다. UnityWebRequest 메소드 중에 Get과 Post가 있는데 웹 개발해보신 분이면 알 수 있는 이름입니다. Post 활용은 다음 시간에 해보도록 하겠습니다. 관련해서 폼생성도 같이 알아보고 조금 덧붙일 내용이 있는데 다 쓰면 너무 길어지니까요. Get을 통해서 url에 있는 내용을 downloadHandler에 담고 이 친구를 통해서 얻어온 정보를 가공할 수 있습니다. 예시대로 하면 웹 텍스트와 바이너리 데이터를 모두 얻어오게 됩니다. 필요에 따라서 가공해서 쓰시면 되겠습니다. 정말 지식이 얕아서 함부로 말할 수 없기 때문에 깊은 설명은 할 수가 없네요. 눈물이 앞을 가립니다. 다음에는 WWW 클래스의 Post와 UnityWebRequest의 Post에 대해서 포스팅해보겠습니다. 그리고 그와 관련되서 애를 먹었던 부분도 설명하고 어떻게 해결했는지도 남기겠습니다.
'Unity Tip' 카테고리의 다른 글
EventSystem.current.currentSelectedGameObject (0) | 2018.04.07 |
---|---|
유니티에서 Web Text 긁어오기(3) (0) | 2018.04.05 |
유니티에서 Web Text 긁어오기(1) (1) | 2018.04.03 |
Scroll Rect 맨 처음 부터 나오게 설정하기.(※요약 있음※) (3) | 2018.04.01 |
Toggle Group, Toggle, Dropdown (0) | 2018.03.21 |