【Unity】Pico Neo 3 VRアプリ開発 (1)

最新版のSDKに対応した記事を投稿しました。
本記事は内容が古くなっていますので、こちらを参照してください。

https://qiita.com/afjk/items/6b587034c9ff3afb9e5c

# はじめに
Pico Neo 3でのVRアプリ開発方法をまとめました。

https://twitter.com/afjk01/status/1527678589193244672?s=20&t=Cme7pzKiAmHRbJsKaiqLqQ

開発イメージが分かりやすいよう、手順をステップごとに詳細に記載しています。
* 公式ドキュメント
https://developer.pico-interactive.com/document/doc

## 今回の開発環境
* Unity 2021.3.0f1
* Pico Unity XR SDK v2.0.4 
    * UnityのXR プラグインフレームワークに対応しています。

## SDKをDownload & UnityにImportする

* SDK入手先
    * https://developer.pico-interactive.com/sdk
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43734/a9958191-aed4-0d95-9ba5-e5722c153309.png)
何種類かありますが、「Unity XR SDK」をDownloadしてください。
Zipファイルになっているので解凍します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43734/3d85b280-9f23-b772-234c-f1812f736907.png)
PackageManagerで取り込める形になっています。
* Unityプロジェクトのpackageフォルダに解凍したフォルダをコピーして取り込む
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43734/347bc6e8-9200-def7-0234-4989fe924800.png)

* PackageManagerでPico XR Pluginがインポートされている事が確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43734/7d4f537f-404b-94de-da50-e2b62fad5d24.png)

* ダイアログが表示されるので、必要情報を入力してApply → Close
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43734/2baf0479-92ca-9044-bbc5-b93f2091e1ba.png)
App IDはとりあえず不要なのでチェックを外します。

# Unityプロジェクト設定
* Project Settings > XR Plug-in Management > Android PicoXRにチェック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43734/90e3e7de-64be-3cc0-eef6-2db1f56b9e1c.png)

* Project Settings > Player設定
    * Company Name & Product Name
        * 作りたいアプリに従って入力してください 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43734/41db6235-0dcf-938d-1493-c54a32b2e1fe.png)
    * Minimum API Level
        * API Level 29
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43734/57faad51-c1f5-be21-43bd-9d069f0fe773.png)

# カメラをVR対応する
* このあたりはUnity XR Plugin標準の手順です。
    * Hierarchyで右クリック > XR > Room-Scale XR Rigを選択してください
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43734/5dae494e-4966-fa7d-eb53-fd1431e66eb4.png)

# ビルド
* Pico Neo 3 ProをPCにUSB接続してください。
    * UnityのメニューにPXR_SDKがあるので、Build Tool > Build And Runを選択。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43734/ef767959-7d29-6c6f-d88a-9743e253d8d2.png)

    * ビルド時にダイアログが出る場合、
        * 動作確認したいだけなら「Ignore, Don't reminde again」でOKです
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43734/5e1c4d2a-23d5-7f08-3042-a24a841c1dfa.png)

# 動作確認
VRで動きました！
(コントローラーは表示されていませんが、Rayが出ています)
<img width="500" alt="first vr scene" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43734/6e1d652d-a29e-aafc-ab70-bcb1a8a3e02e.jpeg">

# コントローラーモデルを表示する
* HierarchyのXR Rig > Camera Offset > LeftHand ControllerのXR Controller Model PrefabにPicoのコントローラーモデルを設定します。
    * コントローラーモデルは Packages > PicoXR Plugin > Assets > Resources > Prefabsの中にあります。
    * LeftHand Controller / RightHand Controllerにそれぞれ設定してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43734/7f4fe204-cec2-7a19-170b-f6a44d227e1a.png)

* コントローラーが表示されました。
<img width="500" alt="controller" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/43734/b9d21e75-73ff-e246-368d-3f5de557adb1.jpeg">

# おわりに
CEDEC2021で[STYLYをPico Neo 3に対応した話](https://www.slideshare.net/MiyuNishikawa/20210824-pico-session-at-cedec2021-250055597/26)をしましたが、当時の問題のほとんど修正されており、
本体、SDKともに改善が進んでいる印象を受けました。
今回は自分のアップデートを兼ねてPico Neo 3でのVRアプリ開発方法をまとめました。

次回はPico Neo 3でUnityの「XR Interactions Toolkit」のサンプルを動かす方法について説明します。
* [【Unity】Pico Neo 3 VRアプリ開発 (2) ～ XR Interactions Toolkitを動かす ～](https://qiita.com/afjk/items/4b805c17aed9958d19ba)