(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

(:3[kanのメモ帳]



縦笛なめなめVRをSteamVR用からOculus Quest用に移植した話と、Side Questに公開出来なかった話【Unity】【VR】【SideQuest】【Oculus Quest2】


このエントリーをはてなブックマークに追加


はじめに

以前、SteamVR用(パソコンVR用)に「縦笛なめなめVR」というゲームをリリースしたのですが、



これをOculus Quest及びQuest2で遊べるように移植作業を行い、itch.ioで公開しました!

(ただいま2020年ハロウィンセールで11%Offセール中!)



今回はその移植作業が具体的にどういうものだったのかという話と、

本当は公開する予定だったSideQuestになぜ公開出来なかったのか、という記事です!


SteamVR用からOculus Quest用に移植した話

移植は「Oculus Questで動くようにする」という作業をするのはもちろんなのですが、

Oculus QuestはVRゲームが満足に遊べるパソコンより基本スペックが低いので、

「ゲームを軽くする」という作業も必要になります。


Oculus Questで動くようにする

まずOculus QuestはAndroidで動いているのUnityのPlatformをAndroidに切り替えます。

f:id:kan_kikuchi:20201029070236j:plain


次にSteam関連の機能を無効化したり、代替の機能に変更します。

具体的には言語の初期設定方法やランキングや実績の実装の変更等です。


さらにOculus IntegrationというOculus公式から出ている無料のアセットをインストール。

これは楽にOculusデバイス周りの実装が出来るというモノで、カメラや入力周りの実装を修正します。

Oculus Integration | Integration | Unity Asset Store


また、ワープ移動を実装していたので、それもOculus Quest用に修正しました。

なお、先程導入したOculus Integrationを使ってワープ機能を実装する事も可能なのですが、

いまいち使い勝手が良くなかったので、結局自前で実装しました。



最後に見た目が結構違っていたので、ライティングやマテリアルの調整もしました。


ゲームを軽くする

ここからはゲームを軽くする話です。

修正前はOculus QuestでFPSが30ぐらいでしたが、60前後で安定するまで修正しました。


まず固定中心窩レンダリングを使って負荷を削減しました。名前は難しそうですが

「画面の端の解像度を下げて負荷削減しよう!端ならバレないはず!」みたいな感じの物で、

実装もOculus Integrationを追加後、コードを1行加えるだけでOK。

//(OVRManager.TiledMultiResLevelには他にもOff, LMSLow, LMSMediumがある)
OVRManager.tiledMultiResLevel = OVRManager.TiledMultiResLevel.LMSHigh;


次にPost Processing Stackを無効にしました。

これは見栄えを簡単かつ劇的に変えられる物なのですが、結構重くて

最初は一部の機能だけを無効にしたり、調整したりしてましたが、

それではダメそうだったので最終的には全て無効にしました。

f:id:kan_kikuchi:20200207105136g:plain


また、UIを常に前面に表示するためにUI用のカメラを使っていましたが、

カメラが複数あると当然負荷も増すので、Quest版ではなくなくカメラを一つにしました。

f:id:kan_kikuchi:20200705064100g:plain


縦笛なめなめVRには手鏡のオブジェクトがあるのですが、

これも鏡用のカメラを使っていてそれなりに重いので、Quest版ではなくなく反射しないようにしました。





移植時間

ちなみに移植にかかった時間(動作確認やストアの申請含む)は53時間弱でした。(Toggleで計測)

f:id:kan_kikuchi:20201027065200j:plain


ワープの実装変更や見栄えの調整に思ったより時間はかかりましたが

元から重くならないように意識して作っていたためか意外と時間はかかりませんでした。


Side Questに公開出来なかった話

そもそもSide Questとはなんぞやという話からなんですが、

OculusQuestやQuest2等向けのVRアプリを公開できる非公式アプリストアの事です。



なぜわざわざ非公式のストアに公開しようとするのかと言うと、

あの狼と香辛料のVRゲーム(公式)を落とすぐらい、公式の審査が異常に厳しいからです。



一応公式の方に審査なしで出せるようにもなるらしいのですが、

ストア画面に載らない(URLを直接知らないと飛べない)上に消される可能性もあるらしいので、

ほぼ出す意味は無いと思います。



なお、非公式と言っても、あのパルマー・ラッキー氏が出資してるぐらい

Oculus Quest界隈(?)ではかなりメジャーなサイトではあります。

Oculus Quest(オキュラス クエスト)向けのサイドローディング(※)アプリ「SideQuest」の開発元が、シードラウンドで65万ドル(約6,800万円)を資金調達しました。出資者には、Oculusの創業者のパルマー・ラッキー氏も含まれます(同氏は2017年にFacebookを退職済)


ちなみに申請方法は以前記事にしました。



そしてやっと本題の「SideQuestになぜ公開出来なかったのか」という話なのですが、

ざっくり言うとアダルトな作品だからダメという感じでした。

(SideQuest自体が13歳以上が対象なので13歳でも見て良い物じゃないとダメらしい)


そして、そのアダルトであるという根拠は以下の通り。

「SteamでHentaiというタグが付いている」
「Steamで軽微なアダルトコンテンツと表示されている」
「スクショにスカートを履いたキャラがいる(パンツが見えるのがダメっぽい)

確かにストアをパッと見る限り、こういうキャラが出ているゲームはなく

アダルト要素は徹底的に排除したいようなので、リリースは諦めました。


ちなみにSteamのように

「ゲーム自体にアダルト設定をして年齢確認を設けたり注意したりする」という事も出来ないようです。


ただ、明らかに著作権的にアウトな物やクオリティが低い物がリリースされているので、

審査自体が厳しいわけじゃないっぽいです。


余談ですが試しに再申請したり、ゲームの設定を新たに作り直して申請してみたりしましたが、

申請結果すら返ってきませんでした。(iOSだとレビュワーが変わって結果も変わったりするので)


なお、審査時に実際にゲームをプレイしてるわけではなさそうなので、

アカウントを作り直す+アプリ名を変えた後、Steamへのリンクを外したり、

スクショを調整すれば申請が通る気がしますが、さすがにそこまではやりませんでした。