デジタルな日々

Unityでカメラ4台同時表示しようとした話(Macで)


 

お久しぶりです

 

実はUnityでカメラを4台つないで4方向から自由な角度で見れるっていうものを作りたかったんだけどなんかうまくいかなかった

 

Unityで4つのカメラ
WebCamTextureを使った
 

2台ならうまくいったんだけど3台以上になると、カメラ自体は認識してくれるものの
真っ黒な画面でカメラの映像を表示してくれなかった(カメラのアクセスランプも光らず)

 

カメラちゃんと区別してたぜ

 

最初は同じ機種のカメラだからダメなのかと思ったが名前ちゃんと #2 #3 って区別してたからそんなことはなかったぜ

 

Unityにお問い合わせして聞いてみたんだけどバグレポートデータベースにないとのことで原因も分からなかった。

 

代案として提案されたのが

  • UnityProに課金して「AVPro Live Camera」という有料アセットを使う
  • UnityProに課金して、「Syphon」というアプリ間で映像を共有できるオープンソースを使って他のアプリからカメラ映像をもらう

というものだった

 

どっちにしろProいるんかい!!(14万くらい)
でもしょうがないのでとりあえずSyphonを使って4つのカメラのサーバを建てられればなんとかなるかな

 

と思っていたんだ

 

 

ところが4つ同時にやろうとするとアプリが落ちたり、映像が突然止まったりしてうまくいかなかった

 

「アッ、そうかこれは帯域の問題なんだ、このMacでは2台同時に表示するのが限界なんだ!
Unityで解像度下げても2台しかできなかったしね…」

 

と諦めかけてたら

CamTwistを使って4つのカメラを1つの仮想カメラとしてくっつけて表示することはできた、なぜか

 

なんなんだよ!帯域の問題じゃないのかよ!!
よくよく考えてみたらUnityで解像度を下げてもあんまり見た目変わらない感じしたからそのへんの設定がうまく適用されてなかったのかもしれない。

(4つのカメラをくっつけたものをUnityに送って後からトリミングすればいいかとも思ったんだけどWebCamTextureって分割できないっぽいから無理だった)

 

 

とうわけでUnityじゃどうもうまくいかないのでOpenCVで試しにやってみよう
OpenCVはPythonで使えるらしいからPythonでやってみよう

 

つづく

 

 

コメントを残す