Unity의 키보드 입력
네임스페이스: UnityEngine
형식: TouchScreenKeyboard
HoloLens는 Bluetooth 키보드를 비롯한 다양한 형태의 입력을 지원하지만 대부분의 애플리케이션에서는 모든 사용자가 실제 키보드를 사용할 수 있다고 가정할 수 없습니다. 애플리케이션에 텍스트 입력이 필요한 경우 어떤 형태의 화상 키보드가 제공되어야 합니다.
Unity는 사용할 수 있는 물리적 키보드가 없는 경우 키보드 입력을 수락하기 위한 TouchScreenKeyboard 클래스를 제공합니다.
Unity의 HoloLens 시스템 키보드 동작
HoloLens 에서 TouchScreenKeyboard 는 시스템의 화상 키보드를 활용하고 MR 애플리케이션의 볼륨 보기 위에 직접 오버레이합니다. 이 환경은 HoloLens의 기본 제공 앱에서 키보드를 사용하는 것과 비슷합니다. 시스템 키보드는 대상 플랫폼의 기능에 따라 작동합니다. 예를 들어 HoloLens 2의 키보드는 직접 손 조작을 지원하는 반면 HoloLens(1세대)의 키보드는 GGV(응시, 제스처 및 음성)를 지원합니다. 또한 편집기에서 HoloLens로 Unity Remoting을 수행할 때 시스템 키보드가 표시되지 않습니다.
Unity 앱에서 시스템 키보드 사용
키보드 선언
클래스에서 TouchScreenKeyboard를 저장할 변수와 키보드가 반환하는 문자열을 저장할 변수를 선언합니다.
UnityEngine.TouchScreenKeyboard keyboard;
public static string keyboardText = "";
키보드 호출
키보드 입력을 요청하는 이벤트가 발생하면 다음을 사용하여 키보드를 표시합니다.
keyboard = TouchScreenKeyboard.Open("text to edit");
함수에 TouchScreenKeyboard.Open
전달된 추가 매개 변수를 사용하여 키보드의 동작을 제어할 수 있습니다(예: 자리 표시자 텍스트 설정 또는 자동 고침 지원). 매개 변수의 전체 목록은 Unity의 설명서를 참조하세요.
형식화된 콘텐츠 검색
콘텐츠를 단순히 호출 keyboard.text
하여 검색할 수 있습니다. 프레임당 또는 키보드가 닫힌 경우에만 콘텐츠를 검색할 수 있습니다.
keyboardText = keyboard.text;
대체 키보드 옵션
TouchScreenKeyboard 클래스를 직접 사용하는 것 외에도 Unity의 UI 입력 필드 또는 TextMeshPro 입력 필드를 사용하여 사용자 입력을 가져올 수도 있습니다. 또한 MRTK의 HandInteractionExamples 장면에 TouchScreenKeyboard를 기반으로 하는 구현이 있습니다(왼쪽에는 키보드 조작 샘플이 있습니다).
다음 개발 검사점
앞에서 설명한 Unity 개발 과정을 따라가는 경우 Mixed Reality 플랫폼 기능 및 API를 탐색하는 중입니다. 여기에서 항목을 계속 진행하거나 직접 이동하여 디바이스 또는 에뮬레이터에 앱을 배포할 수 있습니다.