언어:
페이지 정보
태그:
수준별:
엔진 버전:
언리얼 엔진

Gear VR 터치패드 버튼 사용

언리얼 엔진
사전 필수 토픽

이 페이지는 다음 토픽에 대한 지식을 이미 갖추고 있는 분들을 대상으로 합니다. 계속하기 전 먼저 읽어보시기 바랍니다.

Gear VR 모션 컨트롤러(MC)에는 여러 버튼과 터치패드가 있어 UE4 의 여러가지 다양한 입력 작업을 처리하도록 구성할 수 있습니다. 여기서는 터치패드와 거기서 제공되는 다섯가지 버튼을 사용하도록 구성하는 법을 살펴보겠습니다.

여기서는 이미 VR 카메라와 모션 컨트롤러 지원이 추가된 폰을 가지고 시작합니다. 그 구성이 없는 경우, 이 페이지 상단의 사전 필수 토픽 목록에 있는 문서를 참고하시기 바랍니다.

단계

  1. 플레이어 폰 블루프린트를 열고 컴포넌트 탭에서 Text Render 컴포넌트를 새로 추가한 뒤 FaceButtonPressed 라 합니다. 아래 그림처럼 부모가 Motion Controller 컴포넌트인지도 확인합니다.

    HTGVRTouchpad_00.png

  2. Text 컴포넌트를 클릭하고 디테일 패널에서 다음 프로퍼티를 다음 값으로 설정합니다.

    클릭하면 이미지 원본을 확인합니다.

    프로퍼티 이름

    Location

    X = 20, Y = 0, Z = 0

    Rotation

    X = 0, Y = 0, Z = -180

    Horizontal Alignment

    Center

    Vertical Alignment

    Text Center

    World Size

    13.0

  3. 모션 컨트롤러 터치패드에 현재 눌린 버튼을 저장하고 표시하기 위한 Text 변수를 새로 만들어야 합니다. 변수 목록에서 Text 변수를 새로 만들고 ButtonText 라 합니다.

    HTGVRTouchpad_02.png

  4. GearVR 모션 컨트롤러 터치패드에 사용할 수 있는 버튼은 다섯입니다. 그 중 넷은 터치패드의 네 방향 (동서남북) 중 한 방향을 누르면 가동됩니다. 다섯번째 버튼은 사용자가 터치패드 표면을 터치할 때 발동됩니다. 블루프린트에서 이와 같은 구성을 하려면, 이벤트 그래프에 다음과 같은 Motion Controller (R) FaceButton 이벤트 노드를 다섯 개 추가하면 됩니다.

    클릭하면 이미지 원본을 확인합니다.

    노드 이름

    기본 값

    Motion Controller (R) FaceButton1

    N/A

    Motion Controller (R) FaceButton2

    N/A

    Motion Controller (R) FaceButton3

    N/A

    Motion Controller (R) FaceButton4

    N/A

    Motion Controller (R) FaceButton6

    N/A

  5. 이제 터치패드의 어느 버튼이 눌렸는지 표시하는 로직을 구성하겠습니다. 먼저 ButtonText 변수를 끌어 이벤트 그래프에 놓은 뒤 Set 옵션을 선택합니다. 표시하고자 하는 텍스트를 설정할 것이기 때문입니다.

    클릭하면 이미지 원본을 확인합니다.

  6. Motion Controller (R) FaceButton1 이벤트 노드의 Pressed 출력을 Set Button Text 의 입력에 연결한 뒤 Button Text 에 다음 텍스트를 입력합니다.

    • Face Button 1

    클릭하면 이미지 원본을 확인합니다.

  7. 지금은 Motion Controller Face Button 1 을 눌러도 아무 일도 벌어지지 않는데, 표시하고자 하는 텍스트를 입력하는 기능만 구성한 것이기 때문입니다. 그 텍스트를 표시하려면, 먼저 이벤트 그래프에 우클릭하고 Set Text 노드를 검색합니다. Set Button Text 변수에 입력한 텍스트로 설정해주는 노드입니다. Set Text 노드를 검색할 때, SetText(FaceButtonPressed) 옵션이 선택되었는지 확인합니다. 컴포넌트 렌더링을 위해 Face Button Pressed 텍스트로의 레퍼런스를 자동 추가해 줍니다.

    클릭하면 이미지 원본을 확인합니다.

  8. 다음, Set Button Text 노드를 Set Text 노드에 연결하여 Set Button Text 노드에 입력한 텍스트가 터치패드 버튼을 누르면 표시되도록 합니다. Set Button Text 노드의 양쪽 출력을 Set Text 노드의 해당 입력에 연결합니다. 이 작업이 완성된 블루프린트는 다음과 같습니다.

    클릭하면 이미지 원본을 확인합니다.

  9. 나머지 버튼 방향에 대해서도 이 작업을 반복합니다. Set Face Button Text 에 입력된 텍스트에 눌린 버튼이 반영되었는지 확인해 줍니다. 이 작업이 완성된 블루프린트는 다음과 같습니다.

    Copy Node Graph

    클릭하면 이미지 원본을 확인합니다.

  10. 모션 컨트롤러가 움직이면 텍스트도 따라 같이 움직일 수 있도록 어느 모션 컨트롤러가 눌렸는지 알려주는 텍스트를 모션 컨트롤러에 붙여줘야 합니다. 먼저 다음과 같은 노드를 이벤트 그래프에 추가해야 합니다:

    노드 이름

    기본 값

    GearVRController

    N/A

    FaceButtonPressed

    N/A

    Get Motion Controller

    N/A

    AttachToComponent

    N/A

    노드를 추가한 이후, AttachToComponent 노드를 SetRelativeLocation 노드 출력에 연결합니다. 그리고 FaceButtonPressed 를 AttachToComponent 노드의 Target 에 연결합니다. 마지막으로 GearVRController 를 GetMotionController 노드에 연결하고 그 출력을 AttachToComponent 노드 Parent 입력에 연결합니다. 이 작업이 완성된 블루프린트는 다음과 같습니다.

    Copy Node Graph

    클릭하면 이미지 원본을 확인합니다.

최종 결과

블루프린트를 컴파일하고 저장한 뒤 실행 버튼을 사용하여 프로젝트를 삼성 갤럭시 노트 스마트폰에 디플로이하고 실행합니다. 프로젝트가 폰에 디플로이되면, 폰을 Gear VR HMD 에 넣고 모션 컨트롤러를 집어듭니다. 이제 터치패드의 한 쪽 방향을 누르면, 다음 비디오처럼 눌린 버튼이 표시될 것입니다.

UE4 프로젝트 다운로드

이 예제를 만드는 데 사용된 UE4 프로젝트를 다운로드할 수 있는 링크입니다.

태그