Unityで機体のカメラを使って背景にしてみる

Unityでスマホアプリ用に機種についているカメラを利用して、

イムリーな映像を背景として利用できないか調べてみました。

 

つまりWEBカメラ?なのかな。

 

以下のサイト様が有益情報っぽいです。

 

Unityでスマホカメラを全面表示する | Narumium Blog

 

Unity で Web カメラを使用する | Lonely Mobiler

 

※ 追加 2017/6/17

[Unity] WebCamTextureのカメラ動画をフルスクリーンで表示してみる: ものづくりログ

 

unityについて質問です。デバイス(androidスマホやiphone)のカメラを起動する方... - Yahoo!知恵袋

 

これより、完全な備忘録。

 

1つめのサイト様の手順をもとに作成するとAndroidでかんたんに表示されました。

だけど、なぜか画面が横にたおれています。

 

うーん

まぁこれはすぐに治せそうな気もする

 

処理が遅くなったので、③のサイト様を参考にしてみます。

FTPと解像度を制御されているようです。

 

よくみると違いはここかな?

webcamTexture = WebCamTexture(devices[0].name, webcamTextureOrg.width * 0.5, webcamTextureOrg.height * 0.5, 12);
 

もしかしたらJSで書かれているので①のサイト様のほうが私にはいいかもしれません。

画面サイズを半分にしてFTPを低くすればいいのか、なるほど。

 


 

【余談】

よしXcodeアイフォンで試してみようっておもったら、

なぜかUnityのバージョンアップに伴いxcodeもアップデートをして、

デバッグ用のiPhone機種がOSバージョンがあわないとエラーに・・・

 

iPhoneのほうをとりあえずアップデート中・・・

やっぱりUnityアップデートしなきゃよかった。

 

アップデート中ひまなので、

ソースを解析してみました。

 

        //スマホ(Unity)が横ならそのまま
        if(Input.deviceOrientation == DeviceOrientation.LandscapeLeft){
            transform.localScale = new Vector3 (_w, _h, 1);
        }

 

 

となっていたので、

アンドロイドで横に倒れているのは、

Player Settingsで画面回転禁止の縦固定にすればいいんだろうか・・・

 

 と。やってみたけど直らない。

gameobject自体が判定してるのかな??

・・・もうちょっと調べてみます。

 

そうこうしているうちに、

iPhoneのバージョンアップが完了したので、

インストールしてみたら・・・・

 

強制エラー

 

こ、これは・・・

 

info.plistにカメラを使うと明示する必要があるようです。

iOS10ではカメラアクセスなどの目的を明示しないと強制終了する - Qiita

 

Privacy - Camera Usage Description

に説明文をつければOKのようです

 

で、

iOS・アンドロイドともに動きました。

 

よかったー

 

画面の回転がうまくいっていません。

つまりスマホの向きとカメラの向きがあべこべ。

ってことで④を参考にしてみます。

 

 

【Unityの世話になった書籍】

ほぼ初心者のわたしが御世話になったおすすめの書籍

Unityで神になる本。

Unityで神になる本。

 

 深いとこまでちゃんと記述されていてありがたい。