https://docs.unity3d.com/kr/2019.4/Manual/webgl-interactingwithbrowserscripting.html
WebGL: 브라우저 스크립트와 상호작용 - Unity 매뉴얼
웹용 콘텐츠를 빌드할 때 웹페이지의 다른 요소와 통신해야 할 수 있습니다. 또는 Unity 에디터가 현재 기본적으로 노출하지 않는 웹 API를 사용하여 기능을 구현하고 싶을 수 있습니다. 두 가지
docs.unity3d.com
webgl 작업을 하면서 새로운 url주소로 넘어갈 필요가 있었는데
" Application.OpenURL "을 쓰자니 새탭에서 열리고, 몇몇 브라우저에서는 팝업창으로 인식해서 막아버림.
그래서 JS에서 새로운 URL을 여는 함수를 만들고 그 함수를 유니티 webgl에서 호출해야했다.
그러려면 jslib를 사용해야함.
vs code에서 jslib만들어줌(이름은 그냥 Bridge로 지음)
GoLink라는 함수명으로 만들었고
네이버로 연결하게 되어있음
window.location.replace(link)는 현재 페이지에서 link를 연결지만 덮어씌워서 뒤로가기가 안 됨.
뒤로가기 흔적 남기려면
window.location.href = link 로 써야 됨
새창에서 열려면 window.open이라고 다른 코드 써야 됨
유니티 C#에서 jslib에 작성한 GoLink라는 함수를 실행하는 코드
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Runtime.InteropServices;
public class BridgeTest : MonoBehaviour
{
[DllImport("__Internal")]
private static extern void GoLink();
void Update()
{
if (Input.GetKeyDown(KeyCode.A))
{
GoLink();
}
}
}
A키를 누르면 GoLink함수 실행
jslib파일은 Unity 프로젝트의 Asset- Plugins에 넣어야 함
'툴 > 유니티' 카테고리의 다른 글
URP , HDRP에서 VideoPlayer의 Material Override문제 (0) | 2021.09.15 |
---|---|
Webgl에서 Input Field 한글 입력 문제 (2) | 2021.09.14 |
유니티 프레임 FPS 낮추기, 프레임 FPS 고정 (0) | 2021.09.03 |
Unity Raycast 유니티 레이캐스트 - 마우스클릭된 포지션 받기 (0) | 2021.09.02 |
Unity Dotween 유니티 닷트윈 사용법 (1) | 2021.09.02 |