はじめに
Unity Technologiesさんから配布されているCreator Kit: Puzzleという無料アセットをOculusQuestで動かしてみます。
[Creator Kit: Puzzle]
(https://assetstore.unity.com/packages/templates/tutorials/creator-kit-puzzle-149311)
アセットのページです。
[Creator Kit: Puzzleチュートリアル]
(https://learn.unity.com/project/creator-kit-puzzle)
チュートリアルです。
いくつかあるシーンのうちlevel3を動かせるようにしました。
今回作成したソースコードをGitHubに置いています。また、とりあえず動かしてみたい人向けにapkファイルも置いています。
#開発環境
Unity 2019.2.4f1
Creator Kit: Puzzle - 1.1
Oculus Integration for Unity - 1.40
VrGrabber-v0.0.3 (hecomi氏作)
#ビルド手順
- GitHubのCreatorKitPuzzle からcloneでファイルをローカルに持ってきます。
- 持ってきたファイルを指定してUnityでプロジェクトを開きます。
- Build Settings から Platform を Android に Switch Platformします。
- Oculus Integrationをアセットストアからダウンロードし、インポートします。
- Creator Kit: Puzzleをアセットストアからダウンロードし、インポートします。インポートする際、すべてインポートしてしまうとプロジェクトの設定が上書きされてしまうため、ProjectSettingsのチェックを外します。
- オブジェクトをつかむためのアセットVrGrabberをVrGrabber からダウンロードし、インポートします。自分がダウンロードしたファイルは"VrGrabber-v0.0.3.unitypackage"ですが、数字の部分はバージョンにより変わります。
- OculusQuest向けに変更したシーンLevel03Modifyを開きます。
- OVRCameraRigのTarget DevicesをQuestに変更します。
- ビルドするシーンを選択し、Build Settings からビルドします。
#操作方法
・左側コントローラー
スティック 前後移動、左右方向転換
Y 上移動
X 下移動
・右側コントローラー
スティック つかんだオブジェクトの操作
B UIの表示・非表示切り替え
A ハンマー、フリッパー等稼働するオブジェクトの操作
HandTrigger オブジェクトをつかむ
#制限事項
・掴めるオブジェクトは1個目のボールだけです。
・クリア後の結果表示の画面は表示されません。
・UIのRestartボタンは機能しません。
#GitHubに置いたソースコードについて
DebugUIBuilderHand.csは、Oculus Integrationに含まれているDebugUIBuilder.csをもとに改変したもののため、ライセンスはOculus Integrationに従います(Assets\Oculus\SampleFramework\license.txtをご確認ください)。
そのほかのソースコードはCC0としますので好きなようにご使用ください。
DebugUI.csは、デバッグ用の情報を表示するためのUIを構築するためのもので、DebugMover.csは、キャラクターを操作するためのものです。
#さいごに
本当はPuzzleのオブジェクトを自由に配置する部分までできるようにしてから記事を書こうと思っていたのですが、ちょっと時間がかかりそうなのでいったん今の段階で書くことにしました。
この部分は元のコードではエディター拡張機能を使用して実装されているのですが、VR空間内で実現するためにはランタイムでの処理が必要になるため、簡単にはいかなさそうです。
今はこの部分のソースコードを調査しつつ、どのようにしたら実現できそうか検討中です。
=>記事を追加しました。UnityのCreator Kit: PuzzleをVR空間内でPuzzleの配置ができるようにする