StereoKit Ink 애플리케이션 개요

완료됨

지금까지 데스크톱 및 HoloLens 2 모두에 대해 Visual Studio를 설치 및 구성하고 개발자 모드를 사용하도록 설정하는 방법을 알아봤습니다. 이 단원에서는 StereoKit Ink 구조의 개요를 확인합니다. StereoKit Ink는 StereoKit에서 제공하는 핵심 구성 요소를 보여 주는 데 사용되는 샘플 프로젝트입니다.

참고

여기(GitHub)에서 StereoKit Ink의 소스 코드를 찾을 수 있습니다.

이 StereoKit 데모 프로젝트는 혼합 현실 콘텐츠를 그리고 혼합 현실 콘텐츠와 상호 작용하는 방법의 기본 사항을 소개하는 것을 목표로 합니다. 다음을 만드는 방법을 알아봅니다.

  • 방사형 손 메뉴
  • 자동 레이아웃이 있는 간단한 창 메뉴
  • 사용자 지정 UI 요소
  • 파일 선택기

또한 모델과 선을 그리고 손 기반 상호 작용을 만들기가 얼마나 간단한지 알아봅니다.

Screenshot of the StereoKit Ink application on desktop

StereoKit Ink의 기능은 콘텐츠 생성 도구에 필요한 일반적인 작업의 샘플링을 나타내기 위해 선택되었습니다. 제공된 코드는 완전한 기능을 제공하거나 강력함을 나타내기보다는 쉽게 읽고 이해할 수 있도록 하기 위한 것입니다. 또한 StereoKit의 API 사용 방법을 파악하고 코드를 거의 사용하지 않고도 얼마나 많은 일을 할 수 있는지를 보여 줍니다.

필수 조건

이 프로젝트는 StereoKit를 사용하여 HoloLens 2 및 VR 헤드셋의 혼합 현실 애플리케이션을 빌드합니다.

프로젝트 레이아웃

StereoKit Ink의 솔루션에서는 두 가지 프로젝트 설정인 .NET CoreUWP를 사용합니다. 다양한 프로젝트 형식은 각기 다른 기능과 플랫폼을 지원하며, 작업 중인 항목에 따라 해당 기능과 플랫폼 간에 일반적으로 전환할 수 있습니다.

  • .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 샘플은 세 개의 코드 파일과 몇 가지 아트 자산으로 구성됩니다. 그럼에도 불구하고 이 코드는 즉시 분명하게 알 수 없는 모든 것을 명확하게 설명하는 많은 주석이 포함되어 있어 가독성이 매우 뛰어납니다. 다음 챕터에서는 이러한 세부 정보 중 일부를 설명합니다.