졸업프로젝트를 진행하면서 팀원들끼리 메타버스를 한번 만들어보자고 패기롭게

회의를 한 후 진행하면서 게임엔진과 웹을 섞어보겠다는 생각을 하다가 언리얼 엔진

webgl 을 이용하려다가 많은 자료부족에 허덕이다 중간에 유니티로 빠른 시간안에 개발하면서

배운점들을 기술해 보려고 합니다

참고로 이글에서 사용한 방법들은 저의 전문적인 지식이 없는 상태로

빠르게 프로젝트 결과물을 뽑아내기

위한 야매기법들이 다수 사용되고 있어서 기능성이 매우 떨어질 수 있습니다

 

유니티 webgl 에서 가장 핵심적인 기능이라고 할수 있는 코드 한줄이 있습니다

그것은 바로 

https://docs.unity3d.com/ScriptReference/Application.ExternalCall.html

 

Unity - Scripting API: Application.ExternalCall

ExternalCall calls functionName in the web page containing the WebGL player, passing the given arguments to it. Supported argument types are the primitive types (string, int, float, string) and arrays of such types. Any other objects are converted to strin

docs.unity3d.com

위에 설명에 보다시피 구식 api 코드입니다 지금은 새로운 api를 사용하라고 권고 하고 있습니다

이친구의 역할은 webgl로 만들어진 unity contents를 포함하고 있는 웹페이지에 매개변수로 작성해 준

함수의 이름과 또다른 매게 변수를 같이 전달해 줄 수 있습니다

 

예를들어 제가 Application.ExternalCall("socket.emit", "SENDMSG", new JSONObject(data));

유니티 C# nentwork.cs라는 곳에 이렇게 작성했으면

Application.ExternalCall("socket.emit", "SENDMSG", new JSONObject(data));

이런 식으로 코드를 작성했을 때 

웹페이지의 자바스크립트 함수인

 

저의 webgl 컨텐츠가 탑재될 webpage에서 밑의

코드를 실행하는 것이지요

socket.on('SENDMSG', function(JSONObject(data));
socket.on('SENDMSG', function(JSONObject(data));

가 실행되는 것이지요 일단 첫 글은 여기서 마무리 하도록 하겠습니다

 

https://youtu.be/NrATtJDuyUQ

이 작품이 이번 게시글에 작품입니다

+ Recent posts