日沼諭史の体当たりばったり!
第44回
メタバースがなんだって? もっと簡単に始められる3D会議がこれだッ!
2022年2月1日 08:15
時代はメタバースだという。3Dの仮想空間でコミュニケーションしたり、アレしたりコレしたりすることらしい。ざっくり言えば令和のSecond Lifeだ(たぶん)。そのうち土地の売り買いとか、文字通りの仮想通貨のやりとりとかが発生するに違いない。そして、いずれは仮想空間に入り浸ってしまうくらいに楽しい世界がやってくるのだろう。
しかしである。実際に本格的なメタバースを体験しようと思うと、今のところはそれなりにコストがかかる。VRヘッドセットが必要になったり、場合によってはパソコンやスマートフォンのスペックを今よりアップさせることも考えなければならない。そもそもメタバースをうたう仮想空間プラットフォームがあちこちに散在していて、どこに何があるのかわかりにくい状態。みんながみんな気軽にメタバースに触れられる、という状況ではないのではないか。
そこで筆者はひらめいた。もっと手軽に、低コストで、超リアル3D空間を再現しながらコミュニケーションする画期的方法を思いついてしまったのである。この方法ならVRヘッドセットなんていらないし、パソコンの性能がそれほど高いものである必要もない。低ポリゴンのカクカクアバターなメタバースなんて比較にならない、ほぼ実写の圧倒的現実感を誰でも容易に手に入れられるのだ。さっそくみんなで3D Web会議にレッツトライ!
容易かつ安価に3D Web会議を実現する、その方法とは
人間の目に映像を立体的に知覚させるにはいくつかの方法がある。たとえば、かつては3Dテレビなんていうものがあった。専用の3Dグラスを装着して、右目側のレンズのシャッターだけを開けているときに画面で右目用の映像を表示し、そうじゃないときは左目用の映像を表示する、というような仕組み。高速に左右のシャッターと画面の映像を同期しながら交互に切り替えることで3D映像を再現するものだ。もしくは偏光フィルターを使って、右目の偏向板でしか見られない映像と、左目の偏向板でしか見られない映像を出力する、というような方式もあった。
これらの仕組みは、一般的なディスプレイで実現しようと思うとかえってVRヘッドセットより面倒だし、コストもかかる。ただ、世の中にはもっと単純に「3Dっぽく錯覚させる」方法もあるはずだ。たとえば左右のレンズが異なる色の半透明メガネを使って、左目では右目用の映像が見えないように、右目では左目用の映像が見えないように、という感じにすればどうだろうか。
もっと具体的に言うと、2つのカメラで少しだけ左右にずらして撮影した映像をそれぞれ赤ベースと青ベースの色合いにして、それを赤と青のレンズのメガネを通して見るようにする。赤レンズを通して見たものは青ベースの映像を、青レンズを通して見たものは赤ベースの……ああ! もう面倒くさい! そう、これは昔からあるアナグリフってやつだ。筆者が発明したものでもなんでもない。要するに赤青メガネを用意して、あとはWeb会議の映像をなんとか赤青で出力できるようにすれば、たぶんきっと3Dっぽい感じになるはずなのだ。いわば原点回帰である。
というわけで、超リアルな3D Web会議を始めるために、以下の手順で必要アイテムを揃えながら進めていってみよう。
・赤青メガネを買う、または自作する
・同じWebカメラを2台用意する
・OBS Studioのプラグインをセットアップする
・仮想カメラを使ってWeb会議を始める
赤青メガネを買う、または自作する
赤青メガネはお店やネット通販でも数百円程度で購入できる。が、Web会議のように複数人が集まる今回のような用途を考えると、3Dで見たい人の数だけメガネが必要になるので、材料を入手してまとめて作ってしまった方が安上がりだ。材料となる赤青セロハンやメガネフレームは100円ショップなどで手に入る。200円ちょっとで5人分は作れるだろう。
ただ、注意しなければならないこともある。お店によってはセロハンの色が赤青メガネ向けではなかったりするのだ。筆者が最初に購入した100円ショップのSeriaでは、パッケージでは「赤」とうたっていながら実際はピンク色のセロハンだった。しっかり赤と青のセロハンになっていないと、後で映像側をいくら工夫しても立体感が得にくいので、確実に赤青のセロハンを手に入れておきたい。おすすめはDAISOのセロハンだ。
同じWebカメラを2台用意する
次に用意するのはWebカメラ2台。右目用と左目用の視差のある映像を作り出すために、カメラはどうしても2台必要になる。また、映像の見栄えが少しでも違うとズレて立体感が損なわれてしまう可能性があるので、左右ともできるだけ同じ視野角・画質にするために、ここは同機種のWebカメラを揃えたいところ。
今回筆者はフルHD(1,920×1,080ドット)/30fpsに対応し、比較的良好な画質で撮影できるWebカメラ「eMeet C950」を使用することにした。通常価格は1台3,999円だが、クーポンや割引でもっと安く買えることが多い。2台でもかなり安価に入手できるだろう。倒すとカメラと内蔵マイクが自動でオフになるというちょっと面白いギミックも備えている。これを横に2つ並べれば、簡単に視差のある映像を得られるはずだ。
OBS Studioのプラグインをセットアップする
赤青メガネとWebカメラ2台を用意できたら、今度は2つのWebカメラの映像を赤青に変換して、さらにそれを1つのWebカメラ映像として出力し、ZoomなどのWeb会議ツールで使えるようにする。ここで活躍するのが、動画配信ツールとしても知られる「OBS Studio」だ。
OBS Studioは仮想カメラ機能を備えており、この機能をオンにすると、OBS Studioで作り込んだ映像をZoomなどのWeb会議ツールでカメラ映像として映し出せるようになる。OBS Studioは複数のWebカメラの映像を同時に扱えるし、標準で備えているフィルター機能で映像や音声に特殊効果を加えて出力することも可能だ。
ただ、そのフィルター機能を使っても、アナグリフ用の赤青映像を出力することはさすがにできない。なのでどうするかというと、アナグリフ用の映像出力を可能にする、有志が開発した設定ファイル(プログラム)とプラグインを利用する。こんなニッチなものを作成してくれている開発者には感謝しかない。筆者以外にニーズがあるのかは知らないが。
セットアップするものは「anaglyph-webcam-obs」というアナグリフ用のファイルと、これをOBS Studioとの間で橋渡しする役割をもつプラグイン「OBS ShaderFilter Plus」の2つ。前者はカメラ映像を赤青などの映像に変換するためのシェーダープログラムというもので、後者のプラグインはそのシェーダープログラムによる効果をOBS Studioに反映させるもの、ということになる。それぞれ下記からダウンロードしよう。
- anaglyph-webcam-obs
https://github.com/Kjos/anaglyph-webcam-obs - OBS ShaderFilter Plus
https://github.com/Limeth/obs-shaderfilter-plus/releases
Windows環境におけるセットアップ手順は、まず「OBS ShaderFilter Plus」に含まれる「obs_shaderfilter_plus_windows_x64.dll」をOBS Studioのプラグインフォルダ(obs-studio/obs-plugins/64bit など)にコピーし、OBS Studioを起動。「ソース」に「映像キャプチャデバイス」として2つのWebカメラを追加して、それぞれの「フィルター」設定画面で「ShaderFilter Plus」を追加する。
さらにそのなかのシェーダーを指定するところで「anaglyph-webcam-obs」に含まれる「green.hlsl」か「red.hlsl」のどちらかを選ぶ。たとえば片方のWebカメラ(左目用、向かって右側に設置したもの)のフィルター設定で「green.hlsl」を指定し、もう一方のWebカメラ(右目用、向かって左側)のフィルター設定で「red.hlsl」を選ぶ形にするわけだ。
以上はanaglyph-webcam-obsで案内されている設定手順となるが、PC環境や赤青メガネの実際の色などによっては、あまり立体感が得られなかったり、映像が暗くて見にくかったりする場合がある。それもあって、筆者の環境では以下のような設定にした。
- 使用するシェーダーは右目用を「red.hlsl」(変更なし)、左目用を「cyan.hlsl」に
- 「cyan.hlsl」はテキストエディターで開き、「float4(0,g,b,1.0);」となっているところを「float4(0,g,b,0.5);」に書き換える
- OBS Studioの2つのWebカメラのエフェクトフィルタに「色補正」をそれぞれ追加し、どちらもガンマ値を0.50に上げる
- OBS Studioの「ソース」では、右目用映像が上に、左目用映像が下になるようにレイヤー調整する
2台のWebカメラは離しすぎない方が良い。今回利用したeMeet C950の場合、左右レンズ間の距離を約5cmにして、カメラ本体同士がほとんどくっついている状態だと一番自然な立体感を得られた。このあたりはカメラの機種によって変わってくる部分と思われるので、細かく調整して最適なポジションを探ってみてほしい。
仮想カメラを使ってWeb会議を始める
赤青メガネをかけ、OBS Studioでプレビューを見ながらほどよく立体感が得られる映像に仕上げたら、「仮想カメラ開始」ボタンをクリック。ZoomなどのWeb会議ツールを立ち上げて映像ソースに「OBS Virtual Camera」を選び、Web会議をスタートしよう。
ちなみにWeb会議を始める前に、あらかじめ赤青メガネを他の会議メンバーにそれぞれ用意してもらうか、配っておくことも忘れないようにしたい。そしてもし可能なら、他のメンバーにもここまで説明したようなアナグリフ映像を出力するための準備・設定をしておいてもらうのが理想だ。なぜなら、自分の映像だけアナグリフに対応しても、自分は他の人の3D映像を楽しめないから……。
Web会議ツールには自分の映像も表示されるので、そこで3D化された自分の姿を確認することもできなくはないが、問題が1つ。Web会議ツールは通常、自分の映像を左右反転して表示するので、右目用と左目用の映像が逆になり、3D映像として見えなくなってしまうことがあるのだ。
これを防ぐには、Zoomの場合はビデオの設定で「マイビデオをミラーリング」をオフにすると良い。Google MeetとMicrosoft Teamsはデフォルトで左右反転しており、反転しないようにする設定は存在しないため諦めるしかない。できるだけZoomを使うのがおすすめだ。
飛び出す映像とプレゼン資料に「可能性を感じる」
というわけで、作成した赤青メガネを編集部の人たちに配り、第1回3D Web会議を開催。最初のうちは違和感があって3Dっぽく見えなかったようだが、目が慣れてくると次第に立体感が出てきたようで「おお、なかなかいいっすね」という感想が。相手に届く映像は圧縮画像なので若干の画質劣化が発生してしまうが、その影響も特になさそうだ。
カメラに近い位置にあるものほど視差が大きくなってより飛び出して見える、というのがこのアナグリフ方式の特徴だが、視差が大きくなるほど相手が目のピントを合わせるのに苦労する、という難しさもある。どちらかというと、被写体となる人物はカメラから距離をとった方が輪郭が自然に浮き上がって見えやすいようだ。
相手がアナグリフ映像やピント合わせに慣れてきたら、積極的に動いてみたい。インタビュー写真でよくある、手で“ろくろ”を回すポーズなんかはかなりの臨場感があるらしく、さらにパンチするかのように手をカメラ前に突き出したりすると、まさに飛び出してくるような迫力も感じてもらえる。
今回、背景は部屋の障子になっているが、背後の壁がない遠くまで見通せるアングルにすれば、空間としてのリアリティがさらに増しそう、とのことだった。この臨場感、立体感を読者のみなさんにダイレクトに伝えられないのがもどかしい。とりあえずは手元に赤青メガネを用意して、スクリーンショットを見ていただければ。
あと、せっかくの3D Web会議なので、カメラ映像だけでなく、プレゼン資料も同時に赤青のアナグリフ映像にして3D化することもおすすめしたい。こうすることで、たとえば強調したい文字や図形を赤青で2重に作って配置するだけで、単に文字の色を変えたり大きくしたりするよりも視覚的に効果の高い表現ができるようになるのだ。編集長からは「これは可能性を感じる……」とのお言葉。
ただ、人によっては赤青メガネを長時間装着していると目が疲れてしまったり、アナグリフ映像以外の部分が見にくくなってしまう場合もある。そもそも、参加者全員に赤青メガネを装着してもらったうえで、映像もアナグリフにしてもらうという準備の面倒さはいかんともしがたい。編集長からは「面白いけど常用はできないなあ」とバッサリ。そりゃそうっすよね。
といえども、飛び出すような立体感と現実感を低コストで、比較的容易に実現でき、プレゼンテーションの新たな表現も可能になるこのアナグリフ3D Web会議は、ぜひとも一度みなさんに試してみてほしいと思う次第。IT業界はメタバース一色な雰囲気があるけれど、その前にアナログな赤と青の2色に世界を染めてみてもいいんじゃないだろうか。