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 입력 필드를 사용하여 사용자 입력을 가져올 수도 있습니다. 또한 MRTKHandInteractionExamples 장면TouchScreenKeyboard를 기반으로 하는 구현이 있습니다(왼쪽에는 키보드 상호 작용 샘플이 있습니다).

다음 개발 검사점

앞에서 설명한 Unity 개발 과정을 따라가는 경우 Mixed Reality 플랫폼 기능 및 API를 탐색하는 중입니다. 여기에서 항목을 계속 진행하거나 직접 이동하여 디바이스 또는 에뮬레이터에 앱을 배포할 수 있습니다.