[OpenXR] Ray Interactor (XR Interaction Toolkit Movement 타입 차이점)
VR/XR Interaction Toolkit 2023. 12. 28. 17:02XR Interaction Toolkit (XRIT)은 Unity에서 확장형 현실(VR), 증강현실(AR) 및 기타 현실 혼합 기술(XR) 애플리케이션을 개발하는 데 사용되는 훌륭한 도구입니다. XRIT에서 제공하는 다양한 이동 방식 중 Kinematic Movement, Instantaneous Movement, 그리고 Velocity Tracked Movement의 주요 차이점을 설명해 드리겠습니다.
- Kinematic Movement (운동학적 움직임):
- Kinematic Movement는 XRIT에서 가장 기본적인 이동 방식 중 하나입니다.
- 이 방식은 개체나 사용자의 위치와 상호 작용하는 데 사용됩니다.
- Kinematic 이동은 사용자 입력을 기반으로 플레이어 또는 개체를 부드럽게 제어하며, 물리적인 특성을 고려하지 않습니다.
- 이동이 부드럽고 예측 가능하며, 사용자 경험을 개선하기 위해 고려되는 역학 요소가 없습니다.
- Instantaneous Movement (순간이동):
- Instantaneous Movement는 사용자가 즉각적으로 원하는 위치로 이동하는 방식입니다.
- 이 방식은 사용자가 특정 위치로 순간적으로 이동할 수 있도록 합니다.
- 주로 포털, 텔레포트, 뷰포인트 변경 등의 상황에서 사용됩니다.
- 이동이 순간적이므로 물리 역학을 고려하지 않으며, 사용자 경험의 편리성을 높입니다.
- Velocity Tracked Movement (속도 추정 이동):
- Velocity Tracked Movement는 사용자의 속도와 방향에 따라 이동하는 방식입니다.
- 사용자의 움직임을 실시간으로 추적하고, 이동 방향과 속도를 고려하여 개체 또는 플레이어를 제어합니다.
- 이 방식은 물리 역학을 시뮬레이션하고 실제 물체의 움직임을 모방할 때 사용됩니다.
- 예를 들어, 사용자의 손이나 머리 움직임을 추적하여 VR 환경에서 자연스러운 상호 작용을 제공합니다.
이 세 가지 이동 방식은 XRIT에서 제공하는 다양한 상황에 맞게 선택할 수 있으며, 프로젝트의 목적 및 사용자 경험을 고려하여 적절한 방식을 선택해야 합니다.
Instantaneous Movement (순간이동)
빈오브젝트를 생성 한다 (Interactable Instant Pyramid)
![](https://blog.kakaocdn.net/dn/uE2nb/btsCMnjCHIN/DphRI9msmK4Z0zINokThBk/img.png)
Mesh Filter 와 Mesh Renderer 를 부착 한다
![](https://blog.kakaocdn.net/dn/ctSfHN/btsCKsltDjl/TLugorFTI2LWlxcBgGy4Ck/img.png)
![](https://blog.kakaocdn.net/dn/r5Q25/btsCIHiR4FJ/KK6kfzpKJoFOu2R2pdNkb1/img.png)
Mesh Collider를 부착 한다
![](https://blog.kakaocdn.net/dn/pS4A1/btsCIGxqw2r/IKdpE7YMKU8oAxCoxqHuGK/img.png)
Rigidbody를 부착 한다
![](https://blog.kakaocdn.net/dn/ZoZp4/btsCN6IDyC6/UQv6NNstQwjPPk5jVuRxN0/img.png)
XR Grab Interactable 컴포넌트를 부착 하고 Use Dynamic Attach를 체크 한다
![](https://blog.kakaocdn.net/dn/dAx9d4/btsCRhvSLR0/hNJb3JTAkALXhrnR2kG6y0/img.png)
Movement Type을 Instantaneous로 변경 한다
![](https://blog.kakaocdn.net/dn/tMLG1/btsCQqGBUwf/yJYdWyPrC6jnU5uDUs00T0/img.png)
프로젝트 창에서 Interaction Affordance프리팹을 찾아 자식으로 넣어 준다
![](https://blog.kakaocdn.net/dn/cKvqHN/btsCMxzHgrP/Kdv0hx0tyaLz8pF64lToz0/img.png)
Interactable Source 에 Interactable Instantaneous Pyramid 오브젝트를 넣어 준다
![](https://blog.kakaocdn.net/dn/DwYLa/btsCKq8XJFa/Zo2qHdMbKbXiOYQtvwOjgk/img.png)
Left Controller 셋팅
Right Controller를 선택 하고 XR Controller를 제외한 나머지 컴포넌트를 제거 한다
![](https://blog.kakaocdn.net/dn/bm85kP/btsCP3Sdf3l/UoUWPnHCk5xHB9YKkzyrak/img.png)
XR Controller 의 Model Prefab, Model Parent 프로퍼티에 알맞게 넣어준다
![](https://blog.kakaocdn.net/dn/bgqBf5/btsCRezcpnz/D04ZqC88MngOxvVeo8aSl1/img.png)
프로젝트 창에서 Ray Interactor 프리팹을 찾아서 Right Controller 자식으로 넣어 준다
![](https://blog.kakaocdn.net/dn/bwKCwK/btsCIE0Mn9y/7inqgxcPJqsNLIUT2Mvimk/img.png)
다음과 같이 설정 한다
이때 Attach Transform에 Right Controller Stabilized Attach를
Ray Origin Transform 에는 Right Controller Stabilized 를 넣어 준다
![](https://blog.kakaocdn.net/dn/AkEO4/btsCK9MIqaK/UlwXKNJLbtQlszQwHOV9Q0/img.png)
![](https://blog.kakaocdn.net/dn/nDozz/btsCP4DBAUz/BrgOcK9dek1XNKZZiH4X0K/img.png)
XR Interaction Toolkit (XRIT)에서 XR Controller 컴포넌트의 Attach Transform 및 Ray Origin Transform 프로퍼티는 컨트롤러와 상호 작용하는 데 사용되는 중요한 설정입니다. 이 두 프로퍼티에 대한 설명은 다음과 같습니다:
- Attach Transform:
- Attach Transform 프로퍼티는 XR 컨트롤러에 연결된 개체의 위치와 회전을 지정합니다.
- 일반적으로 이 프로퍼티는 컨트롤러의 물리적인 모양과 일치하는 개체를 나타냅니다. 예를 들어, VR 헤드셋의 컨트롤러에는 특정한 모양을 가진 컨트롤러 모델이 있습니다.
- 이 프로퍼티를 올바르게 설정하면, XR 컨트롤러가 이 개체에 연결되어 사용자의 손 또는 컨트롤러와 같은 개체로 보입니다.
- Attach Transform은 컨트롤러의 위치 및 회전을 정확하게 추적하기 위해 사용됩니다.
- Ray Origin Transform:
- Ray Origin Transform 프로퍼티는 XR 컨트롤러에서 발사되는 레이(선)의 시작점을 나타냅니다.
- 이 레이는 주로 컨트롤러 버튼을 누르고 레이를 사용하여 상호 작용할 때 유용합니다. 예를 들어, 사용자가 컨트롤러 버튼을 눌러 가상의 레이저 포인터를 표시하고 화면의 개체와 상호 작용하는 경우가 있습니다.
- Ray Origin Transform을 올바르게 설정하면, 레이의 시작점이 컨트롤러의 원하는 위치에 정확하게 위치하게 됩니다.
- 이것은 사용자가 레이를 통해 상호 작용하는 가상의 개체를 정확하게 조준하는 데 도움이 됩니다.
이 두 프로퍼티는 XRIT를 사용하여 상호 작용 기능을 개발할 때 중요한 역할을 합니다. 올바르게 설정되지 않으면 사용자 경험이 부정확하거나 불편할 수 있으므로 주의 깊게 설정해야 합니다.
실행해보고 결과를 확인 한다
Velocity Tracked Movement
빈 오브젝트를 만들어주고 (Interactable Velocity Tracked Wedge)
![](https://blog.kakaocdn.net/dn/bOUwyh/btsCOy53unh/UXGO0Jxln88JJsNqynfwTK/img.png)
Mesh Filter와 Mesh Renderer컴포넌트를 부착 하고
Mesh와 Material을 설정 한다
![](https://blog.kakaocdn.net/dn/bIchEq/btsCG3TXeoW/sgdc9bKb09oQ8xHWFWJyq0/img.png)
Mesh Collider를 부착 하고
![](https://blog.kakaocdn.net/dn/cshywn/btsCOB9uutd/SK45G4BKxrAhAWGVsHORKK/img.png)
Rigidbody를 부착 한다
![](https://blog.kakaocdn.net/dn/bGjf5l/btsCP35NNmX/ED94IKPp7H60jvupBT1qW0/img.png)
XR Grab Interactable 컴포넌트를 부착 한다
Movement Type을 Velocity Tracking으로 변경 하고
Use Dynamic Attach 를 체크 한다
![](https://blog.kakaocdn.net/dn/biON2B/btsCMqUZWP9/wvyNCeNGfPKuKEzBaj6KQk/img.png)
이하 기본 설정
![](https://blog.kakaocdn.net/dn/bc2Gi7/btsCN0obbZr/xmfFigOz0TnOXxvMgK6OQk/img.png)
프로젝트 창에서 Interaction Affordance를 검색해 프리팹을 찾아 자식으로 넣어준다
![](https://blog.kakaocdn.net/dn/KKR88/btsCN0aC1g3/t527v2Xs4eOPm9tkZnYYy0/img.png)
실행후 결과를 확인 한다
'VR > XR Interaction Toolkit' 카테고리의 다른 글
XR Interaction Toolkit 2.4.3 (Grab Interactable) (0) | 2023.12.30 |
---|---|
XR Interaction Toolkit 2.4.3 (Custom Hand Pose) OpenXR (0) | 2023.12.29 |
[OpenXR] XR Interaction Toolkit 2.4.3 (Two Hand Grab) (0) | 2023.12.28 |
[XR Interaction Toolkit 2.4.3] Custom Hand Grab Pose (0) | 2023.12.27 |
XR Interaction Toolkit Animated Hands (Grip, Pinch) (0) | 2023.12.27 |