ブログ@HoloLabInc

株式会社ホロラボのブログです

HoloLens の左目だけエラー画面が表示される場合の対処

HoloLens の左目だけエラー画面(Development Console)が表示される場合の対処(非表示にする)についてまとめます

再現状況

  • DebugまたはReleaseで左目だけエラー画面(Development Console)が表示される

f:id:kaorun55:20200630185523j:plain
龍さんのブログより

解決策

  • Materビルドを行う
  • 下記コードを入れる(Release, Debugでも非表示になる)
Debug.developerConsoleVisible = false;

下記のようなスクリプト(例えば DeveloperConsole.cs ) を空のGameObjectなどにはりつける。

using UnityEngine;

public class DeveloperConsole : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        Debug.developerConsoleVisible = false;
    }
}

あわせて読みたい

HoloLens で CG モデルなどが片側 ( 左目 ) しか表示されない場合の対処

HoloLens で CG モデルなどが片側 ( 左目 ) しか表示されない場合の対処

再現状況

  • HoloLens で CG モデルなどが片側 ( 左目 ) しか表示されない
  • MRC ( Mixed Reality Capture )で特定の CG モデルなどが表示されない(ほかは表示される)

原因

CG モデルのシェーダーが Single Pass レンダリングに対応していないため

解決策

「Player Settings」の「Player」「Virtual Reality SDKs」にある「Stereo Rendering Mode」を「Multi Pass」に変更する

f:id:kaorun55:20201003183111p:plain

f:id:kaorun55:20201003183125p:plain

TMPro

TextMesh Proでも同様のケースがあります

f:id:kaorun55:20201117205728p:plain

microsoft.github.io

Unity UWP ( HoloLens ) で Photon ( PUN )をビルドしたときにエラーが発生した場合の対処

f:id:kaorun55:20201003180911p:plain

HoloLens で 動作の共有( Sharing )にPhotonを選択してビルドした場合に、大量のビルドエラーが発生した場合についてまとめます。

再現状況

  • 再現環境 Unity 2019.4.2f1 (おそらくUnity 2019 以降で発生)
  • 大量のビルドが発生する

f:id:kaorun55:20201003181219p:plain

原因

  • デフォルトが .NET のため IL2CPPでビルドされずにエラーが発生。
  • Unity 2019以降でScripting Backendのデフォルトが .NET から IL2CPPに変わったことが原因のようです

解決策

「Assets\Photon\PhotonLibs\Metro」にある「Photon3Unity3D」の「Platform settings」にある「ScriptingBackend」を「Any Scripting Backend」に変更する。

最後に「Apply」を忘れずに。

f:id:kaorun55:20201003181543p:plain

これでビルドはOKです。

f:id:kaorun55:20201003182149p:plain

HoloLens 2と5G回線

やっと手元の5G端末が5G回線をつかんだので記録として残しておきます。

回線はdocomo、場所は盛岡駅西口タクシー乗り場付近で、HoloLens 2に5GのAndroid端末をUSBテザリングで接続しています。計測した場所が4Gと5Gの境目だったので速度はそれほどですが、かなりの速度がでています。

f:id:kaorun55:20200928094557j:plain

docomoでの5G対応エリア/スポットは下記になります。

www.nttdocomo.co.jp

HoloLens 2は2020年5月のアップデートでUSB接続のLTEドングルや5G端末を直接接続することが可能になりました。

blog.hololab.co.jp

このように5G端末とHoloLens 2をUSBケーブルで接続し、5G端末(Android)をUSBテザリングにします。これでHoloLens 2は設定なしにインターネットへの接続が可能になります。

f:id:kaorun55:20200928095632j:plain

回線速度について

回線速度について記録しておきます。ここは先ほどと違い盛岡駅構内で、かなり環境が良さそうでした。

Android 5G端末上での回線速度は400Mbpsを越えており、自宅のネットワークより高速でした。

f:id:kaorun55:20200928094318p:plain:w400

PCとのテザリングについて、上がUSBテザリング、下がWiFiテザリングになります。だいぶ速度が変わるので、速度と接続数によって使い分けが必要です。

f:id:kaorun55:20200928094536p:plain

f:id:kaorun55:20200928094538p:plain

HoloLens 2の実機でHandMenuやSolverなどが動作しない場合の対処

HoloLens 2の実機でHandMenuやSolverが動作しない場合の対処についてまとめます。

再現状況

  • MRTK 2.4
  • Unity Editor上では動作するがHoloLens 2実機上で動作しない
  • Debugだと表示されるがReleaseにすると動作しない
  • HandMenu、DirectionalIndicator、Solverで確認(根っこがSolverなので、そこから派生するものに影響する)

原因

Visual Studioの不具合で、つぎのMRTK 2.5で修正が入るようです

ただし「Visual Studioの不具合なので修正が入る予定だけどもまだしばらくかかりそうなので、ビルド後に書き出したプロジェクトの設定を直す仕組みを入れることでの対処」のようです。

github.com

解決策

下記のどれかの対応で解決します。

  • コンポーネントでの Smoothing を OFF にする
  • ARM64ではなくARMビルドにする
  • Unity でビルドした VS ソリューションのコンパイルオプションを追加する

コンポーネントでの Smoothing を OFF にする

f:id:kaorun55:20200927232440p:plain

ARM64ではなくARMビルドにする

f:id:kaorun55:20200927231829p:plain

Unity でビルドした VS プロジェクトのコンパイルオプションを追加する

--compiler-flags="-d2ssa-cfg-jt-"

github.com

こちらは @kazeno_ashura さんに教えていただきました。