はじめに
VRHoopsはOculus公式のサンプルVRアプリで、バスケ風の動くゴールにボールを入れて点数勝負をするというゲームです。
Sample Appsに軽く説明がありますが、P2Pで他のユーザとマッチング(Matchmaking)できて、オンライン対戦できます。
さらにOculusプラットフォームの機能である、Leadersboards(ランキング)やAchievements(トロフィー)も実装しています。
基本的にはREADME通りに動くのですが、ちょこちょこはまったのでチュートリアル形式でまとめておきます。
手順
前提
UnityとAndroid SDKはインストール済み。
1. Oculus Platform SDKをダウンロード
Oculus Platform SDK | Developer Center | Oculusからダウンロードします。
解凍して /OVRPlatformSDK_vX.XX.X/Samples/Unity/VrHoops
を適当なフォルダにコピーします。
2. Unityで開きます
Unityで /OVRPlatformSDK_vX.XX.X/Samples/Unity/VrHoops
を開きます。
3. OculusPlatform SDKをインポート
[Assets] > [Import Package] > [Custom Package]から /OVRPlatformSDK_vX.XX.X/Unity/OculusPlatform.unitypackage
をインポートします。
4. Androidプラットフォームに切り替え
[File] > [Build Settings]を開き、[Android]を選択し、[Switch Platform]をクリックします。
右側の設定はスクリーンショットのようにしてください。
5. Player Settingsを変更
先程の[Switch Platform]ボタンの右の[Player Settings]をクリックします。
[Resolution and Presentation] > [Orientation] > [Default Orientation]を Landscape Left
に設定
[Other Settings]の以下3箇所を修正します。
- [Minimum API Level]:
Android 5.0 'Lollipop' (API Level 21)
- Install Location:
Automcatic
[Publishing Settings]の[Create a new keystore]にチェック。
以降の手順はUnityでGoogle Play公開用のAPKをビルドする方法を参考にしてください。(キャプチャ取り直すのが面倒なので^^;)
6. Oculus Developer Dashboardでアプリを作成
-
Oculus Developer Dashboardを開き、[新しいアプリを作成]をクリック。
- プラットフォームを選択で
Mobile
を選択。 - 適当なアプリ名(VRHoopsなど)をつけて保存。
- アプリIDをコピーします。(後から確認するときは[Manage]>[団体名]>[アプリ名]>[APIについて]から確認できます。)
7. UnityにOculus Platformの設定
Unityに戻り、メニューから[Oculus Platform] > [Edit Settings]を開きます。
[Gear VR App Id]に先程コピーしたアプリIDをペースト。
[Unity Editor Settings]の[Test User Email]/[Test User Password]にOculusアカウントを入力し[Login]ボタンをクリック。
※Facebookでログインしていてパスワードを設定していない方は、マイプロフィールからパスワードを設定してください。
8. Matchmakingの設定
- Oculus Dashboardで[Manage]>[団体名]>[設定]>[アプリグループ]>[アプリ名(App Grouping)]>[ルームとマッチメイク]を開く。
- [プールを作成]をクリック。
- 以下を入力。
- プールキー:
NORMAL_QUICKMATCH
- モード:
Quickmatch
- 最小ユーザー数: 2, 最大ユーザー数: 3
- スキルプール: なし
- 応答時間を考慮しますか?: いいえ
- [保存して展開] をクリック。
※詳細はVRHoopsフォルダ内のREADMEを見てください。
9. Leaderboardsの設定
VRHoopsではLeaderboards機能でプレイヤーのスコアをランキングします。勝利数ランキングとハイスコアランキングです。
- Oculus Dashboardで[Manage]>[団体名]>[設定]>[アプリグループ]>[アプリ名(App Grouping)]>[リーダーボード]を開く。
- [リーダーボードを作成]をクリックし、以下のように入力して作成します。
- API名:
MOST_MATCHES_WON
- 並び順: 数値が大きいほど良い
- もう一つ作成します。
- API名:
HIGHEST_MATCH_SCORE
- 並び順: 数値が大きいほど良い
10. Achievementsの設定
10賞するとトロフィーを上げるように設定します。
- Oculus Dashboardで[Manage]>[団体名]>[設定]>[アプリグループ]>[アプリ名(App Grouping)]>[アチーブメント]を開く。
- [アチーブメントを作成]をクリックし、以下のように入力して作成します。
- API名:
LIKES_TO_WIN
- タイトル: 10勝達成
- 説明: 10勝するとゲットできるよ。
- 書き込みポリシー: Client Authoritative
- アチーブメントを非表示にしますか?: チェックしない
- タイプ: カウント
- ターゲット: 10
11. apkファイルをビルド
Unityで[File] > [Build Settings]を開き、[Build]ボタンをクリックし、apkファイルを作成します。
12. Oculus Dashboardでapkファイルをアップロード
Oculus Developer Dashboardで、[Manage]>[団体名]>[アプリ名]>[ビルドを管理]から[ビルドをアップロード]をクリック。
ALPHAチャンネルの[・・・] > [新しいバイナリをALPHAにアップロード]をクリック。
[ファイルを選択]で先ほど作成したapkファイルを選択。
13. テストユーザを追加
Oculus Developer Dashboardで、[Manage]>[団体名]>[アプリ名]>[ビルドを管理]からALPHAチャンネルのユーザの追加ボタンをクリック。
自分やテストしてほしい他のユーザのOculusアカウントのメールアドレスを追加。
招待メールが届くので承認します。
14. Oculus Go実機にインストール
ここまでの手順を踏むと、Oculus Go実機で[検索]で「VRHoops」(Dashboardで付けた名前)と検索すると、VRHoopsアプリが見つかりますので、ダウンロードします。
インストールされると通常通りマイアプリに追加されますので、起動できるようになります。
招待したテストユーザにも同じ手順でインストールしてもらいましょう。
15. 動く
※VRHoopsはOculus Go用のアプリではないので、普通のOculus Goアプリと違って視線でポインター操作をします。
[Practice]をクリック?すると一人でゲームができます。
16. Oculus Platform SDKの機能を試す
Matchmaking、Leaderboards、Achievementsの機能を試すには、もう一台Oculus Goが必要です。
二人とも[Play Online]をクリック?するとMatchmakingの機能で二人で一緒にプレイできます。
以下のようにLeaderboardsもちゃんと機能してランキングが表示されています。
Achievementsは10勝しないと取れないので(設定変えればいいんですが)、試してませんがきっと動くでしょう。
終わりに
特にコード解説はしませんが、VRHoopsはこの辺のOculus Platform SDKの機能を実装するにはいいサンプルだと思います。
コピペテックという取り組みはじめました。いくつかOculus Goチュートリアルを書いているのでよかったらご覧ください。