from2001vrです。
先日、RICOHから発売された全天球撮影デバイスTHETA、早速買ってみました。デザインもかっこいいですね。 DMMが360度動画の配信を始めたり、Oculusを使って360度見回す環境が出てきたこともあり、何かと最近360度カメラの話題をよく見るようになりました。
発売元のRICOHよりiOS、Android用のSDKが公開されておりますが、Unityで利用するためのライブラリなどはまだ公開されていません。今回はTHETAで撮影した画像をUnityの中で利用してみましょう。
THETAで撮影された写真は下記のような通常のJPGデータになります。このデータの表示方法を工夫することにより360度見渡せるようになります。
内側にメッシュのある球を用意し、その中にTHETAで撮影した画像をテクスチャとしてはることで360度映像を実現します。
まずは、BlenderでUV Sphereを作成します。サイズは少し大きめに作っておきましょう。
メッシュをSmoothにしておきましょう。これをしないと貼り付けた画像にメッシュの四角がうつります。
綺麗にUVマップを貼り付けるために、球の上下の極部分をUVテクスチャの貼り付け部分から除外しておきましょう。
極部分を面選択します。(上下両方の極を選択します。)
CTRL+Iショートカットで選択領域を反転させます。
UV UnwrapをCylinder Projection形式で行います。この際、「Correct Aspect」と「Scale to Bounds」にチェックを入れておいてください。
ここまで出来たら、Blenderファイルを保存します。
保存したBlenderファイルをUnityで読み込み、THETAで撮影した画像をテクスチャとして貼ってあげれば完成です。
画面が暗い場合はPoint Lightを設置して明るくしてあげましょう。
Oculusカメラを設置してみるのもいいかと思います。
また、Blenderで上記手順をやるのがめんどくさい人向けに、UnityのProjectファイルをアップしておきますので、360度画像だけ張り替えて利用してください。
THETAは動画撮影にも対応しているので、ムービングテクスチャとして貼り付けようとしたら、動画版はマッピングが違うのよね。リコーさん、なんでこの仕様なの。。。ということで動画版はまたあらためて作成して公開します。
2014/11/22 追記
動画の形式を変換できることを教えていただきました。ありがとうございます。
@from2001vr @z_zabaglione 動画(MOV)の方はTHETAのWindowsビューワーにD&Dすればステッチされたmp4が出力できます。
— GOROman (@GOROman) 2014, 11月 19
@from2001vr さんのhttp://t.co/KVaD1mEX0m にTHETA m15の動画ファイルをセットして、MovieTexture用のスクリプトとOculusカメラをセットするだけで全天球動画完成♪ pic.twitter.com/UtquJqNiKt
— ザバイオーネ (@z_zabaglione) 2014, 11月 21
動画データの利用方法も紹介しておきたいと思います。
THETAのページよりパソコン用アプリケーションをダウンロードし、インストールします。
THETAで撮影した動画ファイルをドラッグするとマッピングが変換されたMP4形式の動画ファイルが出来上がります。
変換されたMP4ファイルをUnityのプロジェクトファイルにドラッグしてインポートします。
Unityで利用できる動画形式に変換されます。(要QuickTimeインストール)
静止画の時と同様にMP4ファイルをテクスチャとして貼り付けてあげます。
また動画音声再生のため、空のAudio Sourceを球体に作成します。
なお、ムービーテクスチャはUnity Pro版のみの対応です。
動画を再生するには、ムービーテクスチャをスクリプトから再生する必要があります。
下記のC#スクリプトを作成し、球体にアタッチします。
using UnityEngine; using System.Collections; public class PlayMovieTexture : MonoBehaviour { // Use this for initialization void Start () { MovieTexture movieTexture = renderer.material.mainTexture as MovieTexture; movieTexture.loop = true; audio.clip = movieTexture.audioClip; movieTexture.Play(); audio.Play(); } // Update is called once per frame void Update () { } }
実行するとTHETAで撮った動画が再生されます。
プロジェクトファイルアップしましたのでご利用ください。
追記 2014/11/23
動画の音声の再生。動画のループ再生を追加しました。
追記 2015/01/31
全天球動画(外部mp4ファイル)再生環境の作り方-AVProアセット利用
も合わせて御覧ください。
RICOH デジタルカメラ RICOH THETA 360°全天球イメージ撮影デバイス 0175760
売り上げランキング: 11,967