最近では至る所でVRという言葉を目にするようになりました。
VR(Virtual Reality)は仮想現実と訳され、「創り出された非現実空間で、限りなく現実に近い体験をする」という意味合いがあります。
本記事では、そんなVRコンテンツを自作してみたいという方のための入門編として、UnityでVR開発する際に準備する必要のあるものやおすすめの開発キットをご紹介します。
「Unityについて詳しく知りたい」という方は、弊社過去記事で説明しているのでぜひそちらをご覧ください。
目次
|Unityで作れるVRコンテンツ
Unityでは、プログラミングの知識なしにVRコンテンツの開発を行うことができます。
Unityはマルチプラットフォームによりサポートされているため、ほとんどのヘッドセットに対応しています。
ここではまず、Unityを使ってどのようなVRコンテンツを作成できるのかをご紹介します。
ゲーム
ゲーム開発エンジンであるUnityでは、もちろんVRゲームを開発することができます。
公式YouTubeでも、Unityを使って製作されたVRゲームが紹介されています。
動画からもお分かりいただけるように、MMORPG(大規模多人数同時参加型オンラインRPG)やバトルロワイヤル、シューティングゲーム、アドベンチャーゲーム、パズルゲームなど幅広いジャンルのVRゲームがUnityを用いて開発されています。
アプリ
VRと聞くとゲームのイメージが強いかもしれませんが、Unityではゲーム以外のアプリ開発を行うこともできます。
最近ではコストや安全面を考慮して、自動車産業や建設業、医療業界などでもVRの活用が普及し始めています。
実際にAudiやTOYOTAといった有名自動車メーカーでも、Unityで制作されたVRアプリを用いたデザイニングやエンジニアリングが行われています。
また、洪水などの災害に備えるためのシミュレーションアプリなども開発されています。
動画
ゲームやアプリの他に、UnityではVRの動画を作成することもできます。
VR動画の魅力は、360度見渡すだけでなく、高低や遠近の調整が自由にできる点です。
一般的な動画は撮影された位置からしか見ることができませんが、VR動画では好きな位置から好きな場所を確認することができます。
例えば「家を建てたい」と思ったとき、写真や図面を使って説明されるよりもVR動画の方が実際の明るさや広さがイメージしやすいですよね。
このような伝わりやすさの利点から、様々な場面でVR動画が活用されています。
|UnityでVR開発をするために必要なもの
前章では、Unityで開発可能なVRコンテンツについてお話しました。
続いてはそれらを開発するにあたって必要な機材やおすすめのキットをご紹介します。
PC
VR開発を行うにあたってまず必要となるのがPCです。
VRは特殊な映像であるため、それなりにスペックの高いPCが必要となります。
UnityでVR開発を行うときの推奨スペックは以下の通りです。
CPU(PCの脳) | Corei5以上、できればCorei7が好ましい。 |
GPU(グラフィックボード:画像処理用の脳) | GeForceなどのハイスペックなものが必要。 |
メモリ | 最低でも16GB、できれば32GBが好ましい。 |
ストレージ | HDDではなくSSDがよい。起動速度が全然違う。 |
必ずしも上記のスペックじゃないと開発ができないというわけではありませんが、負荷がかかって正常に作動しない可能性があるので注意が必要です。
正直よくわからない…と思った方は「VR対応」や「VR READY」と記載されたPCを選ぶと良いでしょう。
Unity
PCの準備ができたら、Unityをインストールしましょう。
まず、公式HPより自分のPCに合った「Unity Hub」をダウンロードします。
Unity HubとはUnityのバージョンやプロジェクトの管理などを行うアプリケーションです。
手順通りにUnity Hubをインストールし、Unityエディターのインストールをスキップして画面上部に表示されている「ライセンス管理」を選択します。
ライセンスの取得にはUnity IDが必要なので、持っていない方は手順に沿って作成してください。
サインイン後、「ライセンスを加える」をクリックして「無料のPersonalライセンスを取得」します。
そして、Unity Hubのホーム画面左のメニューから「インストール」を選択し、「エディターをインストール」より任意のバージョンのUnity(基本的には推奨バージョンと記載されているものでOK)をインストールしてください。
SDK
UnityでVR開発を行うにあたってSDKの使用は欠かせないでしょう。
SDK(Software Deveropment Kit)とはソフトウェア開発キットのことで、Webサービスやアプリ開発に必要なツールが一式入っています。
そのため、SDKを利用すればプログラミングの知識なくとも開発を行うことが可能であり、さらには開発にかかる時間や労力を大幅に削減することができます。
自分の目的に合ったSDKを組み合わせれば、様々な機能を追加しながら効率的に開発を行うことが可能となります。
UnityでVR開発を行うときにおすすめのSDKについては、後の章でご紹介させていただきます。
ヘッドマウントディスプレイ
Unityでは、シーン上に設置したカメラの映像をヘッドマウンティングディスプレイ(HMD)に直接レンダリングすることができます。
VRを快適に楽しむためには、PCのフレームレート(FR)とHMDのリフレッシュレート(RR)が一致している必要があり、FRがRRを下回ると画面酔いの原因となります。
HMDによってリフレッシュレートが異なるため、ここでは代表的なVRゴーグルとそのRRを紹介します。
Gear VR | 60Hz |
Oculus Rift | 90Hz |
Vive | 90Hz |
|Unityで使える、おすすめSDK4選
さて先ほどSDKについて少し触れましたが、ここではUnityでVRコンテンツを開発するときにおすすめのSDKを4つ紹介します。
XR Interaction Toolkit
まず初めに紹介するのは「XR Interaction Toolkit」です。
こちらはUnityが提供しているSDKで、Meta(Oculus) QuestやWindows Mixed Realityをはじめとする様々なVRデバイスに対応しているのが特徴です。
XR Interaction Toolkitを使えば、コントローラーの入力やオブジェクトのグラブやホバー、移動などのVR開発に必要なインタラクションを最低限実装することが可能です。
ただし、多様なデバイスに対応しており便利である一方で、デバイス特有の機能が使えないといったデメリットもあります。
そのため、幅広いプラットフォームに対応したコンテンツを開発したいのか、特定のデバイスで開発したいのかでSDKを使い分けるとよいのではないでしょうか。
Oculus Integration
続いて紹介するのは「Oculus Integration」です。
こちらはMeta(Oculus)シリーズのヘッドセット向けのSDKで、VRの基本的なインタラクションを実装することができます。
またOculus Integrationでは、摘まむと掴むを認識する詳細な「Hand Grab設定」や映像内の平面に直接タッチする「Poke Interaction」などを導入することが可能で、より自然なVRインタラクションを実現できます。
MetaのVRゴーグルはPC接続を必要としない「一体型」と言われるもので、コスパがよいために圧倒的シェアを誇っており、VR開発の入り口としてはもってこいかもしれませんね。
Mixed Reality Toolkit
3つ目に紹介するのはクロスプラットフォーム開発に特化した「Mixed Reality Toolkit(MRTK)」です。
MRTKはMicrosoftが提供するSDKで、Windows Mixed Reality HeadsetsやHoloLensシリーズの他に、AndroidおよびiOSデバイスなどもサポートしています。
こちらのSDKにはクロスプラットフォーム入力システムが備わっており、コントローラーやキーボードといった様々なデバイスからの入力割り当てを汎用的に行うことが可能です。
入力デバイスごとにボタンを割り当てる手間が省けるため、クロスプラットフォーム対応のコンテンツ開発を容易に行うことができます。
VRChat SDK
最後に紹介するのは「VRChat SDK」です。
こちらはソーシャルVRアプリである「VRChat」向けのコンテンツが開発できるSDKで、VRChat公式HPからダウンロードすることができます。
VRChat SDKには「VRChat SDK2」と「VRChat SDK3」の2種類があり、両者はアニメーションシステムや扱いやすさが異なるのですが、2022年よりVRChat公式がVRChat SDK3の使用を推奨しています。
ただし、VRChat SDK3を利用する際はUnityのバージョンに注意が必要です。
指定されていないバージョンではアバターのアップロードなどが正常に行えないので、VRChat公式HPにて確認するようにしてください。
|まとめ
本記事ではUnityを使ってVR開発をしてみたい方に向けて、必要なものやおすすめしたいSDKについてご紹介しました。
開発する際のイメージを少しでも持っていただけたでしょうか?
現在では、VR開発について学習できるプログラムやSDKの使い方を紹介したWebサイトが多く普及しています。
本記事でVR開発により興味が湧いたという方は、ぜひそういった学習ツールも活用してみてくださいね。