ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 유니티 웹 - Unity Play 에서 웹소켓 써보자
    프로그래밍/개발메모 2026. 1. 31. 13:29
    728x90
    반응형

    Unity Play 장점

    유니티 플레이에서 웹 소켓을 사용할 수 있으면 트레픽 비용을 안내도 되서

    크기가 큰 게임도 부담없이 만들 수 있습니다.

     

    되다 안되니

    Unity Instance 를 과거에는 제공해줬으나 이젠 안줍니다.

    Unity Instance  가 없으면  SendMessage 를 할 수 없습니다.

     

    해결 방법

    부분적으론 해결되었지만 아직 완료하진 못했습니다. 안될 수도 있으니 참고만하세요

     

    1. 유니티에서 자바스크립트로는 호출이 가능하다. jslib 파일 사용

    2. 유니티에서 함수를 자바스크립트로 전송할 수 있다.

    3. 자바스크립트에서 유니티 함수를 받아 호출할 수 있다. (콜백가능)

    4. 자바스크립트에서 버퍼를 만들고 유니티로 주소를 보낼 수 있다. (IntPtr 타입)

    5. 버퍼를 만들고 해제하지 않으면 메모리 누수가 된다. 해제는 자바스크립트에서 만들었기 때문에 자바스크립트에서 해야한다.

    6. 추천하는 방법은 한번에 큰 버버를 만들고 끝날때 까지 지우지 말고 재사용하라는군요

    7. 버퍼에 글씨를 쓰면 유니티에서 언제든지 읽을 수 있다.

     

    이 과정들을 차례대로 확인해서 동작한다는 것을 알았습니다.

    특히 3번 이 가능합니다.

     

    처음에 RemoveCall 이라는걸 알려주던데 이건 옛날 방식이고 현재는 

    wasmTable.get 으로 바꼈다고 합니다.

    ex) wasmTable.get(t함수주소)(인자값);

     

    추가로 알아낸 편리한 팁

    jslib 에 전역변수가 없는데 this 라는건 쓸 수 있습니다.

    this 는 웹브라우저의 window 를 의미하는거 같습니다.

    window 있으면 뭐든지 호출 할 수있죠

     

    지금은 ...

    아직 결과물은 나오지 못했고

    재료는 갖추었습니다.

    이제 시간있으면 구현해보겠습니다.

     

     

     

     

    반응형
Designed by Tistory.