【Blender5.0】パノラマカメラをわかりやすくまとめてみた

blender
記事内に広告が含まれています。

Blender の Cycles には、普通のカメラとは別に 「パノラマカメラ(Panoramic Camera)」 が用意されています。
360°画像を作ったり、プロジェクション、VR用の映像を作ったり、魚眼レンズの歪みを再現したり、ふだん使わないけど知っておくと便利なカメラたちです。

この記事では、難しい数式なしで直感的に理解できるように、それぞれのカメラの特徴や使いどころをまとめてみました。

※注意:パノラマカメラは ビューポートのソリッド表示では反映されません。レンダービューのみ有効です。

この記事は、Blenderのパノラマカメラについて解説している初心者~中級者向けの記事です。

難易度 2.5

スポンサーリンク

Blenderのパノラマカメラの使い方

基本設定

パノラマカメラを使いたいときは

  • レンダーエンジンCycles
  • カメラプロパティで Lens > TypePanoramic
  • 3Dレイアウトのビュー… レンダービュー(にしないと効果が見えません)

にします。

パノラマカメラの種類

パノラマカメラには複数の種類があります。

  • Equirectangular(正距円筒図)
    • 360°のHDRI画像などがレンダリングできる
  • Equiangular Cubemap Face(等角キューブマップ面)
    • VRのために設計された高品質パノラマ
  • Mirror Ball(ミラーボール)
    • 鏡面球に映り込んだ環境を再現
  • Fisheye(魚眼)
    • Fisheye Equisolid(等立体角射影)
      • 現実の魚眼レンズに近い
    • Fisheye Equidistant(等距離射影)
      • センターに丸く映るタイプ
    • Fisheye Lens Polynomial(魚眼レンズ多項式)
      • レンズの歪みを完全再現したいとき
  • Central Cylindrical(セントラルシリンドリカル)
    • 大型の曲面スクリーンを活用するとき

以下それぞれを解説していきます。

スポンサーリンク

Equirectangular(正距円筒図)

一番よく使うパノラマ方式。
横360° × 縦180° をまるごと撮影する、いわゆる「360°画像」です。HDRI画像が簡単に作れます。

特徴

  • Blender の Environment Texture(環境テクスチャ、HDRI)と完全互換
  • このカメラで撮った画像は、そのままワールド環境として使える
  • VR動画、全天球画像、背景画像の作成に最適

HDRI画像(環境テクスチャ)の作り方

  • レンダーエンジンCycles
  • カメラプロパティで Lens > TypePanoramic
  • 3Dレイアウトのビュー… レンダービュー(にしないと効果が見えません)
  • 出力プロパティ…解像度(Resolution)を設定する… 例:4096×2048px(4K)、2048 × 1024px(2k)
  • Media Type… Image
  • File Format
    • OpenEXR(.exr形式)推奨。
    • Radiance HDR(.hdr形式)も使える。容量が軽くなるが、うまく色が表現されないときもある
  • カメラプロパティのカラーマネジメント > ViewStandard

簡単な地形とSky Textureの光源で作ってみました。

カメラの向きの注意

ワールドのデフォルトと向きをそろえる場合は、カメラを (90, 0, -90) に回転させておくと一致します。
※そもそもHDRI画像が歪まないようにXは90°、Yは0°に固定した方がいいです

上部メニューのRenderタブ > Render Imageでレンダリングできます。

HDRI画像(環境テクスチャ)を使うとき

ワールドプロパティでColorの黄色い〇をクリックすると選択画面が出るので、そこでEnvironment Textureを選択。

画像を選択できるようになるのでファイルアイコンをクリックし、作成したexrファイルなどを選択しOpen Imageで開いたらすぐ使えます。

視野を制限したいとき

360°全て写すHDRI画像を作りたいときは構わなくていいです。ある範囲だけ切り取りたいときに設定する

  • Latitude Min/Max:上下の範囲
  • Longitude Min/Max:左右の範囲
    → 必要な部分だけ切り抜ける。
スポンサーリンク

Equiangular Cubemap Face(等角キューブマップ面)

Equirectangular の「極に行くほど画質が粗くなる」欠点を改善した方式。
VR用途ではこちらの方が 全方向で均一な解像度 を確保できます。

特徴

  • VRのために設計された高品質パノラマ
  • 球全体で解像度が均一なので見た目の劣化が少ない
  • キューブマップよりも端の歪みが少ない

VRChatでのSkyboxの作成などにいいのかなと思いましたが、多くの方がEquirectangularで作成していました。PCで遊ぶ人も多いのでそこまでこのカメラが必要とされてないのかもしれません。VR機器でがっつり遊ぶゲームなどだとまた違うのかもしれませんが。まだ自分でVRChatでの検証はしていません。

注意点

環境テクスチャを

上:Equirectangular
下:Equiangular Cubemap Face

で作ってみた比較

Blenderで使ってみたところ、Equiangular Cubemap Faceで作ったものは地形のふちが丸くなり、地面の情報もかなりなくなっていたので、Blenderでの使用には向いてないと思いました…。

  • 緯度・経度の制限はできません
    → 常に全周レンダー。
スポンサーリンク

Mirror Ball(ミラーボール)

鏡面の球(ミラーボール)に映った景色をレンダーします。

昔のHDRI撮影手法として使われていた。
しかし、現代ではただ鏡面球に映り込んだ環境を再現することができる撮影手法というだけです。

主な用途

  • ミラーボールで撮影した実写素材との比較
  • 研究・特殊用途
  • 球体に映った画像・動画作成用

通常の制作ではあまり使わないらしい。球体に映った映像など作るときに使えるかも。

解像度サイズを1:1にすると球になります。

解像度サイズを変えれば楕円型にもできます。

スポンサーリンク

Fisheye(魚眼)

現実の魚眼レンズのように、かなり強い広角歪みで撮影します。
ドーム映像、プラネタリウム、アート表現に最適。

● Fisheye Equidistant(等距離射影)(センターに丸く映るタイプ)

このレンズタイプは 実在のレンズモデルには対応していません
代わりに、センサー情報を使わず、センサー全面を使った“円形の魚眼映像” を作ります。

これは特に プラネタリウムなどのフルドーム投影に適している とされています。

理由:

  • ドーム映像は「角度 → 画面上の距離」が等しい Equidistant の方が扱いやすいため
  • プロジェクションマッピングとの相性が良い

設定項目

Field of View(視野角)…視野角を設定します。360°以上にも設定でき、全周囲(全方位)の環境を撮影することが可能です。

Shift X / Y…カメラが横、縦に移動します。映ってるものが位置をシフトさせます。

Clip Start/End(クリップ開始/終了)…カメラが「どの距離の範囲を表示するか」を決める。範囲外のものはレンダリングされません。近いところが黒く切れてしまうときはStartの値を小さくし、遠くが非表示にされてしまう場合はEndの値を大きくするときちんと表示されるようになる。

ドーム投影に適しているというのでちょっとやってみました。(※スカイドーム(SkyDome)とか言うらしい)

  • 解像度を1:1にして円状にする。
  • 半球に投影したいのでFOVを180°に設定
  • カメラを真上に向けて空などを撮影。
    • 上のレンダリング画像のような魚眼の画像が撮れます。
  • それを半球のオブジェクト内部にテクスチャで貼りつけてみる。(内部に貼り付ける場合は法線を逆にしてください)

撮り方はわかるけど、貼り付け方がよくわかりませんでした。Object座標ではりつけてみましたが、おそらくもっと専門的な貼り付け方があるんだと思います。UVで貼ると自分で調節できますが、デフォルトでいい感じには貼れないと思います。

追記:Generate座標でも貼り付けることができました。これも比率が合ってるのかはよくわかりません。

半球用のプロジェクションでうまく投影できるのだろうか?専門的すぎてよくわかりませんでした…。

● Fisheye Equisolid(等立体角射影)(現実の魚眼レンズに近い)

このレンズタイプは 実在する魚眼レンズの特性に最も近い です。
焦点距離(mm)と視野角(FOV)を設定でき、センサーサイズも計算に含めて投影します。

つまり:

  • 現実のカメラの魚眼レンズを再現したいとき
  • 写実的な魚眼表現を作りたいとき

に適しています。

映る大きさとか黒フチの範囲をある程度自由度高く変えることができます。

よくあるドアスコープから見た人の顔とかそういう表現が簡単にできそうです。ドアスコープだと大体FOVは160°前後らしい。

設定項目

Lens(レンズ)…レンズの焦点距離(mm)を設定します。

Field of View(視野角)…視野角を設定します。360°以上にも設定でき、全周囲(全方位)の環境を撮影することが可能です。

●Fisheye Lens Polynomial(魚眼レンズ多項式)

4次多項式でレンズの歪みを細かく設定できるプロ用モード。
研究・実写合成・特殊案件で使われます。

Kの値によってはリングができたりして面白いけど、かなり扱いづらいです…。

できること

  • 特定の実機レンズの歪みプロファイルを再現
  • 魚眼だけでなく、普通のレンズの歪みもシミュレート可能

一般的な制作ではほぼ使わない…と思う。

スポンサーリンク

Central Cylindrical(セントラルシリンドリカル)

巨大な円柱スクリーンに映像を投影するための専用カメラ。人が円柱の内側に立ったときに、ぐるっと見えるパノラマ映像を崩れずに投影できる。

  • 水平方向:360°をそのまま展開
  • 垂直方向:縦方向が不自然に伸びず、柱に投影したとき破綻しにくい補正

デフォルト値が hight -1~1、半径1mになっているので、おそらくシリンダーのオブジェクトに合うように設定されているんだろうな…と思われます。垂直視野角は90°らしい。

Blender Developerページより

横方向360°、垂直視野角90°より、4:1の横長でレンダリングすると揃うらしいので4096×1024pxの解像度でレンダリングしてみました。

デフォルトのシリンダーにGenerateの座標から貼り付けてみるとぴったり貼れました。

右動画はシリンダーの中からカメラを回して撮ってみたものです。

こういう円筒形のプロジェクションに使える動画・画像が撮れそうですね。

スポンサーリンク

まとめ

パノラマカメラは普段あまり触らない機能ですが、
VR、背景作成、プラネタリウム、プロジェクションマッピングなどのアート表現などで一気に表現の幅が広がる便利な機能です。

どれを使えばいいか迷ったら

  • 360°環境用画像(環境テクスチャ) → Equirectangular
  • VR用 → Equiangular Cubemap Face
  • 魚眼レンズ効果 → Fisheye Equisolid(等立体角射影)

この3つくらいが主によく使われる用途だと思います。

コメント