のしメモ アプリ開発ブログ

Unityアプリとかロボットとか作ってるときに困ったこととかメモ

祝10万アクセス!

ブログの10万アクセス突破しました!
f:id:noshipu:20170228003715p:plain

2013/04/14から開始しているので、もう4年もたつ!時は早い!

テラシュールブログの中の人に勧められてブログ書き始めて、不定期ではありますがちょこちょこ更新して、ブログ経由でお仕事もらったり、リア友から「検索してたらブログが出てきた!」とか教えてくれたり、昔書いた自分の記事に助けられたり。
ブログ書いてればいいことだらけですよ!!

これからもアウトプットを出して、どこかの開発者の助けになってエコシステムが築けたらいいなと思います!

HoloLensでOpenCVForUnityを使ってみる

HoloLensでOpenCVForUnityのアセットを使ってみるまで手順をメモ。

OpenCVとは画像解析して顔の検出やエッジの検出等、色々できるライブラリです。
HoloLensのカメラ映像と組み合わせて色々できそうです。

例えば顔検出してユニティちゃん男とかができます。

また、今後手順が変わっていく可能性がありますのでご注意ください。

事前準備

・Unity 5.5.1f1

・HoloToolkit-Unity-v1.5.5.0.unitypackage
 下記のリポジトリからダウンロードして用意する
 https://github.com/Microsoft/HoloToolkit-Unity/releases

OpenCV For Unity
 https://www.assetstore.unity3d.com/jp/#!/content/21088

・HoloLensWithOpenCVForUnityExample.unitypackage
 下記のリポジトリからダウンロードして用意する
 https://github.com/EnoxSoftware/HoloLensWithOpenCVForUnityExample

導入する

1. Unityで新しいプロジェクト作成

2. HoloToolkit-Unity-v1.5.5.0.unitypackageをインポート

※ HoloToolkit-Examplesのフォルダーは省いてください。Examplesのnamespaceが無いクラスでエラーがでます。

3. HoloLensの設定を反映

メニューから[HoloToolkit]->[Configure]->[Apply HoloLens Project Settings]を選択しApplyを押す

4. OpenCVForUnityのimport

※ 2017/4/9追記 OpenCVForUnityのバージョンによって処理が異なる

・OpenCVForUnity2.1.5

OpenCVForUnityをインポート
[Tool]-> [OpenCV for Unity] -> [Set Plugin Import Settings]を実行する

・OpenCVForUnity2.1.3

OpenCVForUnityUWP_Beta3.unitypackageをインポート

5. HoloLensWithOpenCVForUnityExample.unitypackageをインポート

6. シーンファイルを追加する

[Build Settings]を開き、[Assets/HoloLensWithOpenCVForUnityExample/Scenes]以下のSceneファイルを[Scenes In Build]に追加する

7. HoloLensのWebcamを使用できるように設定変更

メニューから[HoloToolkit]->[Configure]->[Apply HoloLens Capability Settings]を選択
Webcamにチェックを入れてApplyを押す

8. StreamingAssetsにファイル移動

# 2017/3/1 手順が漏れていたので追記
Assets/OpenCVForUnity/StreamingAssetsをAssets/StreamingAssetsに移動させる

9. 実機にビルドする

OpenCVが使える!

顔検出はこんな感じ


コミックフィルターはこんな感じ

他にもサンプルで試せますので、ぜひ実機で試してみてください!

使ってみた所感

フレームレートがあまりでないのと、平面の描画かつHoloLensの視野角なので、フィルター等だと動画みたいな見え方はしないです。
でも結構楽しい。顔検出で何かするのには向いていそうな感じ。

OculusRiftでステレオ360度動画を見る方法

OculusRiftで誰でもできる自分のステレオ360度動画を見る手法についてメモ

用意するもの

Oculus Rift CV1
ステレオ360度動画(トップ&ダウン形式のステレオ動画とします)

手順

1. 動画の配置

ユーザーフォルダのビデオの中に、再生させたいステレオ360度動画を配置します。
(例)C:\Users\[ユーザー名]\Video\video.mp4

2. 動画のリネーム

ファイル名の末尾に[_360_TB]を追加します
(例)C:\Users\[ユーザー名]\Video\video_360_TB.mp4

3. 再生ソフトウェアのダウンロード

OculusStoreからOculusVideoをインストールします。
Oculus Video | Oculus

4. 再生させる

OculusVideoを起動し、[My Videos] -> [再生する動画名]を選択すると、3Dの360度動画を再生することができます。

HoloLensアプリ「ENGLISH BIRD」をリリースするまで

ENGLISH BIRDというHoloLensアプリをつくってリリースしてみました。
HoloLensと「ENGLISH BIRD」を使って、英語の発音を楽しみながら身につけることができます。

ということで無事にWindowsStoreに載ったので、「ENGLISH BIRD」をリリースするまでの簡単な時系列をメモ。(時間は割とざっくりです)

日付 出来事
2/6 5時 申請(1回目)
2/6 5時 審査落ち(DLLが原因)
2/6 12時 申請(2回目)
2/7 10時 審査通過
2/7 20時? ストアに掲載
2/16 朝頃 HoloLensアプリのリスト入り(リスト入りは5~7営業日かかる)

2/16 追記: 現状はSTOREに新着順で表示してくれているみたいです。

申請について

HoloLensアプリのWindowsStoreリリースはこちらを参考にしました。
WindowsストアにHoloLensアプリをリリースする手順まとめ | develog.holo

審査落ちの原因

エラーの内容はこちら

AudioPluginMsHRTF.dll has failed the AppContainerCheck check

AudioPluginMsHRTF.dllで怒られています。

対処法

Unity5.5で空間音響がおかしくなっているらしく、5.5.0p3のパッチがでて修正されていますが、なんと5.5.1f1で復活しているみたいです。
Unityを5.5.0p3にすれば直るかもしれませんが、自分の場合は、[Project Settings] -> [Audio] -> [Spatializer Plugin]の項目を[MS HRTF Spatializer]から[None]に変更することで対応しました。
なのでとりあえずは立体音響ではなくステレオ音響になってしまっていますが、Unityの対応待ちですね。