ピンクの警報発令中

多分VR転職しました。関連する技術系の話と、アイドルの話をします。技術の話、めちゃゆるい。

HoloLens 2 と AssetBundleの罠

Hololens 2 が開発者であれば手に入れることが出来るという事で、たくさんのご家庭に届いている様子を観測しています!
うちには来ません!!!!

HoloLens2 と 私の3日間戦争

作成中のアプリが実機上で動かずに3日くらい格闘しました。
問題がわかったら、秒で解決しました。

エラーの内容

AssetBundleがHololens向けにビルドされてないよって内容のエラー。
ちゃんとした文が無くて申し訳ない、我が家には実機がない。

なんで起こったの?

Hololens2用に既存プロジェクトを移植しています。
既存のPlatform向けに作成されていたAssetBundleをそのまま使っていたのが原因でした。

解決まで

まず、何も動かなくなったHololensの吐き出すLogを確認します。
コンソールが出てくるんだけど「小さすぎて読めない!」ので、ログ用にCanvasを用意しました。
ログの出し方はこちらのブログを参照しました。

akihiro-document.azurewebsites.net

そこに「Build Target なんちゃら ~」みたいなログが出まして。
本当デバッグ出来たら良いんですが、USB接続でのデプロイが出来ない問題がいつまでも続いているので諦めました。
(これが最大の問題では?)
USBでデプロイできないの、多分PCスペックの問題だと思っています。多分ね。

さて、問題はわかった。
ということで、入っていたAssetBundleを作り直します。
Asset Bundle Browserを使用しました。
詳細はAssetBundleの作成方法を探してもらえればよいと思います。
ここでは大事なのはBuild Targetですな。
私の作成中アプリでは「WSA Player」を指定しました。
これはHololens向けなのか、今作成しているアプリ向けなのかよくわからないので、Hololensの設定がこれです!とは言えないんですけど。
有識者の方がいればご指摘頂ければと思います。

既存プロジェクトのHololens2への移植

HoloToolkitを使用していた場合は、結構地獄だと思います。
作り直しちゃった方がよい。
でも、コード自体は実はうまく流用出来たりする場合があったりします。
頑張って生きよう。

おしまい。

追記

Hololensで詰んだ時にいつも助けてくださるDecoc( @deco_c_ )さんからリプライ頂きました。

Build Target が WSA Player というのは UWP 用ということだそうです。
Hololens2はビルドの際にUWPでビルドするので、結果としてWSA Playerであってるそうです!
ありがとうございます!
このAssetBundle作り直さないといけない問題は、どちらかというとUnityの罠みたいでした。

Hololens2のためにUnityを始めたので、両方の罠に余すところなくかかっていくぜ☆彡