本連載では、半年にわたりTHETA Z1での高品質HDRI作成を軸として、HDRIについての様々なテクニックを紹介・解説してきました。

最後にTHETA Z1での撮影に限らず、HDRIにて起きる問題などをまとめたHDRIの限界についての小話と、今後のHDRIについて書き留めましたのでそちらをお話ししつつ最終回としたいと思います。

記事の目次

    CGSLAB LLC.

    テクスチャスキャナの作成/スキャン。3Dスキャナ、フォトグラメトリー等を用いた3Dスキャニングなどのサービス、研究開発をしています

    site.cgslab.info

    関連記事:
    CG映像業界のテクニカル系の仕事を探る 第3回 前編:CGSLABの仕事
    CG映像業界のテクニカル系の仕事を探る 第3回 後編:3DスキャニングとCG映像制作の民主化

    Burst-IBL-Shooterのアップデート:v1.2(現在申請中)

    本題に入る前に、少しだけ現在CGSLABにて開発・提供しているBurst-IBL-Shooterをアップデートしましたので、そちらを紹介します。

    Burst-IBL-Shooter

    以前から、Burst-IBL-Shooterでは撮影したデータの連番の一番若い「BIS_0000.DNG」が基準となる露出ブラケット(0 → − → +)になっていました。

    そのため、配布している[HDRI_Merge]ノードへの接続時にはMargeの順番を入れ替える必要がありました。

    ▲前回の記事では、「0003」の後に「0000」の順序

    今回のアップデートで、0000〜0006までの連番の順番(− → 0 → +)で保存されるようになるため、必要な露出範囲の画像を連番の順で接続すれば良くなりました。

    これにより接続のミスを減らすことができ、スクリプトなどで自動処理する際にも利便性が上がったと思いますのでぜひ活用ください。

    また、以前の状態のビルドは提供されないので、今までの状態に合わせてスクリプトなどを制作していた場合は更新の必要がある点にご注意ください。

    ※GitHub上のReadmeページは以前のままですが、[THETA on Install]ボタン内はすでにこちらの内容に更新されています。

    HDRIの限界

    何度か連載内でも触れていますが、HDRIは所詮は撮影したカメラのレンズのある場所の照明状況を再現しているだけであり、万能ではありません。

    以下に、HDRIで起きる問題、再現できない環境の一部をまとめました。

    距離の問題

    光は逆2乗減衰するため、光源の距離が近い環境の場合、少しの位置の差で当たる照明の強度が変わります。

    しかし、HDRIの場合は撮影したカメラ位置のみが正確であり、CG上ではそこから動いているはずでも、HDRIを使用したIBLでは撮影場所に固定されたライティングになってしまいます。

    そのため、実際の照明の当たり方とは変わり、バックプレートなどとの馴染みが悪くなってしまいます。特に照明との距離が近い、室内やスタジオ撮影におけるHDRIの使用には限界が生じます。

    例えば、狭い室内に大きなCGオブジェクトを合成する場合は、照明や壁などとCGオブジェクトの距離が近くなるはずなので、HDRIでは適切なライティングは成立しません。

    廊下を歩くような場合では、はじめは照明の真下にいても数歩歩くと照明から外れたり、窓に近づくことで外光の影響を受けたりなど別の照明の影響が発生します。

    室内を動く場合、単一のHDRIでは撮影したその位置・角度から見えている光源しか画像に収まっていません。つまり単一のHDRIではそのような、対象の移動が伴うシーンをカバーできません。当然、照明の当たり方が変わることで影にも変化が出ます。特に落ち影、接地影などの変化が実写と一致しないと違和感が大きく、問題になりやすいです。

    なお、照明との距離が近ければ角度の変化が大きく、逆に離れていればその影響は少なくなります。CGの移動範囲にもよりますが、メインとなる照明から10~20mほど離れていれば、多少の移動でも支障はないはずです。

    対応策

    こうした照明との距離や角度といった位置の変化へ対応するためには、撮影環境と同じになるように3D的に正しく再現する必要があります。

    前回紹介したような、簡易モデルやスキャンデータにHDRIをテクスチャとしてプロジェクションすることはひとつの手段です。

    しかし、これでもHDRIの撮影位置から見えていない角度の照明などの影響が発生しないため、その不足分を補うために複数箇所でHDRIを撮影したり、照明だけのHDRIを撮影しておいて使用したり、追加のCGライトで補ったりする必要があります。

    そのため、最終的に全てモデル作成しCG上のライトで再構築する方が良い場合もあります。スキャンデータがあるとそれをガイドにしてCGのライトを配置しやすくなります。

    IBLとして使用する場合

    環境テクスチャ(IBL)としてHDRIを使用する場合では、サンライトと同じく、距離関係は無限遠になっているためシーンに依存しません。

    ただし、HDRIをモデルにプロジェクションしたりする場合は距離関係が正しくなる分シーンに依存するため、貼り付けるモデルのスケール、シーンとレンダラのシーンスケールのユニット単位設定に注意が必要です。

    物理レンダラでここの設定を間違うと、例えばアニメーション都合で1/10スケールでシーンの作業をしているのに、レンダラ側のユニット単位が1/1の場合、レンダリング結果がミニチュア撮影と同じになるため、光量が強すぎたり、光のバウンスが強く光と影の対比がミニチュアっぽいライティングになってしまったりする場合があります。

    プロジェクションする場合

    プロジェクションする場合はEmission(自己発光)マテリアルを使用すると思いますが、このとき照明だけを切り出したり、別撮りしておくと、エリアライトなどにテクスチャとして適用することで明るさの演出的な調整を行いやすくなり、レンダラによってはレンダーノイズを抑えることにも繋がります。

    地面からのバウンスは、基本的に落ち影の処理もあるためCG上で地面の追加を行うことになるでしょう。地面のマテリアル設定やテクスチャが適切であれば問題ありませんが、地面もHDRIをテクスチャとして使用する場合は、HDRI撮影時の地面に発生している照明の反射等による発光が強く、接地感が損なわれる場合があるので注意が必要です。

    太陽光+空のバウンスのみの場合は、距離が離れているため距離による減衰の影響はほぼありません。

    ライトの配光やコースティクスなどの再現問題

    HDRIでライティングする場合、照明の配光特性、リフレクターやレンズによって発生する光度分布(照らされた面の照度の広がり具合)は、基本的には再現されません。

    これらを再現するには、CG上のライトにIESライトを使ったりエリアライトに光度分布を示すテクスチャを割り当てたりする必要があります。

    また、ステンドグラスなどを通したライトでは、屈折を含めたコースティクス反射などの再現としても、環境マップとしてのライティングだけでは上手く再現ができない場合がほとんどです。こうした場合は、CGライトにテクスチャを使用するなどの必要があるでしょう。

    スペクトルの問題

    HDRI、撮影カメラで撮られるデータはRGBの画像データであるため、光の演色性といった光源スペクトルの問題により発生する見え方を再現することはできません。そういう意味では、RGBで光の計算がされるCG空間内においては、HDRIは演色性100%で機能します。

    そのため、低演色な照明やブラックライトなど特殊な光源環境で撮影したHDRIや、蛍光アクリルのように現実では紫外線などの特定波長に強く反応する材質のマテリアルでのレンダリングはそういった反応が再現できないため、HDRIを使用しても求める結果にならず、適切な環境再現を行えません。

    最近では安価なLEDライトでも比較的高演色となっており、低演色な照明環境は減ってきています。ですが、照明以外でも窓のフィルタや曇りなどバウンス光のみの状態でも低演色になる場合があるので、少なからず気にかける必要があります。

    また、極端な例ではありますが、水中は演色性が著しく落ちます。水中なども深くに行くほど赤の波長が届かなくなり、緑または青の波長成分の光だけの状態になっていきます。深いところにいる魚に赤色が多いのは、赤色の波長が届かないため、赤色の魚は黒く見え、身を隠すことができるからです。

    水中ではスペキュラもなくなるため、CGで再現するには特殊な環境のひとつと言えます。

    基本的にはCG上でそこまでを求めることは難しいため、シェーディングでフェイク処理をしたり、コンポジットで色調整をして対応することが一般的です。

    実際、これらを再現しようとすると、WetaFXが行なっているようにスペクトルレンダラを使い現場で使用されている各ライトのHDRIを作成したものと、それらの各ライトの分光測定データをセットにしてエリアライトに使用する必要が出てきます。マテリアルも分光特性を再現することでより正しい表現ができるようになります。

    参考:Spectral Imaging in Production:Course Notes Siggraph 2021
    jo.dreggn.org/home/2021_spectral_imaging.pdf

    静止画であることによる問題

    HDRIはブラケット撮影をする以上、基本的には静止した環境状態での撮影になります。そのため、以下のような撮影が難しい光源や状況・環境が発生します。

    ・太陽が雲に隠れたり出たりするような変化のある日照状況
    ・走るクルマなどライティング対象が移動を伴う環境変化がある状況
    ・木漏れ日
    ・フリッカーのある蛍光灯
    ・動的な屋外ビジョンなどの光源
    ・炎や水面の反射などの明滅のある光源
    ・舞台や移動感を出す演出でムービングライトがある場合
    ・レフ板等が追従する場合 etc…

    こういった場合、そのままTHETA Z1などで動画を撮影したとしても、リファレンスにはなりますが色味の問題や光源はクランプされてしまうため多くの場合HDRIには使用できません(光源を補完できる環境がある場合や、映り込み用のリフレクションマップとして使う場合は使用できることがある)。

    予算があるプロジェクトであれば、一部の一眼レフやシネマカメラを複数台使用して360°撮影リグを作成したり、一部の高額な360°カメラを使ったりしてRAWやLogで360°動画を撮影することで、高輝度な光源はクランプされるかもしれませんが一応動画のHDRIを作成することはできます。

    水面や木漏れ日のスタジオ演出で照明等にゴボフィルタを使用している場合や、レーザー光源演出(※撮影ではカメラセンサにもレーザーが直接当たると良くない)などは、照明の動きを止めてもらうなどして一定の環境で撮影を行うことはできますが、基本的にはCG上で再度ライティングを行いCGの照明を動かす方が良いです。

    ゴボフィルタは照明メーカーで参考画像が公開されているものもあるため、それらをCGのスポットライトに貼り込むテクスチャの参考にして動かしたりするのもひとつの手段となります。BlenderではGobo's Plusというアドオンも出ています。

    太陽や雲の変化等の場合、ブラケット撮影+時間間隔を決めてタイムラプスを組み合わせてHDRI撮影を行う方法もあります。

    照明や影にちょっとした動きがあるだけで、シーンのリアルさが向上します。

    フォグや煙の問題

    撮影現場での演出として、フォグを焚く、土煙が立っている、そのほか先に述べた静止的な問題などで、HDRIを撮影する場所でも時間経過で状況が常に変化する場合があります。

    同様に雨や雪などの、降らしものがある場合も影響が出る可能性があります。

    そういった、ベストな状態でのHDRI撮影が行えない場合は、最終的にはCG上のライティングやコンポジットで調整する必要があります。

    太陽の下と影の中

    HDRIを撮影する場合は、可能であれば太陽の下と影の中での両方で撮影できるのが望ましいです。

    これは影色を含めてリファレンスとして確認できるからですが、もし太陽のあるHDRIだけあればその太陽をCGオブジェクトで遮ったり、太陽光源を事前に消し込んでおくことで影の中の再現が可能です。

    キャラクターなどが影に入ったり出たりする場合は、太陽の見える場所でHDRIを撮影しておき、CGオブジェクトで影の中を再現することで木漏れ日の中など適切なライティングを行えます。

    マジックアワーの夕景など、綺麗な茜色の空だからと言っても、影の中でHDRIを撮影した場合には背景としては使用できますが、反射のないオブジェクトのライティングに使用しても茜色の空のバウンスの影響はほぼ起きません。そのため、思っていたのとちがう見た目になってしまったという問題が発生します。

    この場合は、夕焼けの太陽が入るように撮影しておいた方がより活用しやすいHDRIと言えます。

    追加の演出ライトの必要性

    実写の撮影では動く人物に対して追従するようにレフ板で光を当てたり、逆に強すぎる光を抑えたり、カットに合わせて様々な調整が行われます。

    CGのキャラクターを合成する場合は、撮影時には存在しないためそれらの調整が施されていません。そのため、CG上で演出ライトを追加する必要があります。

    キャラクターであれば瞳にキレイなハイライトが入るようにライトを追加したり、エッジが際立つようにリムライトを追加したり、強い光を抑えたり和らげたりといった調整を行います。

    実際の撮影現場は想像以上につくられた環境で、現実には照明がないような場所にも多くの照明が設置されていたりしますが、カメラを通すとそれを感じさせない照明バランスになっています。背景も照明による視線誘導や演出は必要不可欠なものです。

    このように、現実でも様々な調整が行われているので、HDRIでレンダリングしているからこの画がライティング的に正しい、と盲信するのではなく、レンダリング結果が良い画になるように、CG上でも柔軟なライティングの工夫が重要となります。必要に応じてHDRIに映っている照明の明るさを抑えることもあります。

    CG上では現実ではできないようなライティングも行えてしまうため、それが良いときも悪いときもあります。特にフォトリアルに見せたい場合、ライティングは重要な工程となります。

    日本の実写VFXの現場では専門のライティングアーティストはかなり少なく、基本的に何かしら別の役職と兼任だったりと扱いが良くないことが多いですが、ライティングは重要な工程であるという認識が必要です。

    背景ライティングの問題

    背景をライティングする必要がある場合、室内で撮影したHDRIで、天井のある室内の背景CGモデルのライティングはできません。ただ、参考として撮影されていることでCG内でのライティングのリファレンスとしての使用は可能です。

    また、同様に壁や天井等のセットエクステンションを行う場合も、スタジオで撮影されたHDRIは多くの場合あまり使いものになりません。なぜならHDRIの光源をCGのセットで遮ることになるためです。

    開けた広大な背景の拡張の場合には、スタジオで撮影したHDRIを使用してもあまり良い結果にならないことが多いです。スタジオでは狭い環境で広く見せるための実写のライティングテクニック、中心となる人物等が良く見えるライティングが行われているためで、それらのHDRIを使用しても拡張された広いCG空間を綺麗にライティングすることは難しいのです。

    HDRIの光源だけ切り出してCGの照明にテクスチャとして使うことは可能ですが、多くの場合は近しい条件の屋外のHDRIを使用したり、ゼロからCG上でライティングしたりといった対応が必要になります。

    クロマキー合成とHDRI

    実写背景に対して、スタジオ内でクロマキー撮影を行なって合成することは一般的によくあることです。やっていることはCG合成と同じで、実写背景撮影時の照明環境をスタジオ内で照明技師さんが再現していることになります。

    当然再現するためには、多くの場合は実写背景を先に撮影し、スタジオでクロマキー撮影時に簡易合成しながら照明の調整をします。実写の照明技師さんはHDRIといった便利なものは使用できないため、露出計等を駆使して、合成したとは思えないほど馴染みの良いライティングを行なってくれます。

    そのため、これらにCGも合成する場合でも、多くは背景撮影時のHDRIを使用する方がCGの馴染みは良いですが、スタジオ撮影時のHDRIの方が見映えが良いということもままあります。CG合成がない場合でも空き時間にそういう環境を参考としてHDRI撮影を行なっておくと、実写のライティングテクニックをCGに活かせるかもしれません。

    クロマキー撮影で背景がCGの場合は、そもそも先にも述べたようにスタジオ照明のHDRIを使っても背景のための照明になっていないため、背景を適切にライティングすることは難しいです。

    そのため、CG側で照明を追加していく方が良い結果になりやすいですが、クロマキー撮影時のHDRIがあることで照明技師さんの目指した方向性を知る手がかりにはなります。

    本当はCGが先にできていて、それに合わせたライティングを現実でやってもらえるのが理想でしょうが、それはなかなか難しいです。

    最近ではLEDウォールを使った撮影等で、CGが先行して制作されたり、ライティングにもHDRIを併用したりといった事例も出てきているため、実写とCGどちらの知識も求められる現場がより増えるかもしれません。

    クロマキー撮影の色かぶり問題

    グリーンバックが敷かれた状態などのクロマキー撮影時に、合わせてHDRI撮影をした場合は、当然ながらグリーンが映り込んでいます。

    そのため、そのまま利用するとCGなのにグリーンの色かぶりが発生するという事態が起きます。

    CGに対してデスピル処理をするのは本末転倒ですから、HDRIのクロマキー部分をデスピル処理するかマスク処理し、輝度を保持したまま、彩度は抜いておきます。そうすることで色かぶりはなく、クロマキーによるライティング、レフ効果は残した状態にすることが可能になります。

    実写の現場では、クロマキーからの照り返しを低減するためにカメラに映らない場所は暗幕を敷いたりします。HDRIを使用する際も、必要に応じてCG上で同様の処理を行う方が良い場合があります。

    これからのHDRI

    現状では、撮影された映像に対して実写合成する場合には、きちんと撮影したHDRIを基準にしてライティングのベースを用意する方が手軽に実写プレートに対して適切なライティングを行えます。

    しかし、将来的には一発で太陽まで撮影できるHDRIカメラの登場……これは技術的観点と需要の問題からあまり期待できませんが、AIや機械学習を基にクランプされた光源の補完や、HDRI自体の画像生成などの事例が出始めています。

    それらが活用されるようになれば、もしかしたら、HDRIを使用したIBL自体が古い技術になるかもしれません。

    期待のiPhoneアプリ「Simulon」

    そのような流れのひとつとして、「Simulon」という、今回紹介したような一連のVFX合成作業がiPhoneひとつで可能なアプリも今年リリースが予定されています(現在クローズドベータテスト中)。南アフリカのスタートアップ企業が開発しており、リリースが楽しみです。

    簡単にアプリの機能を紹介したいと思います。

    ・屋外、屋内などのシーンを選択して360°のHDRI撮影(SDRから機械学習ベースの自動光源補完でHDRI生成)
    ・環境の簡易LiDARスキャン(3Dスキャン)
    ・カラーチャート、グレーミラーボールを参照して照明強度の確認と調整、キャリブレーション確認が可能
    ・ライブラリのアセットまたは事前に用意したCGモデルをAR機能を使い配置確認してのリアルタイムカメラトラッキング、プレビューを行いながらの動画撮影
    ・クラウドにアップロードしてレンダリング、またはBlenderへファイルの書き出し
    ・ファイナルの合成動画の完成

    ※執筆時点での公開情報を基に紹介しているので、リリース版の仕様と異なる場合があります。

    環境の3Dスキャンも同時に行うことで、より映り込みや接地感、落ち影など、正確なライティングと合成を行うことができるようです。専用の同期アドオンを使い、Blenderに書き出してより細かい調整やエフェクトの追加等も行えます。

    モーションセンサを併用したARのトラッキング機能により、通常ではカメラトラッキングが難しいようなカメラワークでも合成を行いやすくなります。

    カメラのシャッタースピードやISO、絞り、ホワイトバランス等の値も記録されているため、本来だとコンポジター泣かせの自動露出やモーションブラー、オートホワイトバランスに対しても結果が一致します。

    これで撮影されたHDRIはキャリブレーションまでされているため、簡易HDRI撮影ツールのひとつとしても期待されます。

    実際の撮影現場でもキャラクター合成のアングル確認やアニメーションタイミングの確認などの用途が考えられます。撮影カメラにマウントして同録することでリファレンスにすることもできそうです。

    また、スマートフォンで手軽にPBRテクスチャのフォトグラメトリを行えるアプリもM-XRからリリースが予定されており、Simulonと組み合わせるとスマホひとつでそれなりに高品質なVFX合成が行えることになりそうです。

    こういうツールや技術が増えると、敷居の高いVFX制作もより手軽に誰でも高品質に行えるようになってくるかもしれません。

    最後に

    全8回の連載でお送りした「THETA Z1を用いたVFX向け高品質HDRI作成ハンドブック」は今回で終了となります。

    HDRIによるライティングは画づくりのスタートラインです。いかにそこから魅力的に見せるかがアーティストの腕の見せどころとなりますが、その基礎となるHDRIのクオリティに問題があると本来不要な作業の対応に追われたりします。今回紹介したのはそんな基礎をしっかり固めるための第一歩となります。

    少しでも皆さんの作品のクオリティアップの役に立てば幸いです。

    TEXT_CGSLAB
    EDIT_小村仁美 / Hitomi Komura(CGWORLD)