LoginSignup
2
1

More than 3 years have passed since last update.

Hololends2セットアップから開発で得た知見を片っ端からメモした雑記

Last updated at Posted at 2020-09-13

前知識0でHolo1も触っていない私が得た知見を勢いだけでまとめたものです。
開発が完了したタイミングで清書をする予定です。
今は知見を積んでいる状態です。

使用するUnityのバージョン

2019のLTSを推奨していました。本環境は2019.4.10f1を仕様しています。

こちらから最新の2019LTSをDL推奨。
https://unity3d.com/unity/qa/lts-releases

忘れずUWPを追加しておきましょう。
image.png

UnityProjectの設定

こちらが参考になりました。
https://docs.microsoft.com/ja-jp/windows/mixed-reality/recommended-settings-for-unity

image.png

UWPにSwitchPlatformしたところ警告が出ていますね。
VisualStudioの環境構築が足りていないと警告が出るようです。
その場合の対応はこちらが参考になりました。
https://qiita.com/chomado/items/38baafdfd96892d3b41d

MRTKもインストールしました。VRを開発した方ならVRTKと言えば察しがつくかと思います。入力系の処理がいい感じにラップしてある便利ツールだと思っていただければよいかと思います。Unity2019をインストールしたのはMRTKのサポートが保証されているからです。
https://github.com/microsoft/MixedRealityToolkit-Unity/releases

Microsoft.MixedReality.Toolkit.Unity.Foundation.X.X.X.unitypackage
をDLしましょう。(X.X.X はバージョン)

WiondowsとHololoends2の設定

こちらが参考になりました。
https://medium.com/kadinche-engineering/hololens-2-%E3%81%AE%E7%92%B0%E5%A2%83%E6%A7%8B%E7%AF%89%E3%82%92%E3%81%97%E3%81%A6%E5%AE%9F%E6%A9%9F%E3%81%A7%E5%8B%95%E3%81%8B%E3%81%99-7a15bfe5e088

MRTKを導入した状態でビルドしたらエラーがでるんですけど。。

Assets\MixedRealityToolkit.Providers\WindowsMixedReality\WindowsMixedRealityArticulatedHand.cs(418,73): error CS0246: The type or namespace name 'HandJointKind' could not be found (are you missing a using directive or an assembly reference?)

Assets\MixedRealityToolkit.Providers\WindowsMixedReality\WindowsMixedRealityArticulatedHand.cs(111,17): error CS0246: The type or namespace name 'HandMeshObserver' could not be found (are you missing a using directive or an assembly reference?)

Assets\MixedRealityToolkit.Providers\WindowsMixedReality\WindowsMixedRealityArticulatedHand.cs(382,33): error CS0246: The type or namespace name 'HandJointKind' could not be found (are you missing a using directive or an assembly reference?)

Assets\MixedRealityToolkit.Providers\WindowsMixedReality\WindowsMixedRealityArticulatedHand.cs(412,26): error CS0246: The type or namespace name 'JointPose' could not be found (are you missing a using directive or an assembly reference?)

I am running on Windows 10 Insider preview with OS build : 18362.30 Version : 1903

Also I double checked with build setting Minimum SDK is 10.0.10240.0 Target SDK version is “Latest installed”

かなりハマりました。
エラーコードでググると下のページがみつかりましたが、エラーがとれませんでした。
https://stackoverflow.com/questions/55706007/facing-issue-when-i-build-the-mixedrealitytoolkit-unity-v2-sample-project

原因は、Windows10SDKの未インストールでした。
https://developer.microsoft.com/ja-jp/windows/downloads/windows-10-sdk/
インストーラーからSDKをDLしたのちUnityEditorを再起動したところビルドできました。
人にとっては、Libraryフォルダを削除したら直ったりBuildSettingsのMinimumPlatformVersionを10.0.10240.0に選択すえうと直ったりと色々な原因がありそうです。

(自分の環境で最適化した)Unityの設定

MRTK導入エラーで設定をいじくりまわした結果、複数のサイトから適用した形になりましたのでスクリーンショットを共有します。(あくまで私の環境でのベストですので)

BuildSettings
image.png

BuildSettings->PlayerSettings->XRSettings
image.png
EnableDepthBufferShariungをオフにする情報はMS公式のYoutube動画で言っていたので正しいんじゃないですかね(他のサイトだとONにしていたりするのでちょっと不安)
https://www.youtube.com/watch?v=q1cvbJP2miM&frags=wn&ab_channel=%E6%97%A5%E6%9C%AC%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E3%82%BD%E3%83%95%E3%83%88%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BE%E5%85%AC%E5%BC%8F%E3%83%81%E3%83%A3%E3%83%B3%E3%83%8D%E3%83%AB

PublishingSettingsのCapabilitiesのチェック入れ忘れも気をつけてください。SpatialPerceptionとかね。

Edit->ProjectSettings->Quality
image.png
QualityLevelをVeryLowに
上部のDefaultテキストの右部にある▼マークから変更です。

Window->Rendering->Lighting
image.png
RealLightingはオフにしたほうがいいらしいです

(自分の環境で最適化した)VisualStudioInstaller

VisualStudioのバージョンは2019(2017だとダメでした)
image.png
・C++デスクトップ開発
・ユニバーサルWIndwosプラットフォーム開発
・Unityによるゲーム開発

image.png
個別のコンポーネントからUSBデバイスの接続を選択しておくと有線接続で実機に転送できるようになります。

(自分の環境で最適化した)VisualStudio

前提としてUnityでビルドして吐き出されたプロジェクト名.sinを開いておいてください。

プロジェクト名(UniversalWindows)を右クリック
image.png
・スタートアッププロジェクトに設定
・プロパティ->デバッグ->コンピューター名にHololends2がアクセスしているIPアドレスを入力(入力すると無線接続でビルドができます)

Hololends側からIPアドレスを確認するには
設定アプリの「ネットワークとインターネット」→ 現在つながっているネットワークの「詳細オプション」をタップすることで確認できました。

詳しくはこちら
https://medium.com/kadinche-engineering/hololens-2-%E3%81%AE%E7%92%B0%E5%A2%83%E6%A7%8B%E7%AF%89%E3%82%92%E3%81%97%E3%81%A6%E5%AE%9F%E6%A9%9F%E3%81%A7%E5%8B%95%E3%81%8B%E3%81%99-7a15bfe5e088

image.png
Release、ARM64
を選択。ARM64に選択しないと実機でエラーになり動作しませんでした(5敗)。

プロファイラ、Development Consoleを消す

UnityEditorからリモートでデバッグする

WindowsStoreからHolographic Remoting PlayerをインストールしたのちUnityEditorから設定を行えばできました(Hololends側でもHolographic Remoting Playerを起動をわすれないように)

DL先
https://docs.microsoft.com/ja-jp/windows/mixed-reality/holographic-remoting-player

公式できれいにまとめてくれていました。
https://docs.microsoft.com/ja-jp/windows/mixed-reality/holograms-100#chapter-5---verify-on-device-from-unity-editor

起動時に毎回PIN入力を行わないようにする

ロビー画面?で
アカウント→サインインオプション→サインインを求めるタイミング
で行えるようです。

こちら参考にしました。
https://blog.hololab.co.jp/entry/2020/01/20/000000

QR対応(QRマーカーを読み込む)

試すだけならサンプルをダウンロードするのが楽そうです。
https://github.com/chgatla-microsoft/QRTracking/tree/master/SampleQRCodes

自分の環境はQRマーカーを読む機能を追加で行いたかったのでNugetパッケージからのインストールを行いました。

Nugetパッケージをまずインストールしたのち、NugetからQRマーカーを読むSDKをインストールするそうな。

まずは下リンクから最新の「NuGetForUnity.X.X.X.unitypackage
」をDLしUnityにインポート。
https://github.com/chgatla-microsoft/QRTracking

NuGetウィンドを表示し「Microsoft.MixedReality.QR」と検索したら出てきました。

image.png

使い方はこちらを参考にしました
https://docs.microsoft.com/ja-jp/windows/mixed-reality/qr-code-tracking?WT.mc_id=MR-MVP-5003868

PacageManagerから
2つDL

・WindowsMixedReality

image.png

2
1
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
2
1