Unityで360度動画を観る
この記事は、Unityの公式チュートリアル https://docs.google.com/document/d/1JjOQ0dXTYPFwg6eSOlIAdqyPo6QMLqh-PETwxf8ZVD8/edit から作成したものです。
UnityにビデオをImportする
まず、Unity Editorを起動して、新規プロジェクトを作る。
次に、https://drive.google.com/file/d/13ZV8euKaDVU6dbjOc496y9kfA1pjJVit/view?usp=sharing から、サンプル動画をダウンロードする。
ダウンロードしたファイルは、Unity EditorのProjectタブのAssetsフォルダへドラッグアンドドロップすればImportできる。ファイル名はoutputTrimのはず。
次に、Importした動画ファイルをHierarchyにドラッグアンドドロップする
そうすると、ファイル名と同じ名前のゲームオブジェクトoutputTrimが作成され、そのゲームオブジェクトにはVideo Playerというコンポーネントが見られる。
RenderTextureを設定する
Editor上部のAssets->Create メニューから、RenderTextureを選択する。名前はVideoTextureにしておく。
Assetsフォルダ内に作られたVideoTextureファイルをクリックすると、Inspectorタブ内で設定が可能になる。ここでSizeを 3840*1920(先ほどImportしたVideoの画面サイズ) に設定し、Depth BufferのオプションをNo Depth Bufferにする。
VideoPlayerを設定する
先ほどHierarchyに作ったoutputTrimオブジェクトを選択し、VideoPlayerコンポーネントを設定する。Render ModeをRenderTextureにして、上で作ったVideoTextureをVideoPlayerのTargetTextureにドラッグアンドドロップする
SkyBoxマテリアルを設定する
上のメニューのAssets->CreateからMaterialを選択し、新しいマテリアルをつくる。名前はPanoramicにする。
次に、Panoramicファイルを選択し、インスペクタ上でShaderをSkyBox→Panoramicに設定する。
引き続き、Inspector内のPanoramicマテリアルの設定画面で、右にあるTextureのボックスに先ほど作ったVideoTextureをドラッグアンドドロップする。
SkyBoxを設定する
上のメニューのWindows->Lighting->Settingsを選択し、Inspectorタブ内でLightingの設定を行う。
EnvironmentのSkyBox Materialに上で作ったPanoramicマテリアルをドラッグアンドドロップする。
動作を確認する
Playボタンで再生すると、SceneおよびGame画面で、360度動画が再生される。
(おまけ)スマホで360度動画を視る
Unity Editor + iPhone(あるいはiPod Touch)で360度動画を視るときは、GoogleのMagic Windowのスクリプトを使うと、iPhoneの動きに合わせてカメラの方向を変えることができる。
UnityのiOSビルドサポートの準備
そのために、まずUnityでiOSのビルドサポートを入れる必要がある。下記の通り、File → Build Settingsを選ぶ。
Build Settingsのウィンドウで、下図のようにPlatformでiOSを選んだ時に"No iOS module loaded"となっていたら、"Open Download Page"を押して、iOSモジュールのダウンロードを行う。
ダウンロードしたアプリを起動し、インストーラーを実行する。
以下の画面のとき、Unity Editorの保存場所が表示されていることを確認する。そうでなければ、Browse...のボタンを選んで、Unityのインストールフォルダを選ぶこと。
Unity Editorのインストールフォルダは、以下のように"Editor"フォルダを内包するフォルダ(つまり、"Editor"の一階層上のフォルダ)を選択する。
次に、もし下図のように"Applications are blocking the installer"が出てきたら、Unity Editorを閉じる。すると、インストールが進行する。
後は、インストールが終わるまで待つ。インストールが終わったら、Unity Editorを起動し、File → Build Settingsを選び、Build Settingsのウィンドウで、PlatformでiOSを選んだ時に下図のようになっていればOK。
iTunesの準備
PCの方にiTunesが入っていることを確認する。入っていなければこちらから
インストールすること。そして、iPhoneをUSBケーブルでPCにつなぐ。
Unity Remoteの準備
そのためには、まずiPhoneでapp storeからUnity Remote 5をダウンロード、インストールして開いておく。
次に、PCの方にiTunesが入っていることを確認する。入っていなければインストールすること。そして、iPhoneをUSBケーブルでPCにつなぐ。
次に、Edit -> Project Settings -> Editorで"Unity Remote"を"(iPhoneの機種名)"にする。
GyroControllerを使う
そして、新しくC#スクリプトファイル GyroController.csを作り、GoogleのMagic Windowのスクリプトのページの最後のスクリプトをコピペする。最後に、GyroController.csをMain Cameraにアタッチする。
これでUnity Editorを再生すると、Game画面がiPhoneの方にも表示され、iPhoneを動かすとカメラの方向が変わるはずである。