MagicLeapOneで2つのコントローラを使う方法

こんにちは。HoloLensチームの老田です。

前回の記事「MagicLeapOne向けアプリ開発の始めかた」に引き続き、コントローラ2台の接続方法とサンプルの実装まで行いたいと思います。

接続方法

1. 1台目はつながれていることを確認

2. 2台目をケーブルでつなぐ

3. 設定のConectivityのControlから接続されていることを確認する

4. 2台目のケーブルを抜く

画像のように1台目がprimary、2台目がsecondaryといった表現で接続されていることがわかります。

ホームでの挙動

1台目(primary)は通常通り動作します。

2台目(secondary)はホームボタンのみ動作します。

自作アプリでコントローラを2台の入力を受け取る

ControllerというPrefabがありますのでこれをScene上に2つ配置します。

ControllerConnectionHandlerというスクリプトがありますのでその中のDeviceTypesAllowedをそれぞれLeftとRightに変更してください。

あとはビルドしてデプロイして動かすとこんな感じになります。

MagicLeapOne向けアプリ開発の始めかた

 

こんにちは。HoloLensチームの髙木です。

前回の記事「MagicLeapOne始めました!」に引き続き、今回はUnity向け開発環境のセットアップ~ビルドまでを書いてゆきます。

ちなみに当社で検証に使用しているデバイスは、MagicLeap社と業務提携されているNTT Docomo様のご厚意により、お借りさせていただいています。

 

  • 安心してください。技適通ってますよ!

それでは、本題の開発環境の構築を行っていきます。

 

前提:

今回の記事は、MagicLeap社(公式)の開発者ガイドを元に記載しています。

https://creator.magicleap.com/learn/guides/creator-portal

 

デバイスの準備:

◆OSアップデート

  • 事前にMagicLeapOneのLuminOSを最新版にアップデートしてください

◆開発者モードの有効化

  • Wi-Fiに接続します(未接続だとCreatorメニューが出ない)
  • ランチャー上部の設定アイコン(歯車マーク)> Deviceアイコン > Creatorメニュー

  • 全てのスライダーをオンにします

以上でデバイス側の設定は完了です。

 

開発用PCの環境構築:

◆SDK、ツールのインストール

  • Magic Leap The Labをインストールします
    https://developer.magicleap.com/downloads/lab
  • Magic Leap The Labを起動し、右上のPackage Managerを開きます
  • Lumin Runtimeを選択し、Optional Packageにチェックを入れ、Apply Changesをクリックします
  • C:\Users\ “ユーザー名” \MagicLeap\mlsdk\”バージョン” 配下にSDKがインストールされます
  • インストール後、PCを再起動します

 

Unityアプリの開発:

◆Unityのインストール

※ テンプレートを使用せずにプロジェクトを作成したい方はコチラ

◆Magic Leap Toolkitのインポート

Magic Leap ToolkitはUnityアプリケーションで、コントローラ入力の取り扱いや、マルチプレイングなどの実装を行うためのツールキットです。必要に応じて使用しましょう。

◆Lumin SDKパスの設定

  • Unity Editor:Edit > Preferences > External Toolsを開きます
    • Lumin > SDKにSDKのパスを入力します
      • C:/Users/”ユーザー名”/MagicLeap/mlsdk/”バージョン”

◆.NET APIの設定

  • Unity Editor:Player Settings > Other Settings > Api Compatibility Level
    • 「.NET 4.X」を選択します

◆ビルドターゲットの設定

  • Unity Editor:Build Settings
    • Platform「Lumin」を選択し、「Switch Platform」をクリックします

 

シミュレータでの実行:

◆Unityプロジェクトの設定

  • Edit > Magic Leap > ML Remote > Install Support Librariesをクリックします
    • シミュレーションに必要なライブラリがインポートされます

◆シミュレータの起動

  • Magic Leap The LabからZero Iterationを起動します
  • Stateタブをクリックし、シミュレータを起動します

◆Unityプロジェクトの実行

  • Unity Editorの実行ボタンをクリックします
  • シミュレータ上でUnityプロジェクトが動作します

 

実機へのデプロイ:

◆アプリに署名を追加する

MagicLeapOne向けのアプリケーションには署名が必要なため、以下を実施します。

  • Unity Editor:Player Settings > Other Settings > Identification > Bundle Identifier
    • 「com.companyname.appname」の形式で入力します ※小文字で入力する事

◆証明書を取得する

  • Magic Leap Creator Portalへログインします
  • 右上の「Publish >「Certificates」をクリックします
  • 「Add New」をクリック > 証明書の名称を入力し「Generate」をクリックします
    • Privatekey.zipのダウンロードが開始します
    • ローカルに保存して解凍します(XX.privkey)
  • 少し待ってページを更新し、先ほど登録した証明書の「Download」をクリックします
    • XX.certのダウンロードが開始します
    • ローカルに保存します

◆証明書を登録する

  • Unity Editor:Player Settings > Publishing Settings > ML Certificate
    • 上記手順で取得した証明書(XX.cert)を選択します

◆アプリ権限を設定する

◆デプロイ

  • MagicLeapOneの電源をONにして、ランチャー画面を起動します
  • MagicLeapOneとPCをUSB Type-Cケーブルで接続します
  • Unity Editorで、「File」> 「Build And Run」をクリックします
    • ビルド完了後に実機上で実行される

 

まとめ:

以上で、開発環境構築~ビルドまでが完了です。

今回は、サンプルプロジェクトをそのままビルドしただけですが、自分好みにカスタマイズしてデプロイすると楽しんでいただけるかと思います。

また、MagicLeapOneには、コントローラ入力、ハンドトラッキング、アイトラッキングなど様々なインターフェースが用意されているので、今後、ご紹介してゆきたいと思います。