삼성 Gear VR 디버깅

Gear VR 헤드셋용 어플리케이션 디버깅 방법에 대한 정보입니다.

Windows
MacOS
Linux
필요한 사전지식

이 글은 다음 주제에 대한 지식이 있는 분들을 대상으로 합니다. 계속하기 전 확인해 주세요.

타깃 디바이스에서 프로젝트를 디버깅할 수 있다면, 퍼포먼스 문제나 프로젝트를 깨뜨릴 수 있는 기타 오류를 추적하는 데 매우 중요하게 쓰일 것입니다. 여기서는 Gear VR 프로젝트 디버깅에 도움이 되는 툴은 무엇인지, 그리고 그 사용법에 대해 배워보도록 하겠습니다.

Gear VR 개발자 모드 켜기

Gear VR 헤드셋 없이 Gear VR 프로젝트를 볼 수 있다면 언리얼 콘솔같은 것에 쉽고 빠르게 접근할 수 있어 문제 디버깅 시간을 크게 단축시킬 수 있습니다. 여기서는 Gear VR 헤드셋 없이도 Gear VR 프로젝트를 볼 수 있도록 구성하는 법에 대해 다뤄보도록 하겠습니다.

계속 진행하기 전 디바이스 시그너처가 들어있는 폰에 Gear VR 어플리케이션이 설치되어 있는지 확인해야 합니다. 이 어플리케이션은 선택에 따라 다운로드한 것일 수도 컴파일한 것일 수도 있습니다.

  1. 먼저 삼성 갤럭시 스마트폰에서 Settings > Apps > Application Manager > Gear VR Service 로 갑니다.

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

  2. Storage - Manage Storage 를 탭합니다.

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

  3. 그리고 VR Service Version6 번 탭합니다.

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

  4. 무언가 검색되는 것이 보이고, 완료되면 화면에 Developer Mode 토글이 나타날 것입니다.

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

  5. 이제 Gear VR 헤드셋을 사용하지 않아도 Gear VR 프로젝트를 실행할 수 있을 것입니다.

    VR 개발자 모드를 켤 때는 폰 배터리가 급격히 소모될 수 있으니 주의해야 합니다. Gear VR 헤드셋이 사용중이지 않을 때 화면을 끄는 세팅을 덮어쓰는 것이기 때문입니다.

Gear VR 개발자 모드 끄기

어떤 이유로든 VR 개발자 모드를 끌 필요가 있는 경우, Developer Mode 슬라이더를 On 에서 Off 로 밀면 VR 개발자 모드가 꺼집니다.

Developer Mode Disabled

Developer Mode Enabled

UE4 콘솔 켜기

UE4 콘솔은 현재 UE4 에 표시되는 데이터를 살펴보고 영향을 끼칠 수도 있는 유능한 도구입니다. 모바일 디바이스에서 UE4 콘솔에 접근하려면 PC 에서와는 살짝 다른 접근법이 필요한데, 자세한 내용은 아래와 같습니다.

PC 에서 콘솔에 DumpConsoleCommands 를 입력하면 사용가능한 콘솔 명령 전체 목록이 나오며, 그 이후로는 언리얼의 콘솔에 사용가능한 명령이 전부 나열됩니다.

  1. 우선 폰의 Gear VR 개발자 모드를 켰는지 확인합니다. 그러면 Gear VR 헤드셋을 사용하지 않고도 프로젝트를 실행시킬 수 있습니다. 헤드셋을 사용한다면 폰의 화면을 터치할 수 없습니다.

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

  2. 다음, Gear VR 프로젝트 아이콘을 탭하여 실행시킵니다. 프로젝트가 실행되면, 폰에 이와 같은 화면이 보일 것입니다.

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

  3. Gear VR 프로젝트 실행 상태에서 화면에 네 (4) 손가락을 한꺼번에 터치하면 언리얼 엔진 콘솔이 열립니다. 제대로 했다면 폰 화면이 다음과 같아 보일 것입니다.

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

  4. 이제 입력창에 사용하고자 하는 콘솔 명령을 입력한 다음 Ok 버튼을 누릅니다. 이 예제에서는 Stat Memory 명령을 사용하여 프로젝트가 사용하는 메모리 양을 확인합니다.

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

  5. Ok 버튼을 눌렀으면, 프로젝트가 사용중인 메모리 양과 무엇에 사용중인지를 확인할 수 있을 것입니다.

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

  6. 디버깅을 마쳤거나 디버그 정보 화면을 그냥 지우려는 경우, Stat None 을 입력하면 모든 디버그 정보가 화면에서 사라집니다.

    Gear VR 헤드셋을 쓰고 콘솔 디버깅을 할 수 있는 가장 좋은 방법은 블루투스 키보드를 사용하는 것입니다. 이런 식으로 헤드셋에서 폰을 분리하지 않고도 콘솔을 사용할 수 있습니다.

Gear VR 디버그 로그 확인하기

디버그 로그 확인은 어떤 3D 프로젝트 개발시에도 매우 중요한 부분입니다. 디버그 로그를 통해 중요한 정보, 프로젝트가 정상 작동하지 않는지에 대한 이유, 심지어 어떤 문제를 고치기 위해 무엇을 하면 될 것인지에 대한 제안까지도 알 수 있습니다. 여기서는 스마트폰에서 디버그 로그를 구하기 위해 해야하는 작업을 알아보도록 하겠습니다.

Android 공식 문서를 통해 Logcat 으로 할 수 있는 여러가지 작업에 대한 상세 정보를 전부 확인할 수 있습니다.

  1. 먼저 디버그 정보를 구하고자 하는 어플리케이션이 담긴 스마트폰이 USB 를 통해 PC 에 꽂혀있는지 확인합니다.

  2. 다음 Windows 키 + R 키를 누르면 뜨는 실행 대화창에 cmd 라 입력합니다.

    T_Open_CMD_Prompt.png

  3. Enter 키를 쳐 Windows 명령줄을 실행합니다.

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

  4. 이제 명령줄 창에 ADB Devices 라 입력하고 Enter 를 치면 PC 에 연결된 디바이스가 표시됩니다.

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

    ADB Devices 에 디바이스가 나타나지 않으면, 삼성 Gear VR 헤드셋 요구사항 구성 섹션대로 했는지 확인한 뒤 위 단계를 다시 시도해 봅니다.

  5. 이제 다음 명령을 입력하여 로그 캐시를 지우고 현재 디버그 정보를 구하도록 합니다.

    adb logcat -c

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

  6. 이제 로그에 있는 이전 데이터를 비웠으니, 스마트폰에서 어플리케이션을 실행한 뒤 다음 명령을 입력하여 로그 정보를 구합니다.

    adb logcat -s UE4 OVR VrApi VrLib VRSVC HmdInfo >logoutput.txt

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

    로그 출력을 실시간으로 확인하려는 경우, >logoutput.txt 부분을 빼고 입력하면 명령줄 창에 모든 로그 업데이트가 이루어집니다.

  7. 로그 캡처를 완료하려면 키보드의 CTRL + C 를 누르고, 완료되면 Windows의 Users 폴더에 logoutput.txt 라는 이름으로 저장된 로그 파일이 생겨있을 것입니다.

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

    명령줄 창이 열려있고 ADB logcat 명령이 실행중인 동안에는 데이터가 계속해서 로그 파일에 출력될 것입니다. CTRL + C 키를 누르기만 하면 로그 파일 작성 작업이 중단됩니다.

  8. 로그 파일에 포함된 정보는 logcat 명령에 UE4, OVR, VrApi, VrLib,VRSVC, HmdInfo 를 추가하여 생성된 것입니다. 생성된 로그 파일을 열어 그 중 하나를 검색해 보면, 그에 관련된 디버그 정보를 찾아볼 수 있습니다.
    그 예제는 아래 그림에서 확인할 수 있는데, OVR, UE4, Vrapi, VrApi 등의 용어를 사용하여 로그 중 그에 관련된 정보가 전부 표시되어 있습니다.

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

Gear VR 프로젝트가 어떤 이유로든 시작되지 않는다면, logcat 명령을 사용하여 프로젝트 실행이 어디서 왜 실패하는지 정확히 알아낼 수 있습니다. UE4 Forum 이나 Answer Hub, 카페 등에 문제 관련 도움을 받기 위해 글을 올릴 때도, 문제에 대한 상세 정보를 제공해 주기도 합니다.

무선 디플로이 & 디버깅

스마트폰이 Gear VR 헤드셋에 들어있을 때는 USB 포트를 쓸 수 없어서 디버그 정보를 구하거나 디플로이가 불가능합니다. 하지만 스마트폰의 와이파이 연결을 통해 개발 PC 로 디버그 정보를 전송하는 것으로 이 문제를 해결할 수 있습니다. 같은 방식으로 프로젝트 디플로이까지도 가능은 합니다만, USB 케이블에 비하면 매우 느립니다. 여기서는 스마트폰이 와이파이를 통해 디버그 정보를 전송하고 디플로이도 가능하도록 구성하기 위해 알아야 하는 모든 것에 대해 다루도록 하겠습니다.

참고로 이 기능의 정상 작동을 위해서는 개발 PC 와 갤럭시 노트 4 가 같은 네트워크에 있어야 합니다.

  1. Windows 키 + R 키를 누르면 뜨는 실행 대화창에 cmd 라 입력하고 Enter 키나 마우스로 OK 버튼을 클릭하여 Windows 명령줄 창을 띄웁니다.

    T_Open_CMD_Prompt.png

  2. OK 버튼을 누르면 다음과 같은 Windows 명령줄 창이 나타납니다.

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

  3. 이제 스마트폰의 IP 주소 확인을 위해 다음 명령을 입력하고 적어둡니다. 사용할 IP 주소는 inet 뒤에 오는 것입니다.

    adb shell ip -f inet addr show wlan0

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

  4. 다음 명령을 입력하여 네트워크 접속을 TCP 로 바꾸고, 전송을 기다려야 하는 포트를 설정합니다.

    adb tcpip 5555

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

  5. 포트 설정이 완료되면, 스마트폰에 접속할 차례입니다. 다음 명령을 입력하고 Enter 키를 치면 됩니다.

    adb connect 000.000.000.000 - IP 주소를 아까 적은 것으로 대체합니다.
  6. connected to 디바이스 IP 주소라는 메시지가 보일 것입니다.

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

  7. 와이파이에 연결되었는지 확인하려면, 명령줄 창에 adb devices 라 입력하고 Enter 키를 치면 List of devices attached 에 IP 주소가 연결된 유일한 디바이스임을 확인할 수 있을 것입니다.

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

네트워크를 통해 스마트폰과 PC 를 서로 연결했다면, 이제 USB 케이블을 사용하지 않고도 스마트폰에서 디버그 정보를 구하거나 프로젝트 디플로이까지도 가능합니다. 하지만 와이파이 네트워크를 통한 PC 에서 스마트폰으로의 디플로이는 USB 케이블보다 4 - 5 배 정도 느리다는 점 유념하시기 바랍니다.

유선 디플로이 & 디버깅으로 돌아가기

USB 케이블을 사용한 디버깅 및 디플로이로 돌아가려면, 명령줄에 다음 명령을 입력하면 됩니다.

 ADB USB

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

태그
Select Skin
Light
Dark

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼