일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 앱 배포
- 모작
- 개발
- 포트폴리오
- 유니티 GUI
- 연습
- 팀프로젝트
- HAPTIC
- VR
- Photon Fusion
- 유니티
- Oculus
- 멀티플레이
- 유니티 UI
- 팀 프로젝트
- 드래곤 플라이트
- XR
- 드래곤 플라이트 모작
- 개발일지
- CGV
- 유니티 Json 데이터 연동
- meta xr
- ChatGPT
- input system
- 길건너 친구들
- OVR
- 오큘러스
- meta
- 가상현실
- 오브젝트 풀링
- Today
- Total
EasyCastleUNITY
OVR 유니티 Ghost Reticles 탐구 본문
https://developer.oculus.com/documentation/unity/unity-isdk-create-ghost-reticles/#ghost-icon
위 링크의 문서를 기준으로 작성했습니다.
Oculus Integration SDK 57.0버전을 기준으로 작성되었습니다. 참고하여 주시기 바랍니다.
Ghost Recticles는 현재 먼 물체를 선택하거나 그 위로 포인터를 가져갈 때 표시되는 반투명 표식입니다.
Interaction SDK의 reticles는 오브젝트들 위에 커서 아이콘들(cursor icons), outline된 mesh들, 오브젝트들 까지 그리는 가상의 선, 그리고 투명한 가상 손들을 보여줄 수 있습니다. 각 타입의 reticle은 자체 프리팹을 사용합니다.
이 Ghost Reticles를 사용해 보고 싶으시면 DistanceGrabExamples 씬을 통해 확인해 보세요
Create Reticles(레티클 만들기)
아래의 단계는 모든 레티클 종류들에 적용됩니다.
1. Create Distance Grab Interactions에서 만든 상호작용이 가능한 큐브가 있는 Scene을 엽니다.
2. Hierarchy 에서 우클릭을 통해, Create Empty로 빈 오브젝트를 만들고, 그 빈 오브젝트의 이름을 ReticleLeft라고 설정합니다. 이 ReticleLeft에는 왼손 전용 레티클이 포함되게 됩니다.
3. 2번처럼 빈오브젝트 ReticleRight를 만듭니다.
4. 한개나 여러개의 레티클들을 선택하여 만듭니다. 레티클들의 종류는 총 4가지입니다.
- Create Ghost Icon Reticle
- Create Ghost Mesh Reticle
- Create Ghost Line Reticle
- Create Ghost Hand Reticle
Create Ghost Icon Reticle
이 아이콘 레티클은 ReticleIcon prefab을 사용하고, 사용자가 가르키고 있는 객체에 흰색 커서가 나타나도록 합니다.
1. 프로젝트에서, ReticleIcon을 검색하여 나온 프리팹을 ReticleLeft 아래에 자식으로 만듭니다.
2. Hierarchy에서 방금 여러분이 가져온 ReticleIcon prefab을 선택합니다.
3. 인스펙터 아래의, Reticle Icon Drawer component에서 너의 왼손의 DistanceHandGrabInteractor 를 속성 Distance Interactor 에 assign 합니다.
4. Center Eye 속성에는 CenterEyeAnchor(OVRCameraRig > TrackingSpace > 에 존재) 를 assign 합니다.
5. 위에 절차를 ReticleRight에도 반복합니다.
6. Hierarchy 에서 큐브를 선택합니다. (이 큐브는 여러분이 distance grab을 만들 때 만든 큐브를 말합니다.)
7. 인스펙터에서 Add Component 버튼을 누르고, Reticle Data Icon을 검색한 후, Reticle Data Icon 컴포넌트를 추가합니다.
8. Reticle Data Icon 컴포넌트에서 Renderer 속성에 큐브를 assign 합니다.
9. Custom Icon 속성에 Reticle-Circle을 assign 합니다.
10. Build And Run 을 하거나, Quest Link가 연결되어 있으면, Play를 하세요.
실제로 만들어본 Ghost Reticle Icon 영상입니다.
Create Ghost Mesh Reticle
그 Ghost Mesh Reticle은 ReticleMesh prefab을 사용하고, 사용자가 손으로 가르키고 있는 객체에 outline 처리된 객체를 보여줍니다.
1. 프로젝트에서 ReticleMesh를 검색하여, ReticleLeft에 자식으로 만들어줍니다.
2. Hierarchy 에서 방금 불러온 ReticleMesh prefab 을 선택합니다.
3. 인스펙터 아래의 Reticle Mesh Drawer 컴포넌트에서, 왼손의 DistanceHandGrabInteractor 를 Hand Grab Interactor 속성에 세팅합니다.
4. 위에 절차를 ReticleRight에도 반복합니다.
5. Hierarchy 에서 큐브를 선택합니다. (이 큐브는 여러분이 distance grab을 만들 때 만든 큐브를 말합니다.)
6. 인스펙터에서, Add Component 버튼을 눌러, Reticle Data Mesh를 검색하여, Reticle Data Mesh 컴포넌트를 추가합니다.
7. Reticle Data Mesh 컴포넌트에서, Filter 속성에 큐브를 assign 합니다.
8. Build And Run을 하거나, Quest Link가 연결되어 있으면, Play를 하세요.
실제로 만들어본 Ghost Reticle Mesh 입니다.
Create Ghost Line Reticle
이 line reticle은 ReticleLine prefab을 사용하고, 여러분이 객체를 가르키는 동안, 여러분의 손과 그 객체 사이의 line을 그립니다.
1. 프로젝트에서, ReticleLine을 검색하고, 나온 프리팹을 ReticleLeft 의 자식으로 만듭니다.
2. Hierarchy 에서, 방금 더한 ReticleLine prefab을 선택합니다.
3. 인스펙터 아래에, Distant Interaction Tube Visual 컴포넌트에서, 왼손의 DistanceHandGrabInteractor 를 속성 Distance Interactor 에 assign 합니다.
4. 위에 절차를 ReticleRight에도 반복합니다.
5. Build And Run을 하거나, Quest Link가 연결되어 있으면, Play를 하세요.
직접 만든 Ghost Line Reticle입니다.
#주의점: 이 Ghost Line Reticle은 대상이 된 객체와 거리가 너무 가까우면, 나오지 않습니다. Test 해보시려면, 대상 오브젝트를 충분히 멀어지게 한 상태에서 Test 해보세요.
Create Ghost Hand Reticle
ghost hand reticle은 OVRLeftHandReticle 이나 OVRRightHandReticle prefab을 사용합니다.
이 ghost hand는 여러분이 객체를 가르키거나, 잡았을 때, 어떤 식으로 잡힐지를 보여줍니다.
그 ghost hand는 여러분의 손의 움직임을 흉내냅니다.
1. 프로젝트에서, OVRLeftHandReticle 을 검색하고, 나온 프리팹을 ReticleLeft 의 자식으로 만들어줍니다.
2. Hierarchy 에서, 방금 더한 OVRLeftHandReticle prefab을 선택합니다.
3. 인스펙터 아래에, Reticle Ghost Drawer 컴포넌트에서, 왼손의 DistanceHandGrabInteractor 를 속성 Hand Grab Interactor 에 assign 합니다.
4. Hand Visual 속성에 OVRLeftHandReticle > LeftHandSynthetic 아래에 OVRLeftHandVisual 을 assign 합니다. 왼손의 OVRLeftHandVisual 을 사용하지 마세요.
5. Active State Tracker 컴포넌트에서, Active State 속성에 LeftHand 를 assign 합니다.
6. Hierarchy 에서 OVRLeftHandReticle > LeftHandSynthetic 를 선택합니다.
7. 인스펙터 아래의, Synthetic Hand 컴포넌트에서, I Modify Data From Source Mono 속성에 LeftHand 를 assign 합니다.
8. 위의 과정을 OVRRightHandReticle prefab을 사용하여 ReticleRight 에 반복합니다.
9. Hierarchy 에서 큐브를 선택합니다. (이 큐브는 여러분이 distance grab을 만들 때 만든 큐브를 말합니다.)
10. 인스펙터에서, Add Component 버튼을 눌러, Reticle Data Ghost 를 검색하여, Reticle Data Ghost 컴포넌트를 추가합니다.
11. Reticle Data Ghost 컴포넌트에서, Target Point 속성에 큐브를 assign 합니다.
12. Build And Run을 하거나, Quest Link가 연결되어 있으면, Play를 하세요.
직접 만들어본 Ghost Reticle Hand 입니다.
'Oculus VR 탐구' 카테고리의 다른 글
OVR 유니티 기본 Ray Interactions 만들기 탐구 (0) | 2023.10.27 |
---|---|
OVR Grabbable 컴포넌트 탐구 (0) | 2023.10.26 |
OVR 유니티 Distance Grab Interaction (멀리 있는 물체 집기 상호작용 탐구) (0) | 2023.10.25 |
OVR 유니티 Hand Pose 탐구 (Hand Grab Pose PC 버전) (1) | 2023.10.24 |
OVR 유니티 물체 던지기(Throw an Object) 탐구 (0) | 2023.10.23 |