StereoKit Ink 애플리케이션 개요
지금까지 데스크톱 및 HoloLens 2 모두에 대해 Visual Studio를 설치 및 구성하고 개발자 모드를 사용하도록 설정하는 방법을 알아봤습니다. 이 단원에서는 StereoKit Ink 구조의 개요를 확인합니다. StereoKit Ink는 StereoKit에서 제공하는 핵심 구성 요소를 보여 주는 데 사용되는 샘플 프로젝트입니다.
참고
여기(GitHub)에서 StereoKit Ink의 소스 코드를 찾을 수 있습니다.
이 StereoKit 데모 프로젝트는 혼합 현실 콘텐츠를 그리고 혼합 현실 콘텐츠와 상호 작용하는 방법의 기본 사항을 소개하는 것을 목표로 합니다. 다음을 만드는 방법을 알아봅니다.
- 방사형 손 메뉴
- 자동 레이아웃이 있는 간단한 창 메뉴
- 사용자 지정 UI 요소
- 파일 선택기
또한 모델과 선을 그리고 손 기반 상호 작용을 만들기가 얼마나 간단한지 알아봅니다.
StereoKit Ink의 기능은 콘텐츠 생성 도구에 필요한 일반적인 작업의 샘플링을 나타내기 위해 선택되었습니다. 제공된 코드는 완전한 기능을 제공하거나 강력함을 나타내기보다는 쉽게 읽고 이해할 수 있도록 하기 위한 것입니다. 또한 StereoKit의 API 사용 방법을 파악하고 코드를 거의 사용하지 않고도 얼마나 많은 일을 할 수 있는지를 보여 줍니다.
필수 조건
이 프로젝트는 StereoKit를 사용하여 HoloLens 2 및 VR 헤드셋의 혼합 현실 애플리케이션을 빌드합니다.
프로젝트 레이아웃
StereoKit Ink의 솔루션에서는 두 가지 프로젝트 설정인 .NET Core와 UWP를 사용합니다. 다양한 프로젝트 형식은 각기 다른 기능과 플랫폼을 지원하며, 작업 중인 항목에 따라 해당 기능과 플랫폼 간에 일반적으로 전환할 수 있습니다.
.NET Core 프로젝트에는 다음이 포함됩니다.
- 데스크톱 VR
- 평면 화면 MR 시뮬레이터
- 립 모션(Leap Motion) 관절이 연결된 손
- 컴파일 시간 없음
UWP 프로젝트에는 다음이 포함됩니다.
- HoloLens 2 + 관절이 연결된 손
- 데스크톱 VR
- 평면 화면 MR 시뮬레이터
- 컨트롤러 시뮬레이션된 손
- 컴파일 시간 약간 있음
창 메뉴
StereoKit Ink 애플리케이션에서는 잉크 도구 창과 잉크 메뉴 창이라는 두 개의 창 메뉴가 사용됩니다. 두 개 창 모두 UI 요소를 사용하여 여러 작업을 수행합니다.
잉크 도구 창 - 잉크 도구 창은 그리는 선을 구성할 수 있는 몇 가지 옵션으로 구성됩니다. 이 창을 통해 사용자는 견본에서 색을 선택하고 슬라이더로 색을 구체화하고 선의 크기도 변경할 수 있습니다. 또한 이 창에는 위쪽에 창을 꾸미고 창의 용도를 명확하게 하는 데 사용할 수 있는 잉크 병 모델이 포함되어 있습니다. 이러한 요소 대부분은 간단한 기본 제공 UI 요소이지만, 견본 단추는 사용자 지정 UI 도구를 사용하여 StereoKit의 API로 고유한 UI 요소를 디자인하는 방법을 보여 줍니다.
잉크 메뉴 창 - 잉크 메뉴 창에는 활성 잉크 그리기를 관리할 수 있는 몇 가지 옵션인 실행 취소, 다시 실행, 저장, 로드, 지우기, 종료가 있습니다. 이러한 단추 대부분은 매우 간단하지만, 저장 및 로드는 기본 제공 플랫폼 간 파일 선택기를 사용하여 파일 작업을 수행하는 방법을 보여 줍니다.
StereoKit는 직접 실행 모드 UI 패러다임을 사용합니다. 이는 익숙한 UI 시스템과 다를 수 있지만, 상당한 장점이 있습니다. 특히, API는 매우 간단하며 StereoKit는 UI 자체의 상태를 저장하지 않습니다. 대신 표준 코드 구조를 사용하여 한 프레임에서 다음 프레임으로 UI를 추가, 제거 또는 완전히 다시 정렬할 수 있으며 UI 상태를 매우 간단하게 변경하거나 확인할 수 있습니다. 이 기능 조합을 통해 정신적인 오버헤드가 거의 없이 UI를 신속하게 개발할 수 있습니다.
또한 UI 시스템은 UI 시각적 개체의 모양과 느낌을 사용자 지정할 수 있는 도구 컬렉션을 제공합니다. StereoKit Ink는 StereoKit의 기본 UI 설정 대부분을 유지하지만, UI 모양을 상당 부분 수정할 수 있습니다!
손 데이터 액세스
StereoKit Ink 애플리케이션은 손 관절 데이터를 사용하여 캔버스에 선을 그립니다. StereoKit는 손 우선 API이며 항상 유용한 손 관절을 제공합니다. StereoKit는 시스템에 있을 수 있는 관절이 연결된 모든 손 센서의 우선 순위를 지정하지만, 컨트롤러 또는 마우스로도 대체되고 해당 디바이스에 따라 손 관절을 시뮬레이션합니다.
StereoKit는 손 데이터에 대한 상위 수준 및 하위 수준 정보 컬렉션을 제공합니다. 또한 이 가이드에서 손 데이터를 가져와서 사용하는 방법에 대한 간략한 개요를 확인할 수 있습니다.
StereoKit Ink 샘플은 세 개의 코드 파일과 몇 가지 아트 자산으로 구성됩니다. 그럼에도 불구하고 이 코드는 즉시 분명하게 알 수 없는 모든 것을 명확하게 설명하는 많은 주석이 포함되어 있어 가독성이 매우 뛰어납니다. 다음 챕터에서는 이러한 세부 정보 중 일부를 설명합니다.