미디어 콘텐츠 스터디

Part05. UI 인터렉션 본문

가상현실(Virtual Reality)/핸드 트래킹 다루기 XR Hand v1.4.0 미만

Part05. UI 인터렉션

danmujicat 2023. 5. 17. 22:57

검지 손가락으로 버튼이나 UI 클릭/선택한다

1. XR-Origin 구성하기

① GameObject | XR | XR Origin(Action-Based) 메뉴를 선택하여 하이러키 창에 XR Origin를 추가하고 Main Camera는 삭제한다. 인스팩트 창에 XR Origin과 Input Action Manaager 컴포넌트가 추가되어 있다.

② 하이러키 창에 XR Origin를 선택하고 인스펙터 창에서 XR Origin 컴포넌트의 Tracking Origin Mode 속성값을 Floor로 설정한다.

2. 핸드 트래킹 구성하기

② 하이러키 창에 XR Origin->Camera Offset 하위에 GameObject|Create Empty 메뉴를 선택하여 빈 오브젝트를 추가하고 이름을 HandVisualizer로 변경한다.

② 하이러키 창에 XR Origin->Camera Offset-> HandVisualizer 를 선택하고 인스팩터 창에서 Add Component 버튼을 클릭하여  Hand Visualizer 컴포넌트를 추가한다.

② 하이러키 창에 XR Origin->Camera Offset-> HandVisualizer 를 선택하고 인스팩터 창에서 Hand Visualizer 컴포넌트에 각 속성값을 설정한다.

  - Origin : 하이러키 창의 XR Orign 설정

  - Left Hand Mesh : 프로젝트 창의 Samples->XR Hands->1.1.0-> HandVisualizer->Model에서 LeftHand를 설정

  - Right Hand Mesh : 프로젝트 창의 Samples->XR Hands->1.1.0-> HandVisualizer->Model에서 RightHand를 설정

  - Hand Mesh Material : 원하는 재질 설정

  - Draw Meshes : 체크 

  - Debug Draw Prefab : 프로젝트 창의 Samples->XR Hands->1.1.0-> HandVisualizer->Prefab에서 Joint 프로팹 설정

  - Velocity Prefab : 프로젝트 창의 Samples->XR Hands->1.1.0-> HandVisualizer->Prefab에서 VelocityPrefab 프로팹 설정

  - Velocity Type : None 선택

3. 핸드 트래킹 입력 액션 설정하기

 하이러키 창에서 LeftHand Controller를 선택하고  인스펙터 창에서  XR Controller(Action-Based),  XR Ray Interactor, Line Renderer, XR Interacter Line Visual, Sort Group 컴포넌트는 삭제합니다. RightHand Controller도 동일하게 한다.

 

4. 모델 만들기

 GameObject | 3D Object | Plane 메뉴를 선택하여 Plane 추가하고, 원하는 재질을 설정한다.

 GameObject | 3D Object | Cube 메뉴를 선택하여 Cube 추가하고, 이름을 Table로 변경하고 인스펙터 창에서 Position(-0.062, 0.0, 0.624), Scale(1.3, 0.76, 0.76)로 설정한다.

 하이러키 창에 GameObject | Create Empty 메뉴를 선택하여 빈 오브젝트를 추가하고 이름을 UI_Panel으로 변경하고, 인스펙터 창에서 Transform을 초기화 설정한다.

  - Position(0, -0.346, -0.09199999)

 하이러키 창에 UI_Panel 선택하고 하위에 GameObject | UI | Canvas메뉴를 선택하여 Canvas 추가하고, 이름을 UI Poke Components로 변경한다.

 하이러키 창에 UI_Panel -> UI Poke Components를 선택하고 인스펙터창에서 속성을 설정한다.

GameObject | UI | Button 메뉴 선택하여 하이러키 창의 Canvas하위에 Button 추가한다.
      - PosXYZ(0, 140,0)  , Width,Height(200, 100)
⑦ GameObject | UI | Slider 메뉴 선택하여 하이러키 창의 Canvas하위에 Slider 추가한다.
      - PosXYZ(0, 0,0) , Width,Height(300, 30)
⑧ GameObject | UI | Dropdown 메뉴 선택하여 하이러키 창의 Canvas하위에 Dropdown 추가한다.
      - PosXYZ(0, -140,0), Width,Height(220, 66)

 

5. 손 누르기 동작하기

 하이러키 창에서 LeftHand Controller를 선택하고  하위에 GameObject | Create Empty 메뉴를 선택하여 빈오브젝트를 추가하고 이름을 Poke Interactor로 변경하고, 인스펙터 창에서    [Add Component] 버튼을 클릭하여  XR Poke  Interactor 컴포넌트를 추가한다. RightHand Controller도 동일하게 한다.

 하이러키 창에서 LeftHand Controller->Poke Interactor를 선택하고  인스펙터 창에서    [Add Component] 버튼을 클릭하여 Tracked Pose Driver(Input System) 컴포넌트를 추가한다. RightHand Controller도 동일하게 한다.

 하이러키 창에서 LeftHand Controller를 선택하고 하위에 GameObject | Create Empty 메뉴를 선택하여 빈오브젝트를 추가하고 이름을 Direct Interactor로 변경하고, 인스펙터 창에서    [Add Component] 버튼을 클릭하여  XR Controller(Action-based)컴포넌트를 추가한다. RightHand Controller도 동일하게 한다.

 하이러키 창에서 LeftHand Controller-> Direct Interactor를 선택하고 인스펙터 창에서  XR Direct Interactor, Sphere Collider 컴포넌트를 추가한다. RightHand Controller도 동일하게 한다. 

 

 하이러키 창에서 LeftHand Controller-를 선택하고 인스펙터 창에서  XR Interaction Group 컴포넌트를 추가하고 Starting GRoup Members 속성:2

 Element0 : 하이러키 창의 LeftHand Controller->Poke Interactor을 드래그하여 설정

 Element1 :  하이러키 창의  LeftHand Controller-> Direct Interactor을 드래그하여 설정

RightHand Controller도 동일하게 한다.

 

실행하기

Comments