Complete Virtual Reality and Augmented Reality Development with Unity

3章: VR Build and Run



Enabling Virtual Reality for your platform

p.75 の表をみると、iOS では VR SDK に "Cardboard" を、Unity Package に "Google VR SDK for Unity" を使うことになりそうだ。

教科書にしたがう

まずは本の記述 p.74 - 77 にしたがい、iOS用の設定を試みる。

  1. Unity2019.3.0f1 で新しい 3d プロジェクトを開始する。
  2. target platform を設定する。
  3. UnityのProjectで File → Build Settings... → iOS &raa; Switch Platform

  4. "Virtual Reality Supported" を Enable する。
    1. Edit → Project Settings → Player → XR Settings → "Virtual Reality Supported" checkbox にチェックを入れる。
    2. Virtual Reality SDKs に "Cardboard" を "+" する。
    3. VR SDKによっては Unity の "Play" を押すと Game 画面で VR の表示が見えるものもあるそうだ。Cardboard ではUnityのGame画面でのVR表示は無理のようだ。
  5. Asset Storeで "Google VR SDK for Unity"を導入する。
  6. 前の操作で Cardboard を選択したとき、Project/Packages/"Google VR iOS" が導入されているようだ。 が、本の記述にしたがってAsset Store からtoolkitをimport してみる。

    Asset Store で "Google VR SDK for Unity", "Google VR" などをsearchしたが、存在していないようだ。

    github から導入してみる。


Google VR SDK for Unity を githubの記述にしたがって導入してみる (2019.12.15)

  1. Google VR SDK for Unityを github からzipとしてdownloadする。
  2. https://github.com/googlevr/gvr-unity-sdk/
  3. "Google VR SDK for Unity" に詳しくない場合は、まずiOS 用の説明を読んでおく。
  4. Get Started with Google VR in Unity on iOS https://developers.google.com/vr/develop/unity/get-started-ios

Google VR: for iOS

2019/12/15 edited

ここの内容は次の情報に基づく。

Get Started with Google VR in Unity on iOS https://developers.google.com/vr/develop/unity/get-started-ios

  1. 開発環境を設定する
  2.     iPhone 5 以降 (iOS8.0 以降)
        Cardboard viewer が必要 https://arvr.google.com/cardboard/get-cardboard/
        Unity2018.4 以降推奨 (最低限 5.6) ... "iOS Build Support" を選択しておくこと。
    
  3. Google VR SDK for Unityをdownloadする。
  4. Release page から最新版の GoogleVRForUnity_*.unitypackage をダウンロードする (2019/12/15現在 GoogleVRForUnity_1.200.1.unitypackage)。 このSDKはCardboard 用のデモ・シーン HelloVR を含んでいる。

    https://developers.google.com/vr/develop/unity/get-started-ios

  5. 新しいUnity Project (今回は GVRiOS) を作って、Google VR Unity package を import する。
  6. Assets → import Package → Custom Package → 全てが選択されているのを確認して → Import
  7. Build Settings および Player Settings を設定する
  8. デモのシーンを選ぶ。
  9. Assets → GoogleVR → Demos → Scences → HelloVR
  10. Build Settings
  11. iOS を選択して "switch platform"。 "Scences in Build" に "Add Open Scenes" して HelloVR シーンを追加する。
  12. Player Settings
  13.   XR Settings (昔は Other Settingsにあったらしい)
        Virtual Reality Supoprted    ... Enable
        Virtual Reality SDKs         ... Cardboard
      Other Settings
        Target minimum iOS Version   ... 10.0 (デフォルトのまま。Webの記述では 8.0より上)
        Bundle Identifier            ... jp.tsuda.nitta
    
  14. Build Settings ... → Build
  15. フォルダ を(プロジェクトの外を)指定して、Xcode用のソースを生成する。 あとは Xcode でコンパイルして、実機で走らせる。
  16. iOS実機
  17. unity2019.3.0f1 が生成した Xcode 用プロジェクトは、Linker Errorで実機では動かすことができなかった。

    Apple Mach-O Linker (ld) Error
      Linker command failed with exit code 1 (use -v to see invocation)
    
    unity2019.3.0f3 が生成した Xcode 用プロジェクトでも同様に駄目。

    [解決] XcodeのProjectの*.xcodeproj を開いていたため。 *.wcworkspace を開けば、コンパイルが成功して、iOS実機(iPhone5s, iOS12)で動いた。

  18. Unityにおける preview
  19. ARへの応用
  20. このままでは難しそう。 Aryzon とか HoloKit が有料で対応しているようだが。


Yoshihisa Nitta

http://nw.tsuda.ac.jp/