https://docs.unity3d.com/kr/2019.4/Manual/webgl-interactingwithbrowserscripting.html
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 한글 입력 문제 (1) | 2021.09.14 |
유니티 프레임 FPS 낮추기, 프레임 FPS 고정 (0) | 2021.09.03 |
Unity Raycast 유니티 레이캐스트 - 마우스클릭된 포지션 받기 (0) | 2021.09.02 |
Unity Dotween 유니티 닷트윈 사용법 (1) | 2021.09.02 |