Unity WebGL 입력 시스템 설명서
이 문서는 Unity에서 WebGL 플랫폼을 위한 입력 시스템에 대한 안내를 제공합니다. WebGL에서 게임패드, 조이스틱 및 터치 입력을 사용하는 방법과 관련된 주요 기능 및 주의사항을 설명합니다.
1. WebGL에서 게임패드 및 조이스틱 지원
Unity WebGL은 HTML5 게임패드 API를 지원하는 브라우저에서 게임패드와 조이스틱의 입력을 처리합니다. 다음은 알아두어야 할 몇 가지 사항입니다.
- 사용자가 애플리케이션에 포커스가 맞춰진 상태에서 입력 장치에 액세스해야 합니다.
- 연결된 기기를 확인하기 위해 다음 코드를 사용해야 합니다.
string[] joystickNames = Input.GetJoystickNames();
버튼 매핑 레이아웃
버튼 번호 | 버튼 설명 |
---|---|
buttons[0] | 오른쪽 클러스터의 하단 버튼 = 엑스표(X) |
buttons[1] | 오른쪽 클러스터의 오른쪽 버튼 = 원형 |
buttons[2] | 오른쪽 클러스터의 왼쪽 버튼 = 사각형 |
buttons[3] | 오른쪽 클러스터의 상단 버튼 = 삼각형 |
참고: WebGL은 W3 사양을 따르므로 다른 플랫폼과 일치하지 않을 수 있습니다.
2. 터치 지원
Unity WebGL은 공식적으로 모바일 디바이스를 지원하지 않지만, 터치 지원이 가능하며 모바일 기기의 소프트 키보드를 사용할 수 있습니다. 키보드 입력을 비활성화하려면 다음 프로퍼티를 설정합니다.
WebGLInput.mobileKeyboardSupport = false;
3. 키보드 입력 처리
Unity WebGL은 웹 페이지에서 수신하는 모든 키보드 입력을 처리합니다. 일부 주의 사항은 다음과 같습니다:
키보드 입력 동작 | 설명 |
---|---|
HTML 요소 포함 | HTML 텍스트 필드를 포함하면 입력 오류가 발생할 수 있습니다. |
Esc 키 사용 | Safari와 같은 일부 브라우저에서 Esc 키가 전체화면과 관련됨. |
HideMobileInput 옵션 | TMP 입력 필드의 HideMobileInput 옵션은 웹에 영향을 주지 않음. |
HTML 요소와 입력
WebGLInput.captureAllKeyboardInput을 false
로 설정하면 웹 페이지의 입력 필드가 키보드 입력을 수신할 수 있습니다.
4. 모바일 센서 지원
Unity WebGL은 공식적으로 모바일 센서를 지원하지 않지만, 다음 센서를 사용할 수 있습니다:
센서 유형 | 코드 예시 |
---|---|
가속 센서 | Input.acceleration |
선형 가속도 | Gyroscope.userAcceleration |
자이로스코프 | Gyroscope.rotationRate |
중력 센서 | Gyroscope.gravity |
보안 고려 사항
센서 입력은 보안 컨텍스트에서만 허용되며, 페이지는 HTTPS를 통해 제공되어야 합니다. 개발 중일 때는 http://localhost
에서 사용할 수 있습니다.
추가 리소스
- WebGLInput.mobileKeyboardSupport
- WebGLInput.captureAllKeyboardInput
이 가이드는 Unity WebGL 플랫폼에서 입력 시스템을 활용하기 위한 기본적인 정보를 제공합니다. 개발 도중 발생할 수 있는 일반적인 상황들을 참고하여 프로젝트에 적용하십시오.