6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Unity】Pico Neo 3 VRアプリ開発 (2) ~ XR Interactions Toolkitを動かす ~

Last updated at Posted at 2022-05-21

はじめに

Pico Neo 3のSDKはUnity XR Pluginに準拠しているので、XR プラグインフレームワークに則ったUnityProjectを対応させる事ができます。
この記事では、XR Interactions ToolkitのサンプルをPico Neo 3で動作させる方法を説明します。

XR Interactions Toolkitについて

  • Unity入力イベントから3DオブジェクトやUIとのインタラクションを可能にするフレームワークです。
  • VRコントローラーでRayを飛ばしてGameObjectをGrabしたりuGUIのボタンやチェックボックスなどを操作したりといったインタラクションを実現できます。
    https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@0.9/manual/index.html
  • こちらの動画を見れば出来る事は大体イメージ出来ると思います。

XR Interactions Toolkitのサンプルを入手する

  • まず、XR Interactions ToolkitのサンプルプロジェクトをGitHubから入手します。
    https://github.com/Unity-Technologies/XR-Interaction-Toolkit-Examples
    image.png

  • Unityプロジェクトになっているので、VRのプロジェクトをUnityで開きます。
    image.png

  • プロジェクトはUnity 2019.4.22f1ですが、今回はUnity2022.3.0f1で開きます。

  • URPのバージョンが古いとの警告。自動でアップグレードしてくれます。
    image.png

  • 前回の記事を参考に、Pico Unity XR SDKをUnityプロジェクトに取り込み、Unityプロジェクトの設定を行ってください。

サンプルプロジェクトを動かす

  • 「World Interaction Demo」シーンを開いてみましょう。
    • Assets > Senes > WorldInteractionDemo を選んでください。
      image.png
      image.png

ビルドする

  • ビルドすると以下のエラーが出ます。メッセージの通り、Color SpaceをLinearに変更します。
    BuildFailedException: Only Linear Color Space is supported when using OpenGLES. Please set Color Space to Linear in Player Settings, or switch to Vulkan.
    image.png

  • また、LinearではOpenGLES2は対応していないのでリストから削除します。
    image.png

  • ビルドしてPico Neo 3 Proで動作確認する
    動きました。簡単ですね。
    image.png

以下、気になる点を調整します

カメラの高さを調整する

  • サンプルシーンはデフォルトのままだと床から高い位置にカメラが置かれます。
    • CameraOffsetのPosition.Yを0にしましょう。
      image.png

コントローラーモデルを変更する

  • 前回の記事同様、PicoのControllerModelを左右のコントローラーのXR ControllerのModel Prefabにセットします。
    image.png

  • なお、PicoのコントローラーモデルのマテリアルはURPに対応していないので調整が必要です。
    image.png

  • Controller5のShaderをUnlit/Textureに変更してみます。
    image.png
    image.png
    良い感じになりました。

Pico Neo 3で動かしてみた感想

ほとんどの機能(Grab/Teleport/スムーズ移動/uGUI操作)は問題なく動作します。

  • 気になった点
    • Grabしたオブジェクトを離すと吹っ飛びがち
    • InputFieldへの入力は出来ない
      • Androidのシステムキーボードが表示されます
        image.png
    • Androidのキーボードが立ち上がらないようにする方法は公式で説明されています。

ハマった点

  • uGUIがクリック出来ない?
    • 最初uGUIの操作が出来ず、原因が分からなかったのですが、Pico Neo 3のLab設定で120Hzリフレッシュモードを有効にしていたのが影響していたようです。
      120Hzリフレッシュモードをオフにすると問題なくuGUIを操作できました。

おわりに

Pico Neo 3でUnity XR Interactions Toolkitが問題なく動作する事が分かりました。
他のVRデバイスと共通のプロジェクトを大きな変更なくPico Neo 3でも動作させられるのは良いですね。

次回はPico独自の機能について紹介したいと思います。

6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?