1. 자바스크립트(JavaScript)란
자바스크립트(JavaScript)는 웹 브라우저에서 실행되는 프로그래밍 언어입니다.
HTML은 구조, CSS는 디자인, JavaScript는 웹페이지의 동작(기능)을 담당
웹을 구성하는 3대 언어
| HTML | 웹페이지 구조 (뼈대) |
| CSS | 디자인/색상/위치 (피부) |
| JavaScript | 인터랙션, 기능, 동작 (행동) |
2. Unity WebGL은 왜 JavaScript(JS)와 소통해야 하나요?
Unity로 만든 WebGL 게임은 브라우저 안에서 실행되는웹 앱이에요.
근데 Unity C# 코드는 브라우저의 기능(예: 다운로드, 카메라 접근, 마우스 잠금 등)을 직접 제어할 수 없어요.
그래서 Unity → JavaScript로 요청하고,
JavaScript → 브라우저 기능을 실행하는 구조가 필요해요.
🎯 즉, 브라우저 기능을 쓰기 위해선 JavaScript가 필수
WebGL을 잘 하려면 JS를 알아야 할까?
| Unity WebGL 게임 만들기 | ❌ JS 몰라도 가능 |
| WebGL + 브라우저 기능 활용 (스크린샷 저장, 공유, 외부 API) | ✅ 기본 JS 필요 |
| 고급 WebGL (WebSocket, 외부 HTML 연동, 커스텀 인터페이스) | ✅ JS 지식 필요 |
Unity WebGL로 "그냥 게임만 돌리는 건 가능"하지만
다운로드, 버튼 제어, 웹페이지 연동 등 추가 기능을 하려면 JS를 어느 정도 알아야 해요.
브라우저에서 제공하는 JS 기능들 (예시)
| 기능 | 관련 JS 함수 |
| 파일 다운로드 | a.href, a.download, Blob, URL.createObjectURL |
| 클립보드 복사 | navigator.clipboard.writeText() |
| 알림창 | alert(), confirm(), prompt() |
| 로컬 저장 | localStorage.setItem() |
| 마우스 잠금 | document.body.requestPointerLock() |
| 전체 화면 전환 | document.documentElement.requestFullscreen() |
| 서버 요청 | fetch(), XMLHttpRequest |
| 카메라/마이크 접근 | navigator.mediaDevices.getUserMedia() |
관련 자료)
https://docs.unity3d.com/Manual/webgl-interactingwithbrowserscripting.html
https://github.com/Hashory/unity-webgl-screenshot?tab=readme-ov-file
GitHub - Hashory/unity-webgl-screenshot: An example of saving a screenshot in Unity webGL.
An example of saving a screenshot in Unity webGL. Contribute to Hashory/unity-webgl-screenshot development by creating an account on GitHub.
github.com
'유니티' 카테고리의 다른 글
| 유니티 WEBGL 브라우저 URL 가져오기 (0) | 2025.08.07 |
|---|---|
| Unity WebGL ScreenShot 저장하는 방법 (0) | 2025.08.01 |
| unity webgl 인게임 사진 저장, 스크린샷 (0) | 2025.08.01 |
| [UNITY] 2.5D 구현 방법 (페이어마리오) (0) | 2025.07.24 |
| 디지털 휴먼, 캐릭터 커스터 마이징,blendershape (0) | 2025.07.21 |