VR日記その19 -XR Plugin ManagementとXR Interaction Tool Kitを使ってみる

「今だから聞きたい 『一番新しい xRアプリの作り方』 2020年 最新版」というスライドが紹介されていたので見てみた。

基礎的な事項が紹介されていたが、XR Plugin Management を使った環境構築をしたことが無かったので試しにやってみた。(今まで使っていたのは Oculus Integration。)

①インポートと設定

Package Managerよりインポートを行う。XR Plugin Managementがビルド設定をスムーズに行うためのもので、XR Interaction Tool KitがコントローラなどのVR空間での操作をしやすくするもの…だと思う。

画像1

設定はスライドのp9~10の通りに行った。

Project Settingsを開き、PlayerよりMinimum API Levelを6.0に設定、XR Plug-in ManagementからOculusにチェックを入れた。(OculusQuestを使用しているため)

ビルド設定

OculusにはMultiPassを選択し、V2 Signinfgにチェックを入れた。

画像3

試しにBuildをしてみて成功することを確認し、中身の設定に取り掛かった。スライドの22の通り、カメラをVR用に変更した。

その後コントローラを準備する…と思ったが手やコントローラのモデルが無かったので、スライド35にあるXR Interaction Toolkit Examplesを流用することにした。

https://github.com/Unity-Technologies/XR-Interaction-Toolkit-Examples

サンプルシーンで設定の仕方を確認し、次いでにコントローラのプレハブを拝借をしてプロジェクトを作成していった。

②作ったもの

VRで神経衰弱(マッチングゲーム)したらどうなるんだろうとふと思ったので作ってみることに。まだ未完だが、こんな感じの物を。

箱と中のオブジェくとで1つのセットとした。箱にはアニメーションを設定し、開くようにした。さらにXR Sinple Interactableスクリプトを設定し、クリックするとオブジェクトに設定されたスクリプトが動くようにした。

画像4

ついでに効果音をだすAudioSourceも箱に設定している。

オブジェクトの方に設定されたスクリプトでは、動作した時に自分の色と形(個別に設定)、そして自分と同じプレハブ内にある箱をGameManagerに渡すようにした。

画像5

スクリプト全体はこんな感じ。

画像6

GameManagerではマッチングの判定やスコア管理を行っている。先のながれで呼び出された関数はマッチング判定を行っている。最初の1回目は値を保持するだけ、2回目で一致orしないで処理を行っている。

画像7

正しいと効果音を再生する。(動画にはないがパーティクルも再生するようにした。)

画像8

間違っていると状態をリセットする。

画像9

大雑把にはこんな感じで出来ている。

現在は配置をランダムにするのと、種類や数をもっと増やすことを検討している。今の方法だと出現するオブジェクトをランダムにするのが大変(13種類なら13種のプレハブを用意する必要がある。トランプの通りにすると52種を用意する必要があり面倒)のでどうしようか検討中。

この記事が気に入ったらサポートをしてみませんか?