Unity 2022.3.5f1 + Oculus Integration 56.0 (Distance Grab Interactions)

VR/Oculus Integration 2023. 9. 25. 17:19
반응형

새 Scene을 만들고 Main Camera를 지우고 OVRCameraRig를 하이어라키에 놓고 Tacking Origin Type을 Floor Level로 변경한다 

 

OVRHandPrefab을 LeftHandAnchor와 RightHandAnchor에 넣어주고 

OVRHand, OVRSkeleton을 제외한 모든 컴포넌트를 제거 한다 

 

오른쪽 Hand를 선택해 Hand Type을 Hand Right로 변경한다 

OVRInteraction 프리팹을 OVRCameraRig에 자식으로 넣는다 

OVRHands프리팹을 OVRInteraction자식으로 넣는다

 

 

큐브를 만들어 주자 

rigidboy붙여 주고 

 

grabbable붙여 주고 

 

HandGrabInteractable도 붙여 주자 

 

HandGrabInteractor프리팹을 찾아 HandInteractorsLeft에 드레그 하고 Interacctors에 + 버튼 눌러서 필드에 넣어주자 

오른손도 동일하게 작업 

 

큐브의 위치가 맞지 않으면 조절해 준다 

 

여기 까지 하면 핸드로 그랩 할수 있다 

 

 

OVRControllers프리팹을 찾아OVRInteraction에 넣어주고 

 

HandGrabInteractor와 DistanceHandGrabInteractor프리팹을 HandInteractorsLeft에 넣어주고 Interactors에 2개를 추가해 필드에 할당 하자 

 

오른손도 동일하게 작업 한다 

 

 

컨트롤러도 동일하게 작업 한다 

ControllerGrabInteractor, ControllerDistanceGrabInteractor 프리팹이다 

 

오른쪽 컨트롤러도 비슷하게 작업 

 

큐브에 Rigidbody를 넣고 Box Collder의 Is Trigger모드를 키자 

Rigidbody에는 UseGravity를 끄자 

 

Grabbable 컴포넌트 추가 

GrabInteractable , DistanceGrabInteractable 컴포넌트 추가 

HandGrabInteractable, DistanceHandGrabInteractable 컴포넌트 추가 

 

 

 

 

다른 설정은 만질 필요 없으나 가끔 Hmd가 빠져 있는 경우가 있으니 확인 해서 넣어줄것 

 

 

'빌드후 결과를 확인 하자 

 

 

 

 

 

The Interactables this interactor can or can't use.

Is determined by comparing this interactor's TagSetFilter components to the TagSet component on this interactables.

 

이 인터랙터가 사용할 수 있거나 사용할 수 없는 상호작용 가능한 객체는 이 인터랙터의 'TagSetFilter' 컴포넌트와 해당 상호작용 가능한 객체의 'TagSet' 컴포넌트를 비교함으로써 결정됩니다.

즉, 'Distance Hand Grab Interactor' 컴포넌트를 가진 인터랙터는 상호작용하려는 객체에 설정된 'TagSet' 컴포넌트의 태그들과 자신의 'TagSetFilter' 컴포넌트에 설정된 필터 조건들을 비교합니다. 이 비교를 통해 인터랙터는 특정 태그 세트를 가진 객체들과만 상호작용할 수 있게 됩니다.

예를 들어, 인터랙터의 'TagSetFilter'에 "Grabbable" 태그가 설정되어 있고, 상호작용하려는 객체에도 "Grabbable" 태그가 포함된 'TagSet' 컴포넌트가 있을 경우, 이 인터랙터는 해당 객체와 상호작용할 수 있습니다. 반대로, 객체의 'TagSet'에 인터랙터의 'TagSetFilter'에 없는 태그가 설정되어 있다면, 인터랙터는 그 객체와 상호작용할 수 없습니다.

이러한 방식으로 'TagSetFilter'와 'TagSet' 컴포넌트의 상호작용을 통해 개발자는 게임 내에서 상호작용 가능한 객체를 보다 세밀하게 제어할 수 있게 되며, 플레이어의 경험을 향상시키는 데 기여할 수 있습니다.

 

 

 

 

 

 

 

https://developer.oculus.com/documentation/unity/unity-isdk-distance-hand-grab-interaction/

 

Distance Hand Grab Interactions | Oculus Developers

 

developer.oculus.com

 

반응형
: