開発入門 > Unity > Blender > 360度カメラTHETAで撮った写真・動画をUnityで使う

360度カメラTHETAで撮った写真・動画をUnityで使う

from2001vrです。

先日、RICOHから発売された全天球撮影デバイスTHETA、早速買ってみました。デザインもかっこいいですね。 DMMが360度動画の配信を始めたり、Oculusを使って360度見回す環境が出てきたこともあり、何かと最近360度カメラの話題をよく見るようになりました。

発売元のRICOHよりiOS、Android用のSDKが公開されておりますが、Unityで利用するためのライブラリなどはまだ公開されていません。今回はTHETAで撮影した画像をUnityの中で利用してみましょう。

THETA_RICOH

THETAで撮影された写真は下記のような通常のJPGデータになります。このデータの表示方法を工夫することにより360度見渡せるようになります。ThetaImage

内側にメッシュのある球を用意し、その中にTHETAで撮影した画像をテクスチャとしてはることで360度映像を実現します。

まずは、BlenderでUV Sphereを作成します。サイズは少し大きめに作っておきましょう。

Theta1

メッシュをSmoothにしておきましょう。これをしないと貼り付けた画像にメッシュの四角がうつります。

Theta2

綺麗にUVマップを貼り付けるために、球の上下の極部分をUVテクスチャの貼り付け部分から除外しておきましょう。
極部分を面選択します。(上下両方の極を選択します。)

Theta4

CTRL+Iショートカットで選択領域を反転させます。

Theta5

UV UnwrapをCylinder Projection形式で行います。この際、「Correct Aspect」と「Scale to Bounds」にチェックを入れておいてください。

Theta6

ここまで出来たら、Blenderファイルを保存します。

保存したBlenderファイルをUnityで読み込み、THETAで撮影した画像をテクスチャとして貼ってあげれば完成です。
画面が暗い場合はPoint Lightを設置して明るくしてあげましょう。

Theta7

Oculusカメラを設置してみるのもいいかと思います。

また、Blenderで上記手順をやるのがめんどくさい人向けに、UnityのProjectファイルをアップしておきますので、360度画像だけ張り替えて利用してください。

360度画像用Unityプロジェクト(静止画用)

 

THETAは動画撮影にも対応しているので、ムービングテクスチャとして貼り付けようとしたら、動画版はマッピングが違うのよね。リコーさん、なんでこの仕様なの。。。ということで動画版はまたあらためて作成して公開します。

Theta_Movie

2014/11/22 追記

動画の形式を変換できることを教えていただきました。ありがとうございます。

 

動画データの利用方法も紹介しておきたいと思います。

THETAのページよりパソコン用アプリケーションをダウンロードし、インストールします。

img1

THETAで撮影した動画ファイルをドラッグするとマッピングが変換されたMP4形式の動画ファイルが出来上がります。

img2

変換された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 () {
	
	}
}

 

 

img

実行するとTHETAで撮った動画が再生されます。

プロジェクトファイルアップしましたのでご利用ください。

360度画像用Unityプロジェクト(動画用)

追記 2014/11/23

動画の音声の再生。動画のループ再生を追加しました。

追記 2015/01/31

全天球動画(外部mp4ファイル)再生環境の作り方-AVProアセット利用
も合わせて御覧ください。

 

 

RICOH デジタルカメラ RICOH THETA 360°全天球イメージ撮影デバイス 0175760
リコー (2013-11-08)
売り上げランキング: 11,967
カテゴリー: Blender, Unity タグ: , , ,

HOME / Coporate Site/ Careers

© Copyright 2018 STYLY..