というワケで「Part.1」からの続き。
そう、SONYの新しいモバイルHDスナップカメラ「bloggie」の360パノラマレンズで撮った360°全方位ドーナツ映像から、パノラマVRムービー(MotionVR)にする方法をお届けしようと思います。
まずはまだお手に取って無い方、すぐにAmazonでポチっとな!(笑
で、ですよ。
ワンショットミラーによるドーナツ映像とくれば、展開の基本アルゴリズムは、言わずと知れた「極座標変換」。
これで無理やり展開しようとして、ある程度イイ感じに行ってる方が、既に居ました。
まずは、Adobeのビデオ編集加工ソフト「AfterEffects」の極座標変換で無理やり360°横長パノラマ映像にした人。
□ Macでも bloggie(ブロギー)のパノラマ動画を展開する方法 - webdog
さすが、日本で一番有名なビデオブロガー、ジェット☆ダイスケ氏の面目躍如と言ったところでしょうか!(笑
そして、この記事の次のエントリーでも語っているように、もっと簡単にパノラマVR変換する方法があるのです。
それは...
このブログでも何度もお出ましいただいている、日本が世界に誇るMotionVRプレイヤー開発の真の功績者、徳澤リュービンさんの「Ryubin's Flash Panorama」の最新バージョンを使うと、何と簡単にbloggieのドーナツ映像がMotionVRコンテンツになるのです!
その前に、ちょっと簡単におさらいを。
この「360ビデオレンズ」は、まさにMotionVRのために開発された"レンズ"です。
形状の拡大写真をご覧いただいてもお分かりの通り、形状は立山科学のPALNONレンズや、オリンパス未来創造研究所の開発した軸対称自由曲面レンズに良く似ています。
お椀を伏せたような形状の凸面レンズに入ってくる光は一度下面に映り、更に天面の水平部に反射して、撮像素子に投影される仕組みのようですね。なので撮影される像はドーナツ形状をしています。
このワンショット系360°全方位レンズで撮影できる円筒パノラマVRの仰角・俯角を、SONYさんに尋ねたところ、正式な数値としてご返答いただきました。
- 仰角(見上げ角度):41°
- 俯角(見下し角度):10°
1月21日に投稿した記事でご紹介した「仰角50°ぐらい、俯角5°ぐらい」は、そこそこ当たってたんですなぁ。
※ココでお詫び。実は至る所で「仰角50°俯角7°」と言いふらしていましたが、これ、ボクのメモと記憶のミスです。関係各所に多大なご迷惑をお掛けしましたことを、深く、深くお詫び申し上げます。
というワケで、この数字を使って、リュービンさんの新しくなった「Ryubin's Flash Panorama(RFP)3.0」を使って、bloggieのドーナツ映像を実際にMotionVR化してみようと思います。
手順は以下の通り。
- RFPライブラリをダウンロードする。
- 撮影データを用意する。
- ダウンロードして解凍したフォルダの中の「video」フォルダに、撮影データを入れる。
- 「xml」フォルダの中の「sample.xml」ファイルを、テキストエディタで修正して保存する。
- 「sample.html」をブラウザで開く。
という感じになります。順を追ってご説明しましょう。
1. ライブラリのダウンロード
ダウンロードは、以下のサイトからどうぞ。
■ Ryubin's Flash Panorama
http://www.ryubin.com/panolab/panoflash/download.html
ダウンロードするのは「PanoDoughnutFlashVideo_v30 (DoughnutVideo)」という名称のモノです。2月10日にこれだけアップデートされているので、分かりやすいと思います。右の「download」という緑色のテキストをクリックすると、ダウンロードが始まります。8.3MBもあるのは、サンプルの映像データが入っているからです。
解凍すると、以下のようになります。

2. 撮影データの用意
撮影データは、「MAHxxxxx.MP4」とかいうファイル名になっているかと思います。RFPは基本的に「.flv」しか扱わないんですが、このFlashビデオ形式は中身はMPEG4なので、拡張子を名称変更するだけで使えたりします。すなわち、撮影データの名称を変更することなく使用することが出来ます。
3. データを所定のフォルダに入れる
1.で見たフォルダの中身の「video」というフォルダに、2.で用意した撮影データを1枚だけ入れる。
4. 設定ファイルの修正
ココからがちょっと面倒。
「xml」フォルダの中から「sample.xml」という設定ファイルを、ユニコードが扱えるテキストエディタで開いて、修正して下さい。
この「ユニコードが扱える」というのが非常にキモです。Macユーザーなら「mi」がフリーウェアで出てます。有名なシェアウェア「Jedit」も使えます。
そして、この中身のソースコードの「〜〜〜」の部分を、以下のように書き換えます。
<play_objects>
<image path="../video/MAHxxxxx.MP4" init_loudness="0.5" />
<crop width="0.536" height="0.947" cx="0.516" cy="0.522" inner_circle="0.255" />
<projection elevation="41" depression="10" />
<view
init_yaw="180"
flip_vertical="yes"
init_fov="50"
init_pitch="15"
limit_vertical="yes"
top_limit="41" bottom_limit="10"
init_filter="yes"
seg_lock="low"
quality_lock="no"
unlock_for_non_rectilinear="yes"
/>
</play_objects>
● MAHxxxxx.MP4
ココに用意した撮影データのファイル名を入れます。
● <crop width="0.536" height="0.947" cx="0.516" cy="0.522" inner_circle="0.255" />
このドーナツ映像、左右に大きく無駄なスペースが空いてますよね。これを切り抜いて正方形映像にしたものをリアルタイムで変換しています。この切り抜き数値がこれですが、いちいち測ってると面倒でしょ?なので便利なツールをリュービンさんが作ってくれています。
□ PanoConfigDoughnutFlash
「Open new doughnut」ボタンをクリックして自分のドーナツ映像の1コマをアップロードし、「View doughnut」をクリックして赤い玉1つと黄色い玉2つを使ってドーナツの内径と外径を合わせ、「View rectilinear」ボタンをクリックしてそれぞれの仰角・俯角・最大仰角・最大俯角を決めたら、下のXMLコードをコピーして、上記のテキストエディタの所定の数値に修正すれば良いのです。
この部分は、後日改めてお話しましょうか。
● elevation="41" depression="10"
「elevation」が仰角、「depression」は俯角の意味です。それぞれ360ビデオレンズ固有の数値が入ります。ココではSONYさんから提供いただいた数値『仰角41°俯角10°』を入力しています。
● init_yaw="180"
デフォルトでの水平視野角は、カメラ後方に当たりますので、正面に直すために180°回転させています。
● flip_vertical="yes"
プレイヤー開発時には、お椀が下に向いたミラーを想定していたので、今回のような上向き形状や凹面のものを使用する時には、天地方向に反転させてやる必要があります。その指示コードです。
● init_fov="51"
垂直視野角の初期値です。ちょっと複雑な計算式なので割愛します。リュービンさんに教えてもらったんですが、一筋縄ではいかないので、機会を見つけて、って感じですかね。
● init_pitch="15"
視野を水平に見た時、中心角からどのくらいの位置にあるかを見ています。
● limit_vertical="yes"
垂直視野角が180°を下回る時は、この指定を行います。
● top_limit="41" bottom_limit="10"
垂直視野角の上限・下限を指定します。仰角・俯角と同じだと思ってもらって構いません。
ほかの数値や指定に関しては、ほぼ"経験則"的に当て嵌めています。
この意味に関しては、リュービンさんがPDFのユーザーマニュアルを作ってくれていますので、こちらを参照して下さい。
但し、海外向けに作られていますので、全て英語です。日本語版って出さないんですか?>リュービンさん
□ User's Guide - version 2.0 (Ryubin's Flash Panorama)
5. ブラウザで確認
さぁ、これで準備が整いましたので、ブラウザで開いてみましょう!
どうですか?上手くいきましたか?
あとは、タイトルなど、HTMLファイルをチョコチョコっと書き換えるだけで、上手くイクと思います。
HTMLページに埋め込む時は、<body>〜〜〜</body>内のコードをコピー&ペーストすると良いと思います。ファイル位置を指定するパスは間違えないようにしましょうね。
これで出来るデータがどんなのになるのか...ぜひご欄いただきましょう!

■ bloggie/360パノラマレンズ撮影データサンプルmotionvr(QTVR Diary / design studio "pencil")
http://homepage.mac.com/qtvr_master/bloggie_movie_demo01/index.html
MacのmobilemeのWebDAVサーバは非常に鈍重なので、読み込み時間はかなり重かったりしますが、それなりに読み込めていると思います。
上記のソースコードそのもので、このMotionVRは動いています。
如何ですか?皆さんも、ぜひチャレンジしてみて下さいねー!
...って、やっぱり面倒っすよね。
なので、ボクが、簡単なbloggie専用RFPライブラリを作りました。
< 使用に関する注意事項 >
- 本ライブラリの著作権は全て、作者の徳澤リュービン氏が所有しています。何人もこれを犯してはなりません。
- また、個人の楽しみなどの非商用に限り、本ライブラリの再配布を許可いただきました。徳澤リュービン氏のご好意に厚く御礼申し上げます。皆さんも、感謝の念を忘れずに使いましょう。
- 本ライブラリを含む「Ryubin's Flash Panorama」ライブラリの商用利用に関しては、全て事前問合せが必要ですが、弊社は全く関与しておりませんので、直接、徳澤リュービン氏にご連絡下さい。
というワケで、下記URLから直接ダンロードして下さい。
□ http://pencil-jp.net/weblog/data/100217/rfp_bloggie.zip
(10.2MB)
ちょっと重いのは、サンプル映像が入ってるから(苦笑)
使い方は、とっても簡単!
- 上記URLからダウンロードしてZIP解凍
- 撮ったドーナツ映像のファイル名を「bloggie」に変更(拡張子は修正不要)
- 名称変更したドーナツ映像ファイルを「video」フォルダに入れて
- 「index.html」HTMLファイルをブラウザで開く
- MotionVRの出来上がり!
ほらね。簡単でしょ!
撮ったドーナツ映像を「bloggie」に書き換えるだけで出来上がります。
「video」フォルダの中にサンプル映像が入ってますが、自分のと入れ替えて下さい。
これぐらい簡単だと、気軽に使ってもらえるかなぁ。
あとは「index.html」を開いて(既にSHIFT-JISにしてあるので、たいていのテキストエディタで修正できます)、タイトルを書き換えたり、<object>〜〜〜<object>の中身をコピペして、他のHTMLに加えることも出来ますので、超カンタン!
それで、慣れてきたら、XMLファイルの修正なんかもしてみては如何でしょうか?
(初期水平視野角(init_yaw)の変更ぐらいから始めると、良いかも)
なお、エラーレポートなど、随時受け付けています。
お気軽にコメント下さい。
さぁ、これでbloggieの360ビデオレンズを楽しむ環境が出来ました。
皆さん、いろんな作品を作って下さいね。
そして、自信作が出来ましたら、ぜひコメントなどで教えてください。
力作、お待ちしております!(笑