HoloLensアドベントカレンダー2018 1日目の記事です。
HoloLensのキャプチャ周り」について書いていきます。
カメラを使ったアプリのキャプチャについて
HoloLensのRS4では、ARマーカーなどカメラを使ったアプリの場合、キャプチャができませんでした。
Cognitiveなど、結局カメラを使ったアプリのレコーディング/ストリーミングは出来ない?(Spectator View 系を除く)
【追記】
宮浦さんのコメントにあったようにアプリで試してみたらできるケースが有りました。接続前にアプリを起動してカメラを使うところまでやっておくのがポイントですね。アプリがカメラ機能をローディングしたあとであればうまくいくようです。
なので頻繁にカメラ機能をON/OFFする場合は、OFFされたあとでONになるたびに、ストリーミングやレコーディングが切断もしくは終了されてしまうようです。
マーカーを使う場合に撮影が必要になったときには、下記のようにしていました。(HoloLensArucoTrackingを用いた場合)
- WebCamTextureをスタート
- マーカー検出など
- WebCamTextureをストップ
- デバイスポータルから撮影スタート
- デバイスポータルから撮影ストップ
WebCamTextureをスタート中にデバイスポータルから撮影しようとすると失敗し、そのあとWebCamTextureをストップしてから再度撮影しようとするとできず、一度HoloLensの再起動が必要になったりと厄介です。
RS5では、アプリ中にブルームするとメニューが出てきて撮影できます。RS4と違ってWebCamTextureをスタート中でも録画開始でき、WebCamTextureをストップしても録画は継続します。再度WebCamTextureをスタートにしたときに録画が強制終了されます。
アプリ内での撮影
RS5では撮影できるのですが、当時RS4だったときにデバイスポータルを使わずにアプリ内でキャプチャしたかったので作りました。ソースはこちらから。
アプリの流れは以下のようになります。
HoloLensでの実行動画はあとで載せます。
開発環境
- Visual Studio Community 2017 (15.9.2)
- Unity 2017.4.11f1
- HoloToolkit 2017.4.2.0
参考文献
HoloLens+Arucoを触ってみた
MRキャプチャでオブジェクトが映らない人へ
次回はt-shoさんによる「C#もUnityも未経験だけどガチラボでアプリを作れるようになった話」です。
お楽しみに!