어떤 VR 플랫폼을 대상으로 개발중이든, Motion Controller (모션 컨트롤러) 지원을 추가하면 키보드와 마우스 또는 컨트롤러로는 낼 수 없는 수준의 몰입감과 상호작용성을 더할 수 있습니다. 여기서는 모션 컨트롤러를 지원하는 VR 플랫폼에 지원을 추가하는 법을 살펴보겠습니다.
지원 플랫폼
컴포넌트 탭에서 찾을 수 있는 Motion Controller 컴포넌트는 다음 VR 컴포넌트에서 작동합니다.
- Oculus VR
- Steam VR
- Gear VR
- Playstation VR
- Google VR
개발 중인 대상 플랫폼이 위에 나열되지 않은 경우, 그 플랫폼 문서를 통해 모션 컨트롤러 사용 관련 설정을 확인하시기 바랍니다.
모션 컨트롤러 구성
여기서는 모션 컨트롤러의 작동에 필요한 컴포넌트 추가 및 구성 방법을 살펴보겠습니다.
이 안내서는 개발 대상으로 삼고 있는 VR 머리 장착 디스플레이(HMD) 에 작동하는 폰 구성을 마쳤다 가정하고 작성된 것입니다. 그 구성법 관련 정보는 개발 대상 VR HMD 의 시작하기 안내 를 참고하시기 바랍니다.
-
먼저 콘텐츠 드로어 에서 Player Pawn 블루프린트를 찾아 엽니다.
클릭하면 원본 이미지를 확인합니다.
-
컴포넌트 섹션의 컴포넌트 추가 버튼을 눌러 이 블루프린트에 추가할 수 있는 컴포넌트를 펼칩니다.
클릭하면 원본 이미지를 확인합니다.
-
검색창에 Motion 을 입력하고 Motion Controller 컴포넌트를 클릭하여 컴포넌트 리스트에 추가하고, 이름을 MC_Left 라 짓습니다.
-
새로 추가된 모션 컨트롤러 컴포넌트를 선택하고 디테일 패널의 Motion Controller 섹션 아래 Motion Source 가 Left 로 설정되어 있는지 확인합니다.
클릭하면 원본 이미지를 확인합니다.
-
다음, 컴포넌트 패널 에서 Motion Controller Component 를 선택하고 컴포넌트 추가 버튼을 누른 뒤 Static Mesh Component 를 검색해서 추가, SM_Left 라 합니다.
Static Mesh Component 가 Motion Controller Component 의 자식인지 확인하세요. 그렇지 않으면 스태틱 메시가 모션 컨트롤러 이동을 따르지 않을 것입니다.
-
이제 Static Mesh Component 의 디테일 패널에서 Static Mesh 섹션 아래 모션 컨트롤러 외양을 나타내는 스태틱 메시를 입력합니다. 이 예제에서는 단순한 박스를 사용하고 있지만, 아무 스태틱 메시나 사용해도 됩니다.
클릭하면 이미지 원본을 확인합니다.
-
이제, 전체 Left hand 모션 컨트롤러 구성을 복제하여 Left 라는 단어를 Right 로 대체합니다. Motion Controller Component 로 가 Hand 를 Left 에서 Right 로 바꿔 이 모션 컨트롤러가 사용되는 손도 바꿔줘야 합니다.
클릭하면 원본 이미지를 확인합니다.
-
Pawn 블루프린트를 컴파일 및 저장하고, 테스트 레벨에 배치한 뒤 프로젝트를 실행합니다. HMD 를 쓰고 모션 컨트롤러를 집어들어 다음 비디오와 같은 작업을 할 수 있을 것입니다.
모션 컨트롤러 컴포넌트 시각화
모션 컨트롤러에는 시각화(Visualization) 카테고리가 있어 모션 컨트롤러에 디스플레이 모델 스태틱 메시를 빠르고 더 쉽게 추가할 수 있도록 합니다. 기본적으로 시스템은 모션 컨트롤러를 조작하는 다비아스와 일치하는 스태틱 메시 모델을 로드하려고 시도합니다. 시각화 필드는 다음과 같은 옵션을 제공합니다.
| 프로퍼티 이름 | 설명 |
|---|---|
| 디스플레이 디바이스 모델(Display Device Model) | 설정한 손과 관련된 모델을 자동으로 렌더링하는 데 사용됩니다. |
| 디스플레이 모델 소스(Display Model Source) | 원하는 모델의 소스를 결정합니다. 기본적으로 활성 XR 시스템에서 쿼리되며 (사용 가능한 경우) 연결된 디바이스에 대한 모델을 제공합니다. 참고: 기본 모델이 없는 경우 실패할 수 있으며, 자체 모델을 지정하려면 '커스텀(Custom)'을 사용하세요. |
| 커스텀 디스플레이 메시(Custom Display Mesh) | 이 모션 컨트롤러에 연결되어 표시될 메시를 표시하는 메시 오버라이드입니다. |
| 디스플레이 메시 머티리얼 오버라이드(Display Mesh Material Overrides) | 지정된 디스플레이 메시에 대한 머티리얼 오버라이드입니다. |
학습 스트림
[OBJECT:TopicCompactVideo] [PARAMLITERAL:title]Setting Up Motion Controllers
[/PARAMLITERAL] [PARAMLITERAL:videoid]6ALnsdQnkVQ
[/PARAMLITERAL] [PARAMLITERAL:service]youtube
[/PARAMLITERAL] [/OBJECT] [OBJECT:TopicCompactVideo] [PARAMLITERAL:title]Creating Interactions in VR With Motion Controllers Part 1
[/PARAMLITERAL] [PARAMLITERAL:videoid]eRNtgFo6iU0
[/PARAMLITERAL] [PARAMLITERAL:service]youtube
[/PARAMLITERAL] [/OBJECT] [OBJECT:TopicCompactVideo] [PARAMLITERAL:title]Creating Interactions in VR With Motion Controllers Part 2
[/PARAMLITERAL] [PARAMLITERAL:videoid]utOahIZgKgc
[/PARAMLITERAL] [PARAMLITERAL:service]youtube
[/PARAMLITERAL] [/OBJECT] [OBJECT:TopicCompactVideo] [PARAMLITERAL:title]Creating Interactions in VR With Motion Controllers Part 3
[/PARAMLITERAL] [PARAMLITERAL:videoid]fcmRGkpWefY
[/PARAMLITERAL] [PARAMLITERAL:service]youtube
[/PARAMLITERAL] [/OBJECT]