未来を創る、テックコミュニティー

【最新技術調査】VR④_360°カメラの画像をUnrealEngine4でマッピングしてみた

沖田はじめ
2021/03/29

みなさんこんにちは。沖田はじめです。
今回はエクスポネンシャルテクノロジーのVRについて、実際にVR制作にチャレンジしてみましたので、その模様を紹介します。

まず、VR制作として何にチャレンジしようかと思ったところ、静止画像のビューワが比較的敷居が低いと感じました。
また、過去に360°カメラについて紹介したことがありましたので、360°カメラ「RICHO THETA (S)」で撮影した画像を、VR空間上に背景としてマッピングしてみようと思います。

VR制作には、メジャーなゲームエンジン「Unreal Engine 4(アンリアルエンジン)」を使用しました。
Unreal Engine 4で360°画像を背景としてマッピングする方法は、こちらの記事を参考にしました。

Unreal Engine 4でEquirectangularの360度画像を表示する

 

●その1: RICHO THETA Sで風景を撮影

RICHO THETA Sで撮影した画像は、図のように2カメラ分が5376×2688サイズのpng形式画像として出力されます。

カメラを直接持って撮影すると撮影者まで写り込んでしまいますが、スマートフォンなどから遠隔で撮影することで解決できるようです。

 

●その2: Unreal Engine 4で画像の取り込みとマテリアル作成

記事を参考に、Unreal Engine 4で画像の取り込みとマテリアルの作成を行います。

主なテクニックとして、
・360°画像をテクスチャとして読み込み、Level of Detail のTexture Groupを「SkyBox」として設定
・カメラベクトルを球面座標に変換
を行っています。

球面座標への変換については、全天球画像(360°画像)が視点からどのように見えるかの対応づけを行っているようです。
この辺のアルゴリズムについては数学的な要素が含まれてくるため割愛しますが、詳しく知りたい方は以下を参考にしてみるとよいかと思います。
エルゴノミクスコンピューティング実習 全天球画像処理(関西学院大学)

実際に作成したマテリアルは、以下の画像のようになります。

●その3: Unreal Engine 4でスカイボックス(球)の作成

記事を参考に、スカイボックスを作成します。
こちらは、巨大な球を作成し、その2で作成したマテリアルを球に適用する作業を行っています。

あとは、スカイボックスをUnreal Engine 4のレベル(ビュー)に配置すれば完成です。

Unreal Engine 4の基本的な使い方を知っている方なら、比較的すぐに作成できると思います。また、3DCGの仕組みが分かっている方ならば、より深く理解できるかと思います。

今回は以上となりますが、引き続きVRについて調べていきたいと思います。

この記事を書いた人
沖田はじめ
エディター