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

Sponsored Link

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


Sponsored Link

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



もう1本読んでみる