EasyCastleUNITY

OVR 유니티 기본 세팅 및, 손동작 테스트 본문

Oculus VR 탐구

OVR 유니티 기본 세팅 및, 손동작 테스트

EasyCastleT 2023. 10. 22. 19:43

https://developer.oculus.com/documentation/unity/unity-isdk-getting-started/

 

Getting Started with Interaction SDK | Oculus Developers

 

developer.oculus.com

기본세팅: 위 문서를 기준으로 만들었습니다. 

이 글은 Oculus Integration SDK 57.0버전을 기준으로 작성되었습니다. 참고하여 주시기 바랍니다.

먼저 씬을 만듭니다. 

저는 OvrTest라는 이름으로 씬을 만들었습니다. 

이런 기본 씬이 생깁니다.

기본씬의 스카이박스는 개인적으로 VR을 테스트하기에 별로여서 변경해주었습니다. 

위 사진처럼 Environment에 접근하여, 스카이박스를 변경해줍니다. 

변경된 스카이박스

위 스카이 박스는 OVR Intergration SDK를 설치하면, 같이 들어있는 스카이박스 입니다. 

변경한 모습

이제 이 씬에, OVRCameraRig라는 프리팹을 찾아, 씬에 assign 합니다. 

주의점은 이 프리팹이 MainCamera 역할을 하고 있기에, 기존 씬에 있는 MainCamera는 삭제해주시기 바랍니다. 

그리고 해당 프리팹 인스펙터로 가서, Tracking Origin Type을 Floor Level로 변경해줍니다. 

이렇게 3가지 옵션이 있는데,

 Eye Level은 HMD의 위치를 받아, 그 위치를 기준으로 씬이 실행되도록하는 옵션입니다.

 Floor Level은 바닥을 기준으로 씬이 실행되도록 하는데, 여기서 말하는 바닥은, 처음 HMD를 실행할때, 영역을 지정할때, 바닥이라고 지정한 그 위치를 받아오는 것입니다. 

 Stage는 아직 저도 자세히 공부하지 못한 부분이여서 자세히는 모르지만, 미리 지정해둔 영역은 Stage로 지정하여, 그 스테이지 위치를 기반으로 렌더링하는 옵션입니다. 

 

이 다음으로는 아래 사진의 3가지 옵션을 밑에 사진처럼 지정해주십시오.

Hand라고 시작하는 옵션 3개를 사진처럼 세팅해주세요

Hand Tracking Support는 어떤 방법을 통해 핸드 트래킹을 할 지 정하는 옵션으로 

Controllers Only는 컨트롤러만 사용하여, 핸드트래킹을

Controllers And Hands는 컨트롤러와 손 둘다 사용하여, 핸드 트래킹을

Hands Only는 손 만을 사용하여 핸드 트래킹을 합니다. 

 

만약 Controllers Only를 선택하고, 손을 통해 핸드 트래킹을 구현하면, 동작하는 씬은 손을 인식하지 못하고, 핸드 트래킹도 하지 못합니다. 

그러므로, Controllers And Hands 를 선택하여, 둘다 사용할 수 있도록 하는 편이 개발하는데 편합니다. 

 

Hand Tracking Frequency는 핸드 트래킹 속도를 정하는 옵션으로, 

Low는 핸드 트래킹을 적게 실행하고, HIGH는 많이, MAX는 최대치로 실행합니다. 

그러므로 HIGH로 설정합니다 .

 

Hand Tracking Version은 V1과 V2가 있는데, 주로 권장되는 버전이 v2이므로 v2로 설정합니다. 

 

이후에는, 프로젝트에서 OVRHandPrefab을 찾아 OVRCameraRig > TrackingSpace > LeftHandAnchor 에 부착합니다.

이 다음, Hierarchy 에서  OVRHandPrefab. 을 선택합니다. 

그리고 이 인스펙터에서 OVR Hand 와 OVR Skeleton 을 제외하고 비활성화 시킵니다. 

그 다음 OVR Skeleton 컴포넌트에서 Enable Physics Capsules 옵션의 체크박스를 선택합니다. 

그리고 이 OVRHandPrefab 을 복사하고, RightHandAnchor 의 자식으로 부착합니다. 

그 다음 이 복사한 프리팹을 클릭하여, 인스펙터에서 아래 사진처럼 변경합니다.

이 다음에는 OVRInteraction 프리팹을 찾아 OVRCameraRig에 부착합니다. 

OVRHands 프리팹을 찾아,  OVRInteraction 에 부착합니다. 

이후에는 테스트 하기 위해 HMD 기기에서 핸드 트래킹 기능을 활성화 시켜줍니다. 

설정에 들어가서 기기 -> 핸드 트래킹 항목으로 들어가 활성화 하면 됩니다. 

 

그 다음 빌드를 하거나, Quest Link를 사용하여 씬을 HMD에서 실행해보면 손만을 이용하여 핸드 트래킹을 하는 결과를 볼 수 있습니다. 

실제 손을 이용하여 핸드 트래킹하는 모습

가상현실 조작 방법으로 실제 손을 통해 조작하는 방법을 Hands

컨트롤러를 손으로서 사용하여 조작하는 방법 을 Controllers as Hands

그냥 컨트롤러를 컨트롤러 자체로 사용하여, 조작하는 방법을  Controllers 라고 합니다. 

 

위에 보이는 영상은 Hands  방법을 통해 구현한 것입니다. 

다른 2가지 조작방법을 구현해 보고 싶으시면, 상단 링크의 문서로 들어가면

구현하는 방법이 자세히 나와있습니다.