1일1알

XR Interaction Toolkit 주요 컴포넌트의 기능과 파라메터 - 4. Locomotion 본문

유니티/VR

XR Interaction Toolkit 주요 컴포넌트의 기능과 파라메터 - 4. Locomotion

영춘권의달인 2022. 11. 21. 21:01

https://www.inflearn.com/course/%EB%91%90%EA%B3%A0%EB%91%90%EA%B3%A0-%EC%9C%A0%EB%8B%88%ED%8B%B0-vr/dashboard

 

두고두고 써먹는 유니티 VR - 인프런 | 강의

Unity를 이용하여 VR 장비를 연동하고, VR 컨텐츠를 개발하는 방법을 배우는 VR 개발 입문 강의입니다. VR의 시장성이나 전망은 이미 많은 컨텐츠에서 접할 수 있기 때문에 굳이 다루지 않고, 실제

www.inflearn.com

이 글은 해당 강의를 보고 정리한 글입니다.

 

Locomotion System :

XR Origin을 이동하거나 회전시킬 수 있는 기능을 제어하는 컴포넌트이다. 씬 어딘가에 하나만 있어야 한다.

Teleportation Provider 등 Provider들과 함께 사용한다.

 

Timeout : 연결된 XR Origin을 배타적으로 제어하는 제한 시간이다. 이 Locomotion System이 XR Origin을 제어하는 동안 XR Origin의 위치나 방향을 수정하면 안된다. 

 

XR Origin : Locomotion System을 이용해 제어할 XR Origin 컴포넌트이다. 비워두면 자동으로 찾아서 연결한다.

 

Locomotion Provider :

XR Origin을 이동시키거나 회전시키는 방법에 대해 정의되어있는 Provider들의 기본 부모 추상 클래스이다.

Teleportation Provider, Snap Turn Provider, Continuous Move Provider, Continuous Turn Provider가 이 클래스를 상속받아서 사용한다.

각각의 Provider들은 Locomotion System 컴포넌트와 같은 게임오브젝트에 있어야 할 필요는 없지만 일반적으로 같이 위치시키는 편이다.

 

System : Locomotion Provider들을 작동시킬 Locomotion System을 연결할 파라메터이다. 비워두면 자동으로 찾아서 연결한다.

 

Teleportation Provider :

Teleportation Area와 Teleportation Anchor가 작동하게 하는 컴포넌트이다. Locomotion System 컴포넌트가 있어야 작동한다.

 

Snap Turn Provider :

정해진 수치만큼 좌우로 회전하거나 180도 뒤로 회전하는 기능을 작동시킨다. 주로 스틱을 좌우로 조작하거나 뒤로 조작하면 작동하도록 설정된다. 미리 설정된 디바이스에 상태 값을 연결하는 Device Based 버전과 Input System으로 상세하게 연결이 가능한 Action Based 버전이 있다. 액션 설정 외에 다른 기능은 동일하다. Locomotion System 컴포넌트가 있어야 작동한다.

 

Turn Amount : 좌, 우로 회전하는 각도

 

Debounce Time : 뒤로 회전할때 걸리는 시간

 

Enable Turn Left Right : 활성화하면 좌, 우로 회전할 수 있다.

 

Enable Turn Around : 활성화하면 180도 뒤로 화전할 수 있다.

 

Left Hand Snap Turn Action, Right Hand Snap Turn Action : 왼손과 오른손 컨트롤러에서 어떤 액션을 취해야 회전할지 선택할 수 있다. Use Reference를 체크하면 미리 정의된 Input Action 애셋을 선택할 수 있고 체크하지 않으면 직접 이 파라메터에서 액션을 선택할 수도 있다.

 

Continuous Move Provider :

지속적인 이동을 할 수 있게 해주는 기능을 작동시킨다. 주로 스틱으로 조작하도록 설정하며 해당 액션을 하고 있는 동안 지속적으로 이동한다. 기본적으로 이동은 현재 쳐다보고 있는 방향을 기준으로 XZ 평면에 평행하도록 이동하며 Y축으로는 이동하지 않는다.

미리 설정된 디바이스에 상태 값을 연결하는 Device Based 버전과 Input System으로 상세하게 연결이 가능한 Action Based 버전이 있다. 액션 설정 외에 다른 기능은 동일하다. Locomotion System 컴포넌트가 있어야 작동한다.

 

Move Speed : 매 초마다 이동하는 거리

 

Enable Strafe : 활성화되어있으면 좌, 우로도 이동할 수 있다.

 

Use Gravity : 활성화되어있으면 이동할때 중력의 영향을 받게 할 수 있다.

 

Gravity Application Mode : 중력을 계산하는 시점을 결정할 수 있다.

  - Attemping Move : 이동할 때만 중력을 적용한다. 이동하지 않을 때는 바닥에 닿을 때까지만 마지막 속도를 계속 적용한다.

  - Immediately : 이동하지 않을 때에도 중력을 적용한다.

 

Forward Source : 이동의 기준이 되는 축을 설정한다. 비워둘 경우 현재 쳐다보고 있는 방향을 기준으로 이동하고 컨트롤러가 가리키고 있는 방향을 기준으로 이동하고 싶으면 해당 컨트롤러를 이 파라메터에 설정하면 된다.

 

Left Hand Move Action, Right Hand Move Action : 왼손과 오른손 컨트롤러에서 어떤 액션을 취해야 이동할지 선택할 수 있다. Use Reference를 체크하면 미리 정의된 Input Action 애셋을 선택할 수 있고 체크하지 않으면 직접 이 파라메터에서 액션을 선택할 수도 있다.

 

Continuous Turn Povider :

지속적인 회전을 할 수 있게 해주는 기능을 작동시킨다. 주로 스틱으로 조작하도록 설정하며 해당 액션을 하고 있는 동안 지속적으로 Y축을 기준으로 회전한다.

미리 설정된 디바이스에 상태 값을 연결하는 Device Based 버전과 Input System으로 상세하게 연결이 가능한 Action Based 버전이 있다. 액션 설정 외에 다른 기능은 동일하다. Locomotion System 컴포넌트가 있어야 작동한다.

 

Turn Speed : 초당 회전하는 각도

 

Left Hand Turn Action, Right Hand Turn Action : 왼손과 오른손 컨트롤러에서 어떤 액션을 취해야 회전할지 선택할 수 있다. Use Reference를 체크하면 미리 정의된 Input Action 애셋을 선택할 수 있고 체크하지 않으면 직접 이 파라메터에서 액션을 선택할 수도 있다.