LoginSignup
1
2

GoogleCardboard for Unityのサンプルプロジェクトを実機で実行するまで

Last updated at Posted at 2023-09-05

スマホVRゲームを作りたい!

きっかけは1000円ぐらいのスマホ用VRゴーグルを買ったことでした。
最初は360度動画をYoutubeで見て楽しんでいましたが、それでは満足できず、ゲームをしてみようとPlayストアを開いて検索をかけてみると...... リモコン必須のゲームが多すぎる!
視線操作のみで遊べるゲームはごく少数で、しかもその中で面白いゲームを探し出す必要があります。

そんな作業をするぐらいなら、自分で最高のVRゲームを作ってしまいましょう。

手順

この記事はほとんどがGoogle公式のガイドに沿って作られています。
できるだけわかりやすく書くつもりですが、よくわかんないときは公式の情報を見ながら実行するとうまくいくかもしれません。

環境:
Windows11 Home Edition
Unity Hub 3.5.0
Unity 2021.3.4f1

本環境では、UnityのUIを日本語化しています。
UIが英語の場合は公式のガイドを参考に実行してください。

1.新規プロジェクトの作成

普通にUnityHubから新規プロジェクトを作成してください。
ただしこの時、プロジェクト名に全角文字を使わないでください。
使った場合、ビルド時にエラーが出てapkファイルを作成できなくなります。
New.png

2.Google Cardboard XRプラグインの導入

メニューからパッケージマネージャーを開き、
packagemanager.png
左上にある「+」ボタンを押し、「GIT URLからパッケージを加える」をクリックします。
giturl1.png
出てきたリンクを入力する欄に

リンク
https://github.com/googlevr/cardboard-xr-plugin.git

と入力し、「追加」をクリック。
giturl2.png
下の画像のように「Google Cardboard XR Plugin for Unity」がパッケージに追加されたことを確認します。
samplepush.png
次は、「サンプル」をクリックし、出てきた「Hello Cardboard」というサンプルプロジェクトをインポートするため、「インポート」をクリックしてください。
sampleopen.png
自動でシーンが遷移し、HelloCardboard.sceneが開かれた状態になります。
(ならなかった場合、
Assets/Samples/Google Cardboard/(パッケージのバージョン)/Hello Cardboard/Scenes
を開き、その中にあるHelloCardboardを開いてください。)
Sceneopen.png
次は、レイヤーを追加します。「Treasure」というオブジェクトを左のヒエラルキーから選択し、レイヤーの欄をクリックし、「レイヤーを追加」を押します。
addlayer.png
下のような画面になると思うので、画像の青色の部分のように「Interactive」をレイヤー6に追加します。
addlayerinteractive.png
追加出来たらもう一度ヒエラルキーから「Treasure」を選択し、レイヤーの欄をクリックし出てきたメニューから「6:Interactive」を選択します。
completeaddlayer.png
「すべての子オブジェクトに対してもレイヤーをInteractiveに設定しますか?」と聞いてくるので、「はい、子を変更します」を選択します。
childchangeOK.png
次に、左のヒエラルキーの「Player」オブジェクトの子の「MainCamera」の子の「CardboardReticlePoint」を選択し、「Cardboard Reticle Pointer(スクリプト)」というコンポーネントの「Reticle Interaction Layer Mask」の欄をクリックし、
changelayer.png
「Interactive」を選択します。
pointerlayerchange.png

3.ビルド設定

上のメニューの「ファイル」→「ビルド設定」の順にクリックし、ビルド設定を開きます。
まず初めに、今回作るのはAndroid向けアプリなので、ターゲットプラットフォームを変更します。
changetarget1.png
左側の欄から「Android」を選択し青くなったら、右下の「ターゲットの切り替え」を押します。
changetarget2.png
画像のように、UnityのマークがAndroidの欄に移動します。
できたら、上側の「シーンの追加」ボタンを押して、ビルド時にHelloCardboard.sceneを含むように設定しておきましょう。
addscene.png

4.プロジェクトの設定

ビルド設定のウィンドウの左下にある「プレイヤー設定」を押し、プロジェクトの設定をしていきます。
まず「解像度と表示」をクリックします。すると、たくさん設定項目が出てきます。
最初の方に「最適化されたフレームペーシング」という項目があるので、チェックを外しておきましょう。
Desabledframepacing.png
次に、下の方にスクロールすると、「デフォルトの向き」と書かれた欄があります。デフォルトでは「縦向き」となっていますが、「横向き(左)」か「横向き(右)」を選択しておきましょう。
defaultrotate.png
これで「解像度と表示」の設定は終了です。もう一度「解像度と表示」をクリックし、閉じておきましょう。
次に、「その他の設定」をクリックします。
最初の方にある、「自動グラフィックスAPI」のチェックを外し、表示された欄が画像のようになっているか
確認します。
AutographicsAPI Disabled.png
ちょっと下の方に「Vulkan設定」があるので、「レンダリング中に表示の回転を適用」のチェックを外します。
Vulcanrotatesettings.png
次に、テクスチャ圧縮形式を変更します。「テクスチャ圧縮形式」の欄をクリックし、「ETC2」を選択してください。
textureassyuku.png
次に、どのようなAndroidデバイスを対象とするか設定します。
「最低APIレベル」を「Android 7.0 'Nougat' (API level 24)」以上、
「ターゲットAPIレベル」を「API level 31」以上で選択します。

↓最低APIレベル
minimumAPILevel.png

↓ターゲットAPIレベル
targetAPILevel.png

さらに下にスクロールし、「スクリプティングバックエンド」を「IL2CPP」に変更。
scriptingbackend.png

その下にある「ターゲットアーキテクチャ」で画像の通り「ARMv7」、「ARM64」を選択します。
targetarchtitectures.png

次に、その下の「インターネットアクセス」を必須に変更します。
Internetacsess.png
これで「その他の設定」の設定は完了です。
次に、「公開設定」の項目をクリックします。
そして、「ビルド」の項目の「カスタムメインGradleテンプレート」と「カスタムGradleプロパティテンプレート」にチェックを入れます。
custommainGladletemplate.png
これでプロジェクトの設定は完了です。

5.ファイル内容の書き換え

UnityHubを開き、先ほど作成したプロジェクトの項目の右側にある三つ点が並んでるやつを押し、「エクスプローラーで表示」をクリックします。
UnityhubExplorer.png
エクスプローラーが開いたら、そのディレクトリにある自分のプロジェクトのフォルダを開き、「Assets」→「Plugins」→「Android」の順に開きます。
設定がしっかりできていれば、画像のようなファイルが並んでいるはずです。
explorergladletemplate.png
まず最初は、「mainTemplate.gradle」を開き、下の画像のように「dependencies{}」のところにコードを追記します。

追記するコード
implementation 'androidx.appcompat:appcompat:1.4.2'
implementation 'com.google.android.gms:play-services-vision:20.1.3'
implementation 'com.google.android.material:material:1.6.1'
implementation 'com.google.protobuf:protobuf-javalite:3.19.4'

add to maintemplate.png
編集できたら保存して、次は「gradleTemplate.properties」を開きます。
開いたら、以下の内容を画像のようにファイル末尾に追記します。

追記するコード
android.enableJetifier=true
android.useAndroidX=true

add to gradleTemplateproperties.png

6.XR Plug-in Managementの設定

最後の手順です。Unityに戻り、メニューから「編集」→「プロジェクト設定」を開き、一番下にある「XR Plug-in Management」を選択します。
そして、画像のように「Cardboard XR Plugin」にチェックを入れます。
XR plugin Management.png

7.ビルド

これですべての手順が完了しました。あとはビルドをして実機でテストするだけです。
何も問題がなければ、エラーなしでビルドを完了できるはずです。

↓実際に実機で動作させている画像
Screenshot_20230905_220129.jpg

ちなみに自分はプロジェクト名を全角にしていたためエラーが出ました。
そしてそれに気づかずいろいろ書き換えまくって結局元に戻せなくなり、最初からやり直しました(泣)

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2