Unity 2022.3.5f1 + Oculus Integration 56.0 (Handtracking switch Controllers And Grab)

VR/Oculus Integration 2023. 9. 22. 11:16
반응형

create built-in project (standrad pipeline)

 

 

switch platform to android
https://assetstore.unity.com/?q=oculus&orderBy=1

 

install oculus integration package from assetstore
install xr plugin management
fix all
MainCamera지우고 OVRCameraRig를 하이어라키에 드레그

 

 

OVRHandPrefab찾아서 LeftHandAchor와 RightHandAnchor에 넣기 

 

OVRHandPrefab 들 선택 해서 OVRHand와 OVRSkeleton을 제외하고 나머지 컴포넌트 제거 

 

오른쪽 OVRHandPrefab선택해서 HandType을 HandRight로 변경 

 

 

OVRInteraction찾아서 OVRCameraRig에 넣기 

 

OVRHands 찾아서 OVRInteraction에 넣기 

 

전체 구조는 다음과 같음 

여기까지 하고 빌드 하면 손이 보여야 함 

 

만약 안보이면 오큘러스 설정 > 움직임 추적 > 핸드트레킹 체크 하고 다시 해보면 됨 

 

그래도 안보이면 컨트롤러를 서로 맞대어 2번 가볍게 치고 바닥에 내려 놓으면 보여야댐 

 

컨트롤러 집으면 아무것도 안보이고 컨트롤러 바닥에 내려 놓으면 손이 보이는게 맞음 


 

컨트롤러도 보이게 추가 

 

OVRControllerPrefab를 찾아 LeftControllerAnchor와 RightControllerAnchor에 각각 자식으로 넣는다 

컨트롤러를 각각 L Touch
R Touch로 설정

 

여기까지 하면 컨트롤러를 집으면 컨트롤러가 보이고 컨트롤러를 내려 놓으면 손이 보여야 한다 

전체 구조는 다음과 같고 OVRInteraction이 없거나 OVRHands가 없으면 손 안보임 

 

빌드하고 손이랑 컨트롤러가 잘 보이는지 테스트 해보자 


플랜을 하나 만들고 

 

책상을 만든다 

 

책상위 큐브를 하나 만들고 메터리얼 (Red) 를 만들어 적용한다 

 

리지드바디 붙여주고 

Grabbable붙여 주고 

 

HandGrabInteractable도 붙여 준다 

 

HandGrabInteractor프리팹을 찾아서 HandInteractorsLeft 자식으로 넣어주고

Interactors에 + 버튼 누르고 

필드에 HandGrabInteractor 를 할당 한다 

 

오른쪽도 동일하게 진행 

 

 

빌드후 결과를 확인 한다 

여기 까지 진행 했다면 큐브를 손으로 잡을수 있다

컨트롤러로는 못잡는다 

큐브의 IsTrigger체크를 하고 리지드 바디에는 use gravity 끄고 테스트 하는게 더 나아보인다 

그리고 데스크도 좀 가까이 설치 해서 테스트 해보자 


컨트롤러도 잡기 기능 추가 

 큐브에  GrabInteractable만 추가 하고 

 

OVRControllers를 찾아 OVRInteraction자식으로 넣고 

 

ControllerGrabInteractor를 찾아 LeftController/ControllerInteractors 자식으로 넣는다 

 

 

ControllerInteractors 를 선택 하고 인스펙텅에서 interactors에  + 버튼을 눌러 필드를 만들고 

 

 

ControllerGrabInteractor를 넣어 준다 

 

오른쪽도 동일하게 진행 한다 

 

큐브에 붙어 있는 Grab Interactable 컴포넌트의 

[Optional]

Pointable Element와 Rigidbody에 Cube를 넣어준다 

 

 

빌드후 실행해본다 

여기 까지 했다면 컨트롤러도 물체를 잡을수 있게 된다 

손과 컨트롤 스위칭 그리고 그랩을 할수 있게 되었다 

 

 

URP에서만 손이 보이는줄 알았는데 그게 아니였다 설정의 문제 였다 (오큘러스 기기 설정 > 동작 > 핸드 트레킹)

기존 영상과 자료등에서는 Oculus Integration버전이 최신 버전 56.0보다 낮아 참고 하는데 어려움이 있었다 

 


참고 

https://smilejsu.tistory.com/3158

https://www.youtube.com/watch?v=1FRqniErAfs 

 

반응형
: