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를 탐색해야 합니다. 여기에서 항목을 계속 진행하거나 디바이스 또는 에뮬레이터에 앱을 배포하는 것으로 바로 이동할 수 있습니다.