【メモ】Unityで作ったゲームをスマホVRに対応させる方法


UnityでスマホVRアプリを作る方法

どうも、Linです。飴を打ちたいですね。

 

Unityでゲームアプリを作成したら、

スマホVR対応のゲームにしたい

と思うのが世の常ではないでしょうか??

 

何を隠そう、ぼくもつい先ほど、Unityで超原始版のゲームアプリを作成できたので、今度はこいつを、

スマホVRに対応させてみました。

 

スマホVRへの対応のさせ方はいたって簡単で、

VR用のカメラを導入して、

ジャイロ対応のスクリプトを、

カメラにアタッチするだけ。

ちょっと、自分でも説明していて訳が分からなくなったので、

今日は、そのスマホVRへ対応させるやり方を忘れないうちにメモしておきます。

よかったら参考にしてください。

 

 

UnityのゲームにスマホVRを導入する方法8つのステップ

早速整理していきましょう。

Unityで作ったゲームをスマホVR化したい時は次の8ステップを踏んでみてください。

 

Step1. 「Dive SDK」をダウンロードする

まずはVR用のカメラをダウンロードします。

DuviousというVRのヘッドセットを販売している会社のページからダウンロードできるようです。

ページ内の「Dive Unity Plugin Package 2.1.5 for Android/ IOS」をクリックして保存してみましょう。

 

スマホVR unity

 

 

 Step2. 「 Dive Unity Plugin Package 」をProjectフォルダへ

次は、先ほどダウンロードした「 Dive Unity Plugin Package 」をProject配下に放り込みます。

うまい感じにドラック&ドロップしてあげましょう。

 

スマホVR unity

 

ドラッグ&ドロップに成功したら、次のようにインポート画面になります。

とりあえず、一旦全てのファイルをインポートしておきましょう。

 

スマホVR unity

 

API Update Required

というエラーが出てくるかもしれませんが、ここは強気に「I Made a Backup. Go ahead!」を選択しましょう。

スマホVR unity

 

Step3. 「Hierarchy」に「Dive_Camera」のプレハブをぶち込む

続いては、先ほどダウンロードしたDiveカメラのフォルダから、

Dive_Camera

というプレハブのファイルを探します。

 

こいつをHierarchyにぶち込むのです。

ドラッグ&ドロップ!

 

スマホVR unity

 

どこに「Dive_Camera」をぶち込むかは個人の自由ですが、あるプレイヤーの目の位置に設置したい場合は、そのプレイヤーの子要素の位置にいれます。

ぼくの場合、「Player」の目線にしたかったので、「Dive_Camera」を「Player」の子要素にしました。

 

そして、キャラクターの目線に合うように、Dive_Cameraのtransformのy軸の値を調整して完了です。

 

スマホVR unity

 

すると、ゲームビューには次のように2分割されたプレイヤー目線の映像が映し出されているではありませんか。

 

スマホVR unity

 

 

Step4. 「Main Camera」を消す

続いては、今まで照らしてくれていたカメラを消してしまいましょう。

UnityのデフォルトではMain Cameraだと思うので、そいつをHierachyから削除。

ぼくの場合、プレイヤーに追従する「FreeLookCameraRig」を使っていたので、こいつを削除しました。

 

スマホVR unity

 

 

Step5. 「Dive_Camera」にジャイロスクリプトをアタッチ

がしかし、このままではスマホをいくら振ったところで、Dive_Cameraは動いてくれません。

そこで、スマホのジャイロセンサーの挙動によってカメラが動くように設定します。

 

まず、新規C#のスクリプトで「GyroScript.cs」をProjectに作成します。

そのファイルを次のように編集します。

 

 

この中身はぼくにはむずすぎて、こういうものだ・・・としか思うしかないですねw

 

このCSファイルを「Dive_Camera」にアタッチします。

 

スマホVR unity

 

 

Step6. 「Dive_Camera」の「Dive Mouse Look」のチェック外す

次は「Dive_Camera」にアタッチされている「Dive Mouse Look」というスクリプトを無効化します。

チェックを外せばいいですね。

スマホVR unity

このスクリプトは、マウスの動きによって視線が変わるようにするもの。

こいつが有効だとスマホのジャイロセンサーによってカメラの視線が動かない訳です。

 

Step7.スマホをPCにケーブルで接続

準備が整ったので、お手持ちのスマホを接続ケーブルでPCに接続です。

ぼくの場合、アンドロイドなので、アンドロイド用のケーブルで繋げました。

 

 

Step8. スマホで「Unity Remote」を起動

次はケーブルで繋いでスマホで「Unity Remote」を起動します。

まだインストールしてない方はしちゃいましょう。

 

Unity Remote 5

Unity Remote 5

起動すると、こんな画面になります。

 

スマホVR unity

 

 Step9. デバイスの設定

続いては、再生デバイスの設定です。

Edit>Project Settings > Editorと進んでみましょう。

 

スマホVR unity

 

Deviceの部分を選択して変更しましょう。

自分が使うデバイスを選択すればオッケーです。

ぼくの場合、「Any Android Device」ですね。

 

スマホVR unity

 

Step10. プラットフォームの設定

さて、いよいよ再生プラットフォームの設定。

FileからBuilding Settingsと進んでください。

 

スマホVR unity

 

すると、下のような画面になると思うので、Platformから自分がゲームを再生したいプラットフォームを選択して、左下の「Switch Platform」を選択しましょう。

 

スマホVR unity

 

これで準備完了です!

 

ゲームを再生すると、次のように2分割されたゲーム映像が映し出されるはずです。

スマホVR unity

あとはお手持ちの簡易VRヘッドセットをかぶり、VRの世界を体験してみましょう。

 

 

UnityでスマホVR:カメラの設定とジャイロスクリプトをアタッチするだけ!

以上で、UnityでスマホVRを設定する方法でした。

  1. Dive Cameraダウンロード
  2. プロジェクトに入れる
  3. ヒエラルキーに入れる
  4. メインカメラ消す
  5. ジャイロスクリプトをアタッチ
  6. マウスコントローラー外す
  7. スマホ繋げる
  8. Unity Remote起動
  9. デバイス設定
  10. プラットフォーム設定

の10ステップで実現できましたね!

 

やってることはとてつもなくシンプルで、

VR用のカメラをダウンロードして、ジャイロ用のスクリプトをアタッチするだけ

です。

Unity初心者のぼくにもできたので、ぜひUnityでゲームを作ってみた方は試してみてくださいね。

 

どうしてもVRに対応させられない・・・!フザケンナ!!!

とキレ気味の方にはエンジニア専門のQAサイト「teratail」がおすすめです。

質問に答えてくれるのがプロのエンジニアの方ばかりなので、プログラミング関連の問題はここで解決できちゃいます。

よかったら試してみてくださいね。

 

それでは

Lin


コメントはこちらからお願いします!



もう1本読んでみる