2 minute read

Unity 개념학습 다섯 번째 포스팅

Locomotion System

Locomotion System은 XR Origin을 이동하거나 회전시킬 수 있는 기능을 제어하는 컴포넌트이다.

  • Scene 어딘가에 하나만 있어야 하며,
  • Teleportation Provider등 여러가지 Provider들과 함께 사용된다.
  • Timeout은 연결된 XR Origin을 베타적으로 제어하는 제한시간입니다.
  • 이 Locomotion System이 XR Origin을 제어하는 동안 XR Origin의 위치나 방향을 수정하면 안됨.
  • XR Origin Parameter는 Locomotion System을 이용해 제어할 XR Origin 컴포넌트임.
    • 비워둘 경우 자동으로 찾아서 연결.

Locomotion Provider

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

  • Snap Turn Provider, Continuous Move Provider, Continuous Turn Provider, Teleportation Provider가 상속하고 있다.
  • 각각의 Provider들은 Locomotion System 컴포넌트와 같은 게임 오브젝트에 있어야 할 필요는 없지만, 일반적으로 같이 위치하는 편이다.
  • 유일한 파라미터인 Locomotion System 파라미터는 Locomotion Provider들을 작동시킬 Locomotion System을 연결할 파라미터임.
    • 비워 둘 경우 자동으로 찾아서 연결함.

Teleportation Provider

Teleportation Provider는 Teleportation Area와 Teleportation Anchor가 작동하게 하는 컴포넌트이다.

  • Locomotion System 컴포넌트가 있어야 작동하며, 별다른 파라미터는 없다.

Snap Turn Provider

Snap Turn Provider는 정해진 수치만큼 좌우로 회전하거나 180도 뒤로 작동시키는 기능을 한다.

  • 주로 스틱 키를 좌우로 조작하거나 뒤로 조작하면 작동하도록 설정된다.
    • Devised-Based
    • Action-Based → Input System으로 상세하게 연결이 가능한 버전이 있음.
  • Turn Amount는 좌우로 회전하는 각도
  • Debounce Time은 뒤로 회전할 때 걸리는 시간이다.
  • Enable Turn Lef† Right옵션을 활성화하면, 좌우로 회전할 수 있음.
  • Enable Turn Around가 활성화되어 있으면, 180도 뒤로 회전할 수 있습니다.
  • Left Hand Snap Turn Action과 Right Turn Snap Turn Action을 이용하면 왼손과 오른손 컨트롤러에서 어떤 액션을 취해야 회전할 지를 선택할 수 있음.

Continuous Move Provider

Continuous Move Provider는 지속적인 이동을 할 수 있게 해주는 기능을 작동시킴.

  • 주로 스틱 키로 조작하도록 설정하며, 해당 액션을 하고 있는 동안 지속적으로 이동함.
  • 기본적으로 이동은 현재 쳐다보고 있는 방향 기준으로 XZ평면에 평행하도록 이동하며 Y축으로는 이동하지 않음.
    • Device Based Version
    • Acrion Based Version
  • 마찬가지로 Locomotion System컴포넌트가 있어야 작동함.
  • Move Speed 파라미터는 매 초마다 이동하는 거리이다.
  • 예를 들어 1로 설정한 경우, 매초마다 유니티 단위로 1씩 이동.
  • Enable Strafe가 활성화되어 있으면, 좌우로도 이동할 수 있음.
  • Use Gravity가 활성화되어 있으면, 이동할 때 중력의 영향을 받게 할 수 있음.
  • Gravity Application Mode를 설정하여 중력을 계산하는 시점을 결정할 수 있음.
    • Attemping Move로 설정할 경우, 이동할 때만 중력을 적용함.이동하지 않을 때는 바닥에 닿을 때까지만 마지막 속도를 계속 적용함.
    • Immediately는 이동하지 않을 때에도 중력을 적용함
  • Left Hand Move Action과 Right Hand Move Action을 이용해 어떤 액션을 해야 이동을 할 지를 선택할 수 있음.

Continuous Turn Provider

Continuous Turn Provider는 지속적인 회전을 할 수 있게 해주는 기능을 작동시킨다.

  • 주로 스틱 키로 조작하도록 설정하며 해당 액션을 하고 있는 동안 지속적으로 Y축으로 회전한다.
    • 동일하게 Device Based version
    • Action Based Version이 있음.
  • Locomotion System 컴포넌트가 있어야 작동하는 것도 동일하다.
  • Turn Speed는 초당 회전하는 속도이다. ex) 60으로 설정한다면, 매 초마다 60도 만큼 회전한다.
  • Left Hand Turn Action과 Right Hand Turn Action으로 왼손과 오른손 컨트롤러에서 어떤 액션을 해야 회전할 지를 선택할 수 있음.

Leave a comment