#MakerFaireTokyo2016 で、複数台プロジェクタで全周投影してみた

※消防指導で、半球投影になったけどね…。
IMG_3311

動機

ドーム内投影を、誰にでも楽しめる方法を見つけたかったからです。
Paper-domeの田中が関わっている「make道場」は、手元にあるものだけを使って目的を達成する野生のクリエイティビティを鍛える場。だから、既にあるものを創意工夫することで「全周投影」を達成することを目指しました。
と言っても…さすがにプロジェクタを持っていなかったので、それは何とか、誰でも真似できる方法で必要物を購入できる様に考え『なるべく低コストで全周投影する』という目標を設定。具体的には、Maker Faire Tokyo 2016(以下MFT)のある8/5までに、「予算10万以下(プロジェクタ含)で、複数台のプロジェクタを使って全周投影する方法」を見つけて発表することにしました。

プロセス
いろいろトライ&エラーしましたが、概要はmake道場をご覧いただくとして、以下には、具体的な投影方法に関して記述していきます。

心がけたこと

1)プロジェクタの照射口(光が出るレンズ部)が小さい機種を選ぶ。
普通、最初から付いているレンズが広角でない場合、全周をカバーするためにより多くのプロジェクタが必要になります。そのため、照射口の直前に光を広げるための広角レンズを追加することで、全周投影のために必要とされるプロジェクタの台数を少なくする様にします。
ここで問題となるのが、照射口の口径。

なぜなら、口径が小さいと市場にある様々なレンズを選ぶことができますが…口径が大きいと、より口径の大きなレンズを選ぶ必要があるため、選択肢が少ない上比較的高価なレンズを選ばざる得なくなります。
例として、ドーム内投影を調べる際に検索上位に表示されるコチラの動画の場合、高額なプロジェクタ1台に高額なレンズを設置しドーム内投影を実現しています。
※「高額」の定義は人により異なりますが…今回は5万程度と考えました。

2)1台2万以下の機種を3台ゲットする。
潤沢な予算があれば勿論フルHDや4Kプロジェクタが良いのですが、それらは1台6万弱〜なので今回の予算では買えて1台程度。そこで1台2万以下の機種を探しました。
すると1台2万弱のWXGA(1280×800)の中国製プロジェクタが候補になりますが…これらをよ〜く見ると照射口が大きく上記(1)の理由から、広角レンズが高額になる可能性がありました。そこでオークションサイトで、小照射口&WXGAタイプの中古のプロジェクタ&なるべく球数が多い(同じ機種を選ぶことで学習コストを下げるため)という基準で、全部で3台を競り落としました。
※結果、1.75万+1.75万+2.24万=5.74万の予算内で買えました。

3)フリーなソフトを選定
ドーム投影ソフトの定番「Amaters Dome Player」はフリーで複数台投影が可能ですが、無料版だとロゴが表示されます。
Omnidomeそこで現在β版ですがオープンソースなドイツ発の「OMNIDOME」を使うことにしました。また静止画を表示する分にはOMNIDOME単体でOKなのですが、誰でも入手できる360全球カメラ「THETA」の動画を投影した方がMFTで見てくれる人たちも楽しめると思い、動画変換のためにTHETAの標準アプリと、AppleのQuartz Composerを使いました。
Quartz ComposerQuartz ComposerはAppleのデベロッパーアカウントを取得後、こちらをクリックして開くページにログインし、左側の検索欄に「Graphic」と入力して表示される右リストから「Graphics Tools for Xcode7.2」をダウンロードすると、何本かのソフトと一緒にダウンロードされるので、その中から選んでインストールします。

機材セッティング

用意した機材は以下
プロジェクタ3台=CASIO XJ-A245,CASIO XJ-A255V,CASIO XJ-A255V、リース落ちが安く手に入る&HDMIが繋げる&小照射口&長寿命
広角レンズ2つ=ROWA製0.45倍ワイドコンバージョンレンズ 37mmP50.F55V(黒) 1つ2,880円と安かったので。
※購入直前に消防指導で全球ドームがNGと確定したので2つにしました。
※理論上3つ用意すれば全周投影が可能です。
HDMIケーブル3本=PCとプロジェクタを繋ぐため
MiniDisplayPort-HDMI変換ケーブル2本=macbook Proに繋ぐため
PC1台=手持ちのMacbook Pro Retina(mid2015)を使いました。

セッティングは以下
1)互いが等間隔になるようにプロジェクタを配置
平面で正三角形の位置関係になる様に配置し、投影面が重なる様にテキトーに配置。

2)各プロジェクタ照射口直前に広角レンズを設置
高熱になることを考え、防炎段ボールを使いました。
プロジェクター3)プロジェクタを自由に角度調整できる様改造。
三脚に取り付けられる様に、プロジェクタ底面に加工を施しました。
※自由度が大きく、現場での位置合わせに大変役立ちました。

4)ソフトウエアのインストール
omnidomeβ版のインストール:公式HPよりダウンロード&インストール
※メール登録でダウンロード。
Quartz Composerのインストール:Appleの開発者アカウントを取得しダウンロード&インストール
Syphon for QCのインストール:Quartz Composer用Syphonパッチのインストール
THETAアプリのインストール:RICOHサイトからダウンロード&インストール

5)投影する動画を用意
撮る時間なく、以前VR EXPO AKIBAの出展準備の空き時間で撮った動画を使いました。

作業フロー

0)ドームの設置:各自ご用意ください。

自作したい人は、以前ワークショップ用に設計したモノを以下より入手できます。
コチラのmake道場のページから無料でダウンロードできます。
※最大幅2m程度の「街に映画館を作ろう!」の際に設計したドームです。
※ライセンスは「クリエイティブ・ コモンズ 表示 – 継承 4.0 国際 ライセンス」です。
自作が難しい場合は、こちらでご購入いただけます。

1)広角レンズ付きのプロジェクタを配置

プロジェクタの照射口直前部へのレンズの取り付けは、非常に高温になることから、温度管理に十分配慮し&火の発生に十分注意し、可燃物を使わないようにするなど火事にならぬようご注意ください。

2)すべての接続

PCとプロジェクタを接続します。
僕の使っているmacbook proにはHDMIが1つ、miniDisplayportが2つあるのでプロジェクタが3台繋げると思いましたが、同時に2台までしか認識しませんでした。ただし、ネット情報では同じPCでも変換コネクタ種によっては3台できる様でした。
正しく3台投影するには、matrox GO2というディスプレイアダプターを使えば、1つのディスプレイポートで1度に3台までのプロジェクタを繋げるとのことです。

3)omnidomeのセッティング

omnidome1a)ヴァーチャルスクリーンを作成
仮想のドームスクリーンをステージ上に、実際の寸法に則して作成します。
※上の画面キャプチャ中央の球体がドーム

b)ヴァーチャルプロジェクターを台数分作成
仮想のプロジェクタを実際に繋げている分だけ追加して実際の配置情報に基づいて配置します。
※上の画面キャプチャ中央の球体に赤い光を投射しているのがプロジェクタです。
赤と緑の2台を作成し、画面右側にその設定ウインドウが見えています。

c)テストパターンを表示し微調整
input/Testimage/Rectangurerを選び、エクレクタンギュラー形式のテストグリッドを表示しながら、各プロジェクタに表示されるグリッドを実際に投影されるグリッドパターンを目視で確認しながら調整。
※上の画面キャプチャ左下がinput関連です。最下部に画像のプレヴューがあります。

d)隣り合うプロジェクタ投影画像を繋ぎ合わせます。
omnidome2「スティッチ=繋ぎあわせる」と言いますが、隣のプロジェクタの投影面と重なり合う部分が、なるべくスムーズに繋がって1枚の画像に見えるように画像を人為的に歪める作業を、各プロジェクタ毎に慎重に行います。
具体的には、投影されているグリッドの交点部分をマウスドラッグで人為的に歪めそれぞれのプロジェクタの描くグリッドが1つの面に描かれている様に変形します。

e)各プロジェクタの投影面の重なる部分をマスキングして繋ぎめをスムースにします。
omnidome3何となくグリッドが繋がったら、次は重なっている部分の投影の強弱をグラーデーショナルに重ね合わせて、重なっている部分が不自然に明るくならない様に少し光量を薄めたり強めたりを、塗り絵の要領でグラデーショナルに重ねます。
具体的には、エアブラシの要領で、光の出る部分や量を黒塗りして(または逆に白塗りして)光の出方を白黒の濃淡で表現する画面で繰り返しスプレーペイントして自然と光が混ざり合う様に微調整します。
※すごい時間かかりました。

f)プロジェクタ本体の設定で、光量やカラーの調整をして各機の個性を消す。
特に中古で購入したプロジェクタは、全ての設定を揃えることから始めて各プロジェクタごとの光の個性をなくして、なるべく光の色味を揃えます。

g)omnidomeでカラー調整を試みます。
これ、やってみても、あまり効果ありませんでした。
なぜなら、中古のプロジェクタは使われ方によって発色が偏っている場合が多く
※例えばプレゼン用途で使われていたものは青ばかり使われ、青の発色が悪いなど
どんなに時間をかけて調整しても、各色ムラは改善されませんでした。
※新品のプロジェクタでは有効と思われます。

omnidomeの簡単な使い方は以下の動画でご確認ください。

4)THETA動画をomnidomeに読み込む

THETA動画の変換a)最初に、THETAで撮った動画をTHETAアプリでエクレクタンギュラー形式(縦1横2の比率の、世界が横に広がるパノラミックな動画の形式)に変換。

b)次に、Quartz Composer(以下QC)で新規プロジェクトを作成しSyphon serverパッチ(表示なければ検索)を配置。
※Syphon for QCがインストールされていないと、表示されま
ステージ上に上記で用意したTHETA動画をドラッグ&ドロップ。
2016-08-18qcc)ステージ上のTHETA動画パッチの「image」とSyphon serverパッチの「image」をTHETA動画側のimageからSyphon側のimageまでドラッグして線で結びます。

d)omnidome/inputで「syphon」を選択すると…
Quartz Composere)QCのSyphon serverが発信している動画信号をomnidomeが受取り、動画が投影されます。
※QCが稼働していないと映像信号がないので表示されません。

以上でTHETAの動画が複数台のプロジェクタで投影できます。

言い訳

MFTの際には、会場の消防指導でドームを防炎段ボール製とした上に、さらにドームの頂点から60cm以内に開口部を設けないとNG〜というお達しが来た関係で全周にはできない事が事前に判明したため、途中から路線変更して半球投影にしましたが、レンズ角の合計で「全周投影」は重なりを考慮しても可能でした。
またMacbook Proに3つのプロジェクタを繋ぐ方法も、USBのグラフィックアダプターを用いることで実現されている先人達がいるので十分実現可能かと思っています。あと数日&別会場であれば、全周投影はできていました。
また、1日目に時間かけたキャリブレーションの保存ができていない〜と思いましたが、1日目の途中の設定までは保存できていたことが後日わかりました。落ちる前のデータを見るとマスク含め全て保存されていました。

今後の課題と期待

Syphonが鍵らしい
どうもプロジェクションの世界では、パソコンやプロジェクタを複数台用いての同時投影は普通らしく、Syphonは、そのための標準的な動画配信形式ということでした。
その肝心のSyphonは、ファイル自体は存在せず、動画の発信側がServerとして動画の発信を行い、その発信されている動画を受信しつつ投影する〜という、サーバとクライアント(発信側と受信側)の2つがあって始めて機能するものらしい…ということに気がつくのに時間が掛かりました。ファイル形式〜と思い込んでいたので、データ自体が目に見える形で存在するものとばかり思い込んでいたからです。
そこに気がついてしまえば、SyphonってUnityでも出せるみたいだし(つまりリアルタイムゲーム〜)QCで旨く組めれば、THETAでのライブストリーミング動画をドーム内投影できそうだし〜と、いろいろな可能性があると気が付きました。

最適なレンズ探し
適当に探して入手した広角レンズアダプターは、まあそれなりでした。
もっと良いレンズが見つかれば、2台で全球も夢ではなさそうです。

最新の単焦点のレーザープロジェクタではどう映るだろう?
先日、チロッとリコーさんの1世代前の短焦点プロジェクタで投影してみたところ、1台&広角レンズアダプターなしで、半球近くもの広範囲にパッキリくっきり投影できていました。
最新のプロジェクタなら、どう映るでしょうか?
広角レンズなしで相当な範囲を投影できるのでは?と期待しています。