i-Vinci TechBlog
株式会社i-Vinciの技術ブログ

VRアプリ開発のすすめ(とりあえずVRアプリのプロジェクトを作成する方法)

どうも皆さんこんにちは!

最近Ark - Survival Evolvedというゲームにハマっている藤田です。
恐竜に無駄に詳しくなりました(笑)

今日は、VRアプリの学習向けの開発環境を整える方法についてご紹介したいと思います。

VRの開発環境を整える難しさ

初心者がVRアプリの開発環境を整える難しさは、正しい情報に行き着くのが難しいという点にあります。

Quest2などのVRヘッドセットを持っていて、コンテンツに触れることでVRアプリの作成に興味を持つエンジニアは少なくないと思います。
私もその一人です。

「VRおもろいなぁ。世間的にも注目度が上がってるし、ちょっとテーマを決めて手を動かして何か作ってみるかぁ」

わかりやすい6DoFのイラスト

そんなノリでMeta社の開発者向け公式ドキュメントなどを漁ってみるのですが、、、まともに動くチュートリアルがないんです!

私も含めてWebの世界での開発に慣れ親しんでいる方は驚きだと思うのですが、少なくともQuest2では、公式のチュートリアルがまともに動かないんです。
M1 Macで開発している私の環境が悪いのか、Metaのドキュメント整備が行き届いていないのか。
Unityのダウンロードから始めて、2〜3時間ほどかけてやっと「初めてのアプリ作成」まで辿り着いても、パッケージの依存関係が壊れている、サンプルコードが動かない、そもそも記載されている情報が古い、などなど。ワクワクしながら始めたチュートリアルやスタートガイドが、いつの間にかエラーログを読んでスタックオーバーフローを彷徨い始め、せっかくの休日を潰すだけのクソ作業になってしまいます。

Udemyなどのサイトで見つけた学習コンテンツも、私が見つけたものは全てあまり役に立ちませんでした。

そういった感じだったので、私がやっと見つけたいい感じの学習コンテンツをブログ記事という形で共有したいと思いました。

VR basics - Unity Learn

いい感じの学習コンテンツはこちらです。

VR Development

ゲームエンジンとしてよく使われるUnityを使って、VRアプリを開発する方法について学ぶことができます。
個人的にいいなと思った点は次の3点です。

  1. XR技術の考え方についても学べる
    新しい技術に挑戦するときは、考え方への理解が大事かなと思います
  2. 動作確認済みのプロジェクトをZip形式でローカルのPCにダウンロードして学習を始められる
    パッケージの依存関係解決やアセットのダウンロードや準備などで時間を浪費しなくて良い
  3. M1 Macでも動いた
    Windowsで開発した方が色々と便利みたいです

特に3番目は、私の開発環境がM1 Macなので、個人的に一番重要でした。

Quest2を持っていて、Unityでの開発で問題がなく、かつ、取り敢えずVRアプリを開発したいという人は、この学習コンテンツで大丈夫かなと思います。

Unity Hubのダウンロードから始めても、2〜3時間程度で簡単なアプリを自分のヘッドセットで動かせるところまで行きます。
下の画像は実際に私のヘッドセットで動かしたもののキャプチャです。

実際に動かしている様子1

実際に動かしている様子2

実際に動かしている様子3

VR, AR, MRの違い

あとは実際にやってみましょう、という感じなのですが、折角なので学習コンテンツの中で触れられていたVR、AR、MRの違いについて、私見も交えて少し書いておきたいと思います。

  1. VR(仮想現実)

    1. 現実世界の全てをデジタルコンテンツで完全に置き換えたもの
    2. 没入型のコンテンツ、とか言われたりすることもある
    3. ここ数年でショッピングモールなどで体験できるところが増えてきましたよねぇ
      Beat Saber
  2. AR(拡張現実)

    1. 現実世界の一部にデジタルコンテンツを配置したもの
    2. ポケモンGoとか流行りすぎて社会問題化したこともありましたよね
      ARで表現された恐竜
      私の部屋に恐竜を置いてみました(笑)
  3. MR(複合現実)

    1. VRとARの中間に位置するもの
    2. VRかARかどちらか分からない時はMRと言っておけば無難(上記学習コンテンツ内での表現(笑))
    3. 個人的に「ユーザーがインタラクティブ可能な拡張現実」という定義が一番しっくりきています
    4. 本当はMRアプリを作りたいけど、MRデバイスの値段の高さに恐れ慄いています
      MRアプリを利用している様子
      HoloLens2めちゃくちゃ高い

まとめ

VRアプリの開発環境構築は、参考になる情報が少ないです。
しかし、特にMRをはじめとするXR技術(VR, AR, MR技術の総称)は、今後さらに注目を集めていくことは間違い無いと思います。
Unityの学習コンテンツからXRの世界に飛び込んでみるのはいかがでしょうか?