ゼロからMagicLeapアプリを作成するUnity編・2020年12月版
先日、お仕事の関係からARグラス「MagicLeap」をお借りしました。まったく触ったことすらないゼロの状態から、ARでアプリを作るまでのプロセスをメモっておこうと思います。
開発者サイトで登録、環境をつくる
1.開発者用アカウントを作成する
開発者用アカウントは必須なようです。ここから登録してアカウントを作成します。
2.「The Lab」というアプリをダウンロードします。最新MacOSには対応していないようなので、Windowsで開発がベターかもしれません。

3.「The Lab」の右上にある「Package Manager」をクリックし、「Bundles」の「Unity」をクリックして下記のように設定します

4.「Lumin Runtime」をクリックします
5.「Apply Changes」をクリックしてインストール、「Restart」を押して「The Lab」を再起動します
6.MagicLeapを接続した状態でこちらの「開発者モードをオンにする」を行い、「The Lab」の右下の接続数が「1」になっていることを確認します

7.「The Lab」の右上にある「Package Manager」をクリックし、
・Zero Iteration(formerly ML Remote)
・Zero Iteration Runtime
・Virtual Room Generator
がインストールされているか再度確認します。
8.続いてこちらのサイトの「証明書ファイルを発行する」を行い、証明書をダウンロードします。
このとき「.cert」と「.privkey」が必ず同じフォルダにあるか確認します。後から使うので、ダウンロードフォルダではなくフォルダごと別の場所に移動させておきます
9.「Zero Iteration」の「Start Zero Iteration」をクリックし、「Target」の横にある「0.24.1 Simulator」をクリックします。

10.「Restart ZI」をクリックします
11.この画面が出ているのを確認したら、上の「State」をクリックしてZero Iterationを終了します

テンプレートを使う場合(次回からはここから)
1.このサイトから、「Unity-Project-Template-0.24.0」をクリックしてダウンロードします。どうも2019.4以降のバージョンだと、片眼しかレンダリングされないという不具合が発生することがあるらしく、2019.3.7f1が2020年12月現在ではベターなようです。
ただこのテンプレートは2019.3.4f1対応なので、テンプレートをそのまま使う場合、Unityのバージョンは2019.3.4f1をダウンロード&インストールします。
2.1.でダウンロードしたものを「プロジェクト」タブをクリックした状態で「リストに追加」をしてUnityで開きます。このときUnityのバージョンが「2019.3.4f1」であること、「モジュールを加える」で「Lumin OS」がインストールされていることを確認します。していなければインストールします。もしこのような警告が出てきた場合は「No」を選択します

3.「Edit」メニュー→「Project Settings」→「Player」のPCとLuminの項目で「Other Settings」の下記の項目のチェックを外します。テンプレートを使った場合最初から外れているかと思います
・Auto Graphics API for Windows
・Auto Graphics API for Mac
・Auto Graphics API for Linux

4.上記の3つの項目に対して、「+」を押して「OpenGL Core」を追加します。このようになっていることを確認します

Luminはこのようになっています。

5.Unityに戻り、「Edit」メニュー→「Preference」→「External Tools」から「Lumin」を探し、「SDK」の「Brows」をクリックします。そしてLumin SDKを選択します。おそらくWindowsの場合は「Cドライブ→MagicLeap→mlsdk→v0.24.1」にあると思います
6.「File」メニュー→「Build Settings」を選び、「Lumin」にクリックして「Switch Platform」をクリックします。これでLuminでアプリで作れるように切り替えができました
7.「File」メニュー→「Build Settings」→「Player Settings」の「Publishing Settings」の「Sign Package」にチェックを入れます
8.同じく「ML Certificate」の横の「…」をクリックし、本稿の「開発者サイトで登録、環境をつくる」8.でダウンロードした「.cert」ファイルを選択しします
9.アプリ「The Lab」の「Zero Iteration」の「Start Zero Iteration」をクリックし、「Target」の横にある「0.24.1 Simulator」をクリックします
10.「Restart ZI」をクリックします
11.Unityへ戻り、Scenesの中の「HelloCube」シーンをダブルクリックして開きます
12.「Magic Leap」メニュー→「ML Remote」→「Import Support Libraries」を選択し、ライブラリをインストールします
13.MagicLeapをUSBと接続します。QuestLinkで使用しているケーブルもOKです。3.0でも大丈夫でした
13.再度、アプリ「The Lab」の「Zero Iteration」の「Start Zero Iteration」をクリックし、「Target」の横にある「0.24.1 Simulator」をクリックします。MagicLeapが接続されていると自分のMagicLeapの名前が出てくるので、それを選択します
14.「Restart ZI」をクリックします
15.MagicLeapを装着して、「ZI Server Running」と出ているか確認します
16.Unityに戻り、「Play」ボタン(▶)を押します。MagicLeapに赤い立方体が出ていたら成功です。MagicLeapはどうも電源を入れたところが原点になるようです
17.今後はこのテンプレートを使ってアプリを作っていくことになります。Gitを使って保存するのもひとつの方法ですが、今回は証明書つきなので、念のため下記からダウンロードしたテンプレートのZipファイルを保管しておきます
テンプレートダウンロード先:
ビルドしてみる
1.「File」メニュー→「Build Settings」を選択し、プラットフォームがLuminになっていることを確認します
2.「Player Settings」をクリックし、「Player」の「Product Name」に英字でつけたいアプリ名を入力します
3.「Build」ボタンを押してビルドします。.mpkファイルが作成されます。このとき、アプリ「The Lab」は終了しておきます
4.PCとMagicLeapをUSBで接続し、アプリ「The Lab」を立ち上げ、「Device Bridge」をクリックします
5.「Apps」タブを選択し、「Install App」ボタンをクリックして、書き出したmpkファイルを選択します
6.「OK」を押すとインストールが開始されます
7.MagicLeapの「All Apps」から書き出したアプリを選択します
8.Unityの文字が表示された後、アプリが開始します
