Study/.NET (C#, WPF, Unity)

[Unity] Windows Magic Leap 초기 설정

BlueBright 2020. 12. 8. 14:59

정리하고 나니까 겁나 복잡하다.....

 

 

<필자의 개발 환경>

 

Visual studio 2017 professional

Unity pro 2019.4.13f1

 

 

< Magic Leap Lab 설치 >

 

 

developer.magicleap.com/en-us/learn/guides/develop-setup

 

Developer Portal | Magic Leap

 

developer.magicleap.com

(설치 절차는 위 링크에 자세히 나와있다.)

우선 https://developer.magicleap.com/downloads 링크로 접속한다.

만일 계정이 없다면 계정으로 사용할 E-mail 주소를 입력한다.

(어짜피 Magic Leap Lab 프로그램을 실행하기 위해서는 계정이 필요하기 때문에 가입해야한다.)

입력한 메일 주소로 인증 메일에 인증 코드가 전송되는데 뒷부분 복사해서 입력해주면된다.

 

인증 문자는 6자리의 숫자로 온다.

 

인증 (가입)이 잘되었으면 계정 정보페이지가 뜬다. (경우에 따라서 창이 안뜰수도 있음)

일단 계정은 로그아웃하지 않고 유지한다. (Magic leap lab 로그인시 활용됨)

가입이 잘되면 가입 정보 페이지가 뜬다

 

 

오른쪽에 있는 "Download for Windows" 버튼을 클릭한다.

오른쪽 버튼을 눌러서 설치파일 다운로드

 

설치된 파일을 실행하여 프로그램을 설치한다. (MS VC++ 재배포 패키지가 필요하며 없으면 Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 and 2019 에서 다운로드 받아서 설치한다.) 

 

설치 파일 실행

 

 

< Lumin SDK 패키지 설치 >

 

설치한 Magic leap lab 프로그램을 실행하고 아래와 같은 창이 뜬다.

 

 

"Sign In or Register" 버튼을 클릭하면, 로그인 검증을 하고, Lab 프로그램은 홈 화면을 띄운다.

 

인터넷 웹페이지가 뜨면서 로그인 상태를 검사한다.

 

Lab 프로그램 홈 화면

 

 

왼쪽 상단에 "Home" 버튼을 누르면 메뉴들이 뜨는데 그곳에서 "Settings" 부분을 클릭한다.

 

설정창에서 Home 부분에서 자신이 사용하는 개발도구의 경로를 수정할 수 있다.

(보통은 이미 설치되어 있는 것들을 자동으로 잡아 준다.)

여기서 왼쪽 탭의 "Home" 아래에 있는 "Package Manager" 부분을 클릭하면 SDK가 설치되는 경로를 수정할 수 있다.

(존재하는 폴더를 경로 설정하지 않으면 자동으로 기본 경로로 설치된다.)

이외 "DEVICE BRIDGE" 부분에 있는 "Files" 나 " Log" 탭에서도 파일이 저장되는 경로를 수정할 수 있다.

 

 

홈화면 오른쪽 상단에 있는 Package Manager를 클릭한다.

왼쪽 부분에서 Unity 부분을 선택하면, 오른쪽 부분에 설치되는 패키지 목록이 뜨기된다.

여기서 "Zero Iteration" 이라고 들어가있는 패키지들도 체크해서 같이 설치한다.

(디버그 할 때 필요하다)

 

설치된 패키지 목록

 

 

호환성에 주의해서 설치

 

필자의 경우 Visual studio 2017 professional, Unity pro 2019.4.13f1를 사용하기 때문에

Lumin SDK는 0.24.1 버전이 설치됨

 

 

< 유니티 에디터에 모듈 추가 >

 

developer.magicleap.com/en-us/learn/guides/get-started-developing-in-unity

 

Developer Portal | Magic Leap

 

developer.magicleap.com

 

유니티 허브 → 설치 부분에 들어가서

"Lumin OS (Magic Leap) Build Support" 모듈을 설치한다. (새로운 모듈을 설치하거나 기존 모듈에서 추가하는 것은 자유)

 

< 유니티 프로젝트 설정 >

 

developer.magicleap.com/en-us/learn/guides/unity-setup

 

Developer Portal | Magic Leap

 

developer.magicleap.com

템플릿 코드를 제공하지만 차라리 수동으로 설정하는 것이 더 좋다.

 

유니티 허브에서 프로젝트 "새로 생성" 버튼을 누른 후, "3D" 템플릿을 선택하여 프로젝트를 생성한다. 

 

 

유니티 프로젝트 상단 메뉴를 따라 Edit → Preferences를 눌러 진입한 후, External Tools 탭을 클릭한 후, Lumin SDK 경로를 지정한다. (기본 경로는 C:\Users\사용자이름\MagicLeap/mlsdk/v0.24.1 와 같은 형태)

그리고 창을 닫는다.

 

 

 

유니티 프로젝트 상단 메뉴에서 File → Build Settings 에 들어가서 Lumin을 선택한 후, Switch Platform 버튼을 클릭한다. 그리고 창을 닫는다.

 

 

유니트 프로젝트 상단 메뉴에서 Window → Package Manager를 선택한다.

왼쪽 상단에 "Packages:In Project" 메뉴를 "Unity Registry"로 선택한 후, "Magic Leap XR Plugin"을 검색한 후, 설치한다.

Unity 버전에 맞게 선택됨

 

Edit → Project Settings → XR Plug-in Management 로 들어가서 "PC, Mac & Linux Standalone"과 "Lumin settings" 두 탭 부분에 있는 Magic leap을 체크한다.

 

Assets → Import Package → Custom Package를 클릭한 후, Lumin SDK가 있는 경로에서 MagicLeap.unitypackage 파일을 선택한다. (기본 경로는 C:\Users\사용자이름\MagicLeap/mlsdk/v0.24.1 와 같은 형태)

모든 부분에 체크가 되도록 설정한 후, Import를 클릭한다.

 

 

< 인증서 만들기 >

 

developer.magicleap.com/en-us/learn/guides/developer-certificates

 

Developer Portal | Magic Leap

 

developer.magicleap.com

 

개발자 포탈 홈페이지에서 (developer.magicleap.com/) Publish → Certificates 순서대로 진입한 후,

"Create cerificate" 버튼 또는 "Add new" 버튼을 클릭한다.

 

 

 

원하는 이름을 입력하고 "Generate" 버튼을 클릭

 

 

버튼 클릭 후, 아래 이미지 처럼 페이지가 갱신되며 동시에 privatekey.zip 파일을 다운로드하게 된다. (분실하면 다시 만들어야 한다.)

아래 이미지의 Download 부분에 버튼이 생기기까지 약간의 시간이 걸리기 때문에 적당히 기다린 후, 페이지를 새로 고치면 다운로드 버튼이 생성된다. 

 

 

생성된 다운로드 버튼을 클릭하면 "인증서이름.cert" 파일이 다운로드 되며 전에 받은 압축 파일안에는 "인증서이름.privkey" 파일이 들어있다. 두 파일은 반드시 같은 폴더 안에 있어야한다.

 

developer.magicleap.com/en-us/learn/guides/sdk-unity-player-settings-for-device

Edit → Project Settings →Player → Settings for Lumin →PublishingSettings

ML Cerificate에서 생성한 cert 파일을 선택한다.

 

 

 

 

< 장치 설정 (개발자 모드 활성화) >

 

developer.magicleap.com/en-us/learn/guides/develop-device-setup

 

Developer Portal | Magic Leap

 

developer.magicleap.com

장치의 전원을 켜서 실행한다.

만일 Pin 번호를 입력하라면 Pin 번호를 입력하여 진입한다. (Pin번호 위치는 나도 모른다....)

상단에 설정 버튼 (톱니바퀴 아이콘)을 → (1시방향) Device 아이콘 왼쪽 Developer 탭으로 들어간다. (잘 안보일수도 있으니 조금 기다리거나 움직이거나 해본다.)

 

 

(그냥 아래 것 모두 활성화 하자)

Developer Mode : 개발자 모드

Allow untrusted sources : 신뢰 없는 코드 수락

Enable MLDB Access : Magic Leap Device Bridge 설정

Enable Device Stream : 

 

(아래 것 활성화는 자유...)

Enable Lumin OS 6DoF Cursor : 6축 센서 관련?

When Plugged In : 연결된 상태에서 절전모드(?) 진입 하지 않게 하는것

 

 

만일 계정 또는 인증서 관련 문제가 뜨면 설정 부분에서 (7시방향) identity 버튼을 클릭하여 계정관련 설정을 한다.

 

 

 

< 디버깅 준비와 Zero Iteration (ML Remote) 활성화 >

 

developer.magicleap.com/en-us/learn/guides/sdk-play-mode-in-unity-with-ml-remote

 

Developer Portal | Magic Leap

 

developer.magicleap.com


Edit → ProjectSettings → Player → PC, Mac & Linux Standalone Settings  → Other Settings

Auto Graphics API for Windows 체크를 해제하고, 아래쪽의 "+" 버튼으로 "OpenGLCore"를 추가하여 최상단으로 이동한다.

 

 

그리고 나서 에디터를 재실행한다.

 

 

 

Magic Leap → ML Remote → Import Support Libraries 클릭하여 라이브러리를 import한다.

 

 

developer.magicleap.com/en-us/learn/guides/lab-zi

 

developer.magicleap.com/en-us/learn/guides/tools-zi-using-zi

 

아래 이미지와 같이 장치를 연결하고 장치의 전원을 킨다.

 

 

 

Magic leap lab 프로그램의 홈 화면에서 "Start Device Bridge" 버튼을 클릭하면 아래와 같은 화면을 볼 수 있다.

 

장치 감지 전

 

 

장치 감지 후

 

 

Magic leap lab 프로그램의 홈 화면에서 "Start Zero Iteration" 버튼을 누르면 아래와 같은 화면으로 바뀐다.

(Unity editer에서 Magic Leap → ML Remote → Launch Zero Iteration 을 클릭해도 된다.)

 

Zero iteration 홈

 

 

중앙 상단에 있는 "Target" 부분을 클릭하면 SDK 버전과 장치를 선택할 수 있는 대화상자가 뜬다.

Magic Leap 장치를 선택한 후 "Restart ZI" 클릭하면, Magic leap 에서는 "ZI Server is Running"이라는 메시지가 뜨며

대기상태로 들어간다. 

 

 

 

<유니티 프로젝트 작업> 

 

코드 작업 후 Play 버튼을 누르면 Magic Leap 에 Game 화면이 뜨게 된다.