Help us understand the problem. What is going on with this article?

[Unity]Unityで始めるMagicLeap開発

今回はUnityでMagicLeapの自作アプリ開発手順を紹介したいと思います。
MagicLeapの開発を進めるにはいくつか下準備が必要で、まだその下準備が整っていない方はこちらの記事を参照してください。
MagicLeap入門以前
また、MagicLeap側で必要パッケージなどが既にインストールされたテンプレートプロジェクトが提供されていますが、勉強の為にも必要パッケージのインストールから始めようと思います

必須パッケージのインストール

ではまずUnityで開発するにあたって必要な環境、パッケージを確認しましょう。
・UnityHubがインストールされている
・Unity 2019.2.xx 以降のバージョン
・MagicLeapのアカウントを持っている
・MagicLeapのパッケージマネージャがインストール済み
まず上記4点が整っている事を確認してください。確認出来たらパッケージマネージャを立ち上げてUnityに必要なパッケージをインストールします。
"UnityPackage->MagicLeapUnityPackage"を選択しバージョンを選択、↓アイコンをクリックして"Apply"、パッケージがダウンロードされます

000.jpg
001.jpg

準備 プロジェクト偏

次に、UnityEditor側で必要なモジュールを追加します。
UnityHubを開いて左側の"インストール"を押し、2019.2.xx以降のバージョンで"モジュールを加える"選択します。

002.jpg

その中の"Lumin OS(Magic Leap) Build Support"にチェックを入れ実行を押します。
これでビルドに必要なモジュールを追加できました。

003.jpg

では新規プロジェクトを作成しましょう。テンプレートは3Dを選択し、任意の名前で作成してください。

004.jpg

準備 エディタ偏

先ほど作成したプロジェクトを開いて、"Edit->Preferences->ExternalTools->Lumin"にSDKのパスを設定します。

005.jpg

次に、"File->Build Settings"でビルドターゲットを"Lumin"に変更します

006.jpg

次に、"Window->PackageManager->Advanced->Show preview packages"を選択して過去のパッケージを表示させ、"XR Management"をインストールします

007.jpg

"Edit->ProjectSettings->XR Plugin Management"でLuminアイコンタブの方で"+"を押し、"MagicLeapLoader"をダウンロードします。
また、↓アイコン側で、先ほどダウンロードした"MagicLeapLoader"を反映追加します。

008.jpg

009.jpg

そしてやっとカスタムパッケージのインポートです。
では、皆さんがいつもやっている、ツールバーから"Asset->Import Package->Custom Package"で先ほどダウンロードした"MagicLeap.unitypackage"を選択し全てインポートしてください。
パッケージの場所がわからなくなったら、パッケージマネージャを開いて見ましょう。左上の歯車アイコンから、パッケージのパスが確認できます。

010.jpg

無事インポートできましたか?では、新規のシーンを作成して、インポートしたパッケージの中の"MagicLeap->Core->Prefabs"にある、"Main Camera"とDirectional LightをSceneに追加しましょう。

011.jpg

最後にAPIレベルと識別子を設定し、開発証明書の登録をします。 何を言っているかわからない場合は、最初の章であげた[MagicLeap入門以前]を参照してください。
"Edit->Project Settings->Magicleap->Manifest Settings"で"Minimum API Level"を"4"に設定し、その下の"LowLantencyLightwear"にチェックを入れます。

012.jpg

同じProjectSettingsから"Player"でLuminアイコンを押し、"Other Settings->Identification"の"BundleIdentifier"を小文字で入力します。 個人で作成する場合なら特に気にしなくていいので、デフォルトのままでも大丈夫です。
同じ項目の"Configuration->Api Compatibility Level"でターゲットを".NET 4.x"にします。

013.jpg

同じ項目の"Publish Settings->ML Certificate"で公式サイト側で作ったプライベイトキーのパスを入力します。

014.jpg

これでやっと開発する準備が整ったことになります。
今回は何をやっているのかを理解する為に最初から自分で準備しましたが、基本的には公式が用意しているテンプレートを使用するのがおすすめです。

Unityちゃんを配置

では我らがアイドルUnityちゃんを配置してみましょう。場所はどこでもいいですが、先ほど配置したMainCameraの画角内に収めてください。
僕は以下のように配置しました。

015.jpg

MLRemote経由でコンテンツの確認

コンテンツを確認する前に、GraphocsのAPIを"OpenGLCore"に設定し、エディタを再起動します。

016.gif
(公式サイトより引用)

再起動ができたら、ツールバーの"Magic Leap->Import Support Libraries"を選択し、次に"Lauch MLRemote"でリモートツールを立ち上げましょう。
MagicLeap本体を持っている場合は"Start Device"、持っていない場合は"Start Simulator"を押しましょう。
今回は持っていないものとして"Start Simulator"を選択します。

017.jpg

すると次々にサーバーが立ち上がって"Interaction"という別ウィンドウが立ち上がるはずです。
これでUnityEditor側でPlayを押すと、InteractionウィンドウでUnityちゃんが表示されているのを確認できれば大成功です!

お疲れさまでした

以上がMagicLeapをUnityで開発する基本です。
といっても今回はコンテンツを表示させただけで、MagicLeapのAPI周りやコントローラ、カメラの連携などは一切やっておりませんのでAPI周りの紹介はまた別記事でやりたいなと考えております。
これからMagicLeapが世にどういった衝撃を与えていくのか楽しみですね。
それでは。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away