tks_yoshinagaの日記

KinectやLeap motion, VRやARなどの技術を使ってやったことのメモとか

The Installation and Configuration of Meta XR SDK

0. Overview of This Article

This article introduces the project setup method and SDK installation procedure for developing Meta Quest-compatible applications in Unity.

1. Creating a Unity Project

  • Open Unity Hub and click on New project
  • In the New project window, select the Unity version
    *In this article, we use 2022.3.20f
    *Android environment is installed during Unity installation
  • Select 3D Cross Platform(URP) from the templates
  • Set the Project name in Project Setting
    *In this article, we set it as MetaXR Samples

     

  • Click on File -> Build Settings
  • In the Build Settings window, select Android and click on Switch Platform

     

  • Right-click on Scenes/SampleScene in Scene In Build to delete it
  • Close the Build Settings window
続きを読む

Getting Started with Quest App Development using Meta XR SDK

1. Introduction

With the advent of Meta Quest 3, app development for both VR and AR has become more accessible.

Additionally, Meta has introduced a tool called Building Blocks, which allows for easy object display and interaction without the need for coding. This makes it possible to easily experiment with the features provided by the Meta XR SDK.

 

However, as you begin to adjust the samples created with Building Blocks to achieve the desired behavior, you'll need to learn how to use the SDK. While the Meta XR SDK provides a wealth of samples from which to learn, examining each sample individually can be overwhelming for beginners, presenting a high barrier to entry. In other words, fulfilling the desire to make minor changes can be quite challenging. In fact, I struggled with learning it myself.

This led me to start this series, considering that having resources to learn the basic steps for displaying and interacting with objects using Quest could assist many in their learning. I aim to create materials that allow you to learn the minimal configuration required to achieve specific functionalities, with a level of complexity between the no-code Building Blocks and official samples.

 

2. Series Table of Contents

 

I also plan to include any other ideas that come to mind.

If you notice any mistakes in the articles or have suggestions for improvements, or if there's something specific you'd like to learn about, please feel free to contact me.
X (Former Twitter):  https://twitter.com/Tks_Yoshinaga
Linked In: https://www.linkedin.com/in/tks-yoshinaga/


3. GitHub

The samples created in this article series are also available on GitHub.

github.com

MetaQuestでRayインタラクション

0. 本記事の内容

今回はMeta Questでコントローラや手から出るポインタ(Ray)とのインタラクションについてです。具体的にはRayを用いたHover(ポインティング)や選択(クリック)の検出を実現する手順について紹介します。
GitHubで公開しているサンプルの05-RayInteractionまたは05-RayInteraction-ARシーンでも動作を確認できます。


*この動画はAR版ですがAR/VR両対応です。

なお本記事は下記で作成したVRまたはARのシーンで表示している立方体とのインタラクションを前提としています。立方体に特別なコンポーネントを追加せずQuestで眺めるだけの状態からのスタートとなりますので、他のプロジェクトでも同様の状況であれば本記事と続きの記事の内容を実践することでオブジェクト操作を実現できます。(OVRCameraRigではなくOVRCameraRigInteractionプレハブの使用を前提としています)

[VR版]

[AR版]

 

1. シーンを複製

前回の記事で作成したシーンを編集することも可能ですが、これを壊さずにオブジェクト操作を試すためシーンを複製します。不要な場合は読み飛ばしてください。

  • 上記の記事で作成したVR版またはAR版のシーンを開く
  • File -> Save As... をクリックして現在のシーンを新しい名前で保存
    *本記事ではRayInteractionとします
  • Hierarchyに表示されるシーン名がRayInteractionになっていることを確認
続きを読む

MetaQuestでUnityのUI操作

0. 本記事の内容

Meta QuestでUnityのUIを操作する例としてボタン操作の方法を紹介します。本記事ではまず手やコントローラがボタンと相互作用できることを確認し、そのあとインタラクションの一例としてボタンを押したタイミングでCubeを消す方法を解説します。
GitHubで公開しているサンプルの04-UiInteractionまたは04-UiInteraction-ARシーンでも動作を確認できます。

*この動画はAR版ですがAR/VR両対応です。

 

なお本記事は下記で作成したVRまたはARのシーンで表示している立方体を操作することを前提としています。立方体に特別なコンポーネントを追加せずQuestで眺めるだけの状態からのスタートとなりますので、他のプロジェクトでも同様の状況であれば本記事と続きの記事の内容を実践することでオブジェクト操作を実現できます。(OVRCameraRigではなくOVRCameraRigInteractionプレハブの使用を前提としています)

[VR版]

[AR版]

 

1. シーンを複製

上記の記事で作成したシーンを編集することも可能ですが、これを壊さずにオブジェクト操作を試すためシーンを複製します。不要な場合は読み飛ばしてください。

  • 前回までに作成したVR版またはAR版のシーンを開く
  • File -> Save As... をクリックして現在のシーンを新しい名前で保存
    *本記事ではUiInteractionとします
  • Hierarchyに表示されるシーン名がUiInteractionになっていることを確認
続きを読む

MetaQuestでオブジェクトをつかむ(準備編)

0. 本記事の内容

Meta Questで3Dオブジェクト(立方体)をつかんで操作する方法の紹介を開始します。
ただしVRやARにおいて一言でオブジェクトをつかむと言っても、そのオブジェクトが近くにある場合と遠くにある場合とで必要な設定が異なります。本連載ではそれぞれの場合について実現方法を紹介しますが、その準備段階として本記事では各場合に共通して必要になる設定について解説します。


*この動画はAR版ですがAR/VR両対応です。

なお本記事は下記で作成したVRまたはARのシーンで表示している立方体を操作することを前提としています。立方体に特別なコンポーネントを追加せずQuestで眺めるだけの状態からのスタートとなりますので、他のプロジェクトでも同様の状況であれば本記事と続きの記事の内容を実践することでオブジェクト操作を実現できます。(OVRCameraRigではなくOVRCameraRigInteractionプレハブの使用を前提としています)

[VR版]

[AR版]

 

1. シーンを複製

前回の記事で作成したシーンを編集することも可能ですが、これを壊さずにオブジェクト操作を試すためシーンを複製します。不要な場合は読み飛ばしてください。

  • 前回までに作成したVR版またはAR版のシーンを開く
  • File -> Save As... をクリックして現在のシーンを新しい名前で保存
    *本記事ではFarManipulationとします
  • Hierarchyに表示されるシーン名がFarManipulationになっていることを確認
続きを読む

はじめようMeta XR SDKでQuestアプリ開発

1. はじめに

Meta Quest 3の登場により、VRとARの両方のアプリ開発がより身近になりました。

また、Meta社はBuilding Blocksという、ノーコードでオブジェクトの表示やインタラクションを容易に実現するツールを提供開始しました。これにより、Meta XR SDKが提供する機能を手軽に試すことが可能になりました。

 

しかし、Building Blocksで作成したサンプルに物足りなさを感じ、サンプルを調整して自分が望む動作を実現しようとする段階になると、SDKの使い方を学ぶ必要がります。Meta XR SDKは豊富なサンプルを提供していてこれらから多くを学ぶことができますが、サンプルを一つ一つ確認することは初心者にとっては情報量が多く、高いハードルとなり得ます。つまり、「ちょっと変更したい」という要望を実現するのが非常に大変なのです。実際、私自身も学習するのに苦労しました。

そこで、Questを使ったオブジェクトの表示やインタラクションを実現するための基本手順を学べる資料があると多くの方の学習の支援になるのではないかと考え、この連載を始めるに至りました。ノーコードのBuilding Blocksと公式サンプルの中間くらいのレベル感で、特定の機能を実現するための最小構成を学べる資料を作成しようと考えています。

 

2. 連載目次

 

ほか、思いついたネタがあれば掲載していきたいと思います。

記事の間違いのご指摘や、修正のご提案、勉強してみたい内容などがあればぜひご連絡ください。
X(旧Twitter);  https://twitter.com/Taka_Yoshinaga


3. GitHub

本記事で作成したサンプルはGitHubでも公開しています。

github.com

MetaQuestで遠くにあるオブジェクトをつかむ

0. 本記事の内容

本記事ではMeta Questで遠くにある3Dオブジェクト(立方体)をつかんで操作するまでを紹介します。この動画はAR版ですがAR/VR両対応です。
GitHubで公開しているサンプルの03-FarManipulationまたは03-FarManipulation-ARシーンでも動作を確認できます。

 

なお本記事は下記での事前準備が済んでいることを前提に解説を進めます。ご注意ください。

[準備編]

 

続きを読む