ページ

2013年10月19日土曜日

SecondLifeVRの撮影について(高解像度化・時間短縮撮影に向けての話題)

この記事は2011年にfacebookに書いた内容を元にしています。後ろの方は少し書き加えています。

Googleストリートビューで広く知られるようになった全方位(全天周)写真についての話題です。

そしてSecondLifeの世界をVR撮影…というお話ですけれど、今月に入って集中してやっていたらひとつステップがあがったので記録としてここに。。
本題に入る前にこのあたりの技術について最初に簡単に説明…そのあと今までの経緯を簡単に紹介しておきます。


これ…Web上で閲覧できるもので、広義にVRと呼ばれてるものですけれど…
1995年頃のQuickTime2.0の頃はまだ水平方向360°のみのシリンダー状・・・
その後VRMLとかDirectorで天頂〜地軸にも対応した全天周が可能になったのですが、主にCG向けなので写真を素材としたい場合はEquirectangular(正距円筒図法)の素材が必要。
理屈の上ではイメージスキャナーの空間版・・・対角魚眼を装着したラインスキャンカメラを360度回転させて空間をスキャニングするしか方法がなくとても一般的とは思えないものでした。
こういう用途に使える都合のいいラインスキャンカメラは当時存在しなかったのでハードウェア製作から始めてみたのですが、1ショットの撮影に10分〜20分かかるので動きのあるものは撮影できませんでした。

2000年台に入ってしばらくした頃、AppleからQuickTime5でCubicが提案されてあちこちでコンバーターとスティッチソフトが出てきてやっと普通の(市販の)カメラを使っての撮影・コンテンツ制作作業ができるようになりましたけれど、そう考えるとまだまだ歴史の浅い技術かもしれません。


私自身はオリジナルのラインスキャンカメラでVRの制作作業していたので、技術トレンドの流れは一応把握しているんですけれど、SecondLifeの世界でこれを応用しようというお話しです。
これ、難しいようでいてリクツは簡単。ただ簡単でも落とし穴がたくさんある…という感じでSecondLifeの特性や制限も考慮して簡易にキレイなVR撮影を行う…というのが07年からのテーマなのです。

先ずはSecondLife内でVRがどう見えるのかという実験・・ 下の写真は07年に思いつくままSLでやってみたものですけれど、球体の内側にEquirectangularの画像を貼り付けてみました。
球体はファントム(通り抜け可能なオブジェクト)にしてあるのでアバターは中に入って見ることになります。



素材はそれまで撮りためてたリアルの風景写真等を使っています。
この映像は翌年動画として撮り直したものです。

このように仮想世界へのVR素材持ち込みとしてそれっぽいものがとても安直にできたので、これでけっこう遊んでいたんですけれど、ただ『仕事』として見たときは完全にNG
天頂・地軸の処理が良くないんです。
SecondLifeのスフィアへのマッピングは普通のプリムものづくりでもtextureの貼り付けが一筋縄ではいかないものなのでこれは仕方ないんですけれど、でもすぐに思いついた立方体貼り付けで解決できました。

現在の全天周VR作成の発想はもともとがQuickTime cubicVRから来ているものですから、Equirectangularを6面の素材に書き出せばいいだけですし、そういう作業は日常的にやっているもの。。。
こういう6faceコンバーターもけっこう出ていて簡単に分解できるので面倒がないんです^^






Equirectangularに合成された写真を正方形6面に書き出したものが左の写真ですけれど、箱を開いた状態です。

この6面をそれぞれSecondLifeの中の6面に貼り付けると空間の完成です。

※下の写真はエッジ部分がわかりやすいように端面を光るように設定して写しています。
































これは電車の中を撮ったものでSecondLifeの中で再現するにはちょうど都合の良いサイズ。
原寸大のボックスをつくってそこにアバターが入ればちょうどいい目線高さになります。

ただ…この”ちょうどいい”…というのが実はクセモノで同時にボックスの弱点なんです。
画像的に6面の全ての辺が正確に繋がっていても角に近寄ると違和感が出ますし、その現象を少しでも抑えるためにはは写ってる風景・被写体に合わせてボックスの大きさ・アバターの目線位置(ボックス内での高さ)は調整する必要があるので・・・・と、なるとリアルで広い風景を撮影した素材は必然的に大きなボックス(概ね一辺20〜60m)が必要になるわけですけれど角付近の違和感は完全に取り去ることはできません。

そもそもWeb用に設計されてるcubicVRですから、視点は空間のセンター固定が前提
仮想世界のSecondLifeのようにその空間内を歩き回るようにはできてないんです。
実際の空間に対してボックスが小さいとセンター以外の位置から視点を動かすだけで角が歪みます。


・・・と、言うわけでVR素材のSecondLifeへの持ち込みはネタとして・簡単な不思議アイテムとしてはアリですし、これだけでも活用範囲は広いと思うんですけれど、一時保留として・・・・
撮る対象をSecondLifeの中にして、それをWeb側で見せるという逆の発想で実験していくことにしました。
それを便宜上SecondLife VRと呼んでいます。

で、ここからがこのノートの本題です。
前置きがすごく長くなりましたヽ( ´ー`)ノ

先ず…SecondLifeのインワールドをどうやってVRにするのか?
これは答えは簡単でアバターが… 普段SLユーザーが見てる視界そのものを使います。
つまり日常的に行われているSS撮影。実はそれだけです。

VRは真下から真上まで…そして周囲360度撮った写真貼り合わせなので、日常的に獲ってるSSそのものでいいわけですが、問題はパララックスエラー(視差による合成破綻)です。

カメラ位置ってデフォルトではアバターの後頭部少し上にあるので、これをセンターにする必要があります。
カメラ制御のスクリプトを入れたobjectを装着でもいいし、少し離れた場所からカメラをまわしていく方法ももちろんOKなんですけれど、自分が写っちゃダメなケースも多いので…
自分が写らず・一番簡単・確実な方法ということで、マウスルックを使います。
(一時期スクリプトでこのあたりの処理をさせようと考えたことはあるのですが、なるべく専用アイテムなどを使わない気軽さを目指して進めてきました。)

リアルでのVR撮影は現在では市販のカメラが使えることは書いたとおりですが、それでもパララックスエラーを回避するために回転軸の中心がイメージサークル面でなければいけません。
そのために、雲台をこういう組立かたをします。

これをVRヘッドと言って市販はされていますが使用するカメラ・レンズによって調整を行う必要があります。
近くと遠くにオモリを付けて糸を天井からぶら下げてその軸線上にカメラを設置。そのあとカメラを左右にパンして2つの糸がズレないポイントを探します。 これがピッタリ合うポイントならばパララックスエラーが生じません。




VR写真撮影セット

周囲360度の動き・真下〜真上までカメラをふっても中心点が常にイメージサークル面にくるような設定をしているので雲台が複雑になっていますけれど、SecondLifeではこれをマウスルックに置換ることができます。
このあたりはSecondLifeでのVR撮影のしやすさ…とも言えます^^

余談ですが、この状態でカメラを真下に向けると当然雲台の一部や三脚が写ります。
合成後の全体の画像面積では無視できる程度なんですけれど、場合によっては最後の真下1カットは手持ちで撮ります。
でもSecondLifeのマウスルックでは関係なく真下も撮れます。しかも自分自身が完全に表示されないので都合がいいです。









これはSecondLifeの中の学校の講義中に撮影しました。
自分が写ってませんが・・・ マウスルックでは見事に自分が消えてしまいます。



















そして本題なのですけれど、解像度を上げる模索がこの頃から始まりました。
このVRはこちらです。

ジャギーがかなり目立つVRになっています。
これの元になっているEquirectangularは2000×1000ピクセル。
画像としての2000×1000ピクセルというのはそこそこ高精細ですけれど、VRはその画素数で空間全部をカバーする必要があるので、この数字はとても低いんです。
視覚的な問題としては、1度あたりに最低10ピクセル詰め込めなければVRと呼べないのでEquirectangularでは3600×1800が最低ラインとなります。

リアルで今どきのデジカメを使ったVR撮影では6000×3000ピクセル以上… 私自身がやったものでは4億7000万ピクセルまでいけたので2000×1000=200万ピクセルはやっぱり少ないんです。

これは最近撮ったものですけれど、8000×4000です。



















マウスルックでの撮影ですから基本は1カットが見てるモニターのピクセル数(もしくはadvanceの設定でその2倍尺)ですが、リアルの写真撮影と同じく画角を狭めればそれだけ対象物に対しての情報量が得られる(但し撮影枚数が増える)という仕組みです。

でも、マウスルックでただ適当にまわして撮ってるだけ・・ 固定された三脚もないですし、まわす角度も目分量・・
ですから画角を狭くして枚数を撮って行くうちにある場所を重複して撮っていたり、撮り忘れていたりということが起きてしまいます。

そして、なによりまわりに動いているものがある場合…撮影に時間がかかってると都合が悪いです^^;
(もちろん、撮影時には雲の動きにロックをかけます)

















12000×6000ピクセルまで来ました。
画素数はもっと上げられるのですが、なにより迅速に正確に撮る…というのが達成できました。

これが生成されたVRです。

実はこれはPhotoshopを一度も通過していません。
撮影に5分。合成に5分。そのあとhtml・flashつけてアップまでがおおよそ10分… 計20分程度で仕上げています。
なので微妙に合成のズレを残しています。天頂にズレがいくつか確認できます。
(この程度のズレならちゃんと仕上げるのにもそんなに時間かかりません)

今まではこのズレがかなり目立つレベルで出ていたのでPhotoshopを使って素材を各レイヤーに放り込んで合成後の調整レタッチという作業を経ているんですけれど、高解像度を保ちつつズレの少ない高精度な撮影法を取り入れてみた結果です。
ビューア側での画角の設定を少し狭めて、あとは撮る順番を逆方向にしただけなので”方法”…と、いうほどではないんですけれど^^;

12000×6000という数字はちょっとサグリとしてやってみました。 …けれど、SecondLifeのVR化は8000×4000あたりがバランスがいいように思えます。
(どうも12000×6000と見た目の解像度の雰囲気が変化ないのに重さだけには貢献してそうなので・・・)

計算では24000×12000ピクセル程度まではいけると思うんですけれどWeb表示が現実的でなくなってきそうです。

ところで、このあたりの具体的な情報はデジアカMac部という部活で取り扱っています。
昨年内でVRの基本的な部分はやっていましたけれど、12年に入ったら実践編に進めようと思っていて今テキストをまとめているところなんです^^

そのデジアカMac部でのVR撮影講座はSecondLife VRだけでなくリアルのVR撮影〜合成などにも当然ふれるのでリアルでVR撮影を始めてみたいという方はご連絡ください。…というか入部よろしくですw
はっきり言ってものすごく濃い話題になりますけれど、Webページに具体的な方法まとめていくのでそれを参照していただきながら説明をするという感じですすめていきます。


これは2012年秋〜に行われた写真展に出した作品・・・の、アピールのために作ったビデオです。
席に座ってもらってマウスルックに…というトコがSecondLifeの中でVRを閲覧する一番良い方法なんです。

この記事で冒頭に書いた通り、元々Web用に作られてるものですから視点が中心にないと具合が良くないんです^^;





これはインワでの放送局、VWBC出演の際にSecondLife VRの用途を説明するための参考映像としてつくったビデオです。



0 件のコメント:

コメントを投稿