ゲームグラフィックが成熟するにつれ、キャラクターの肌、金属の質感、屋外の自然光など、どんな環境でも破綻しないリアルな見た目が求められるようになり、従来のシェーディング方法では限界が見え始めました。
そこで登場したのがPBR(Physically Based Rendering)です。
PBRは、現実世界の光のふるまいを物理法則に基づいて再現するレンダリング手法で、光と物質の相互作用を正しく扱うことで、どんな環境でも自然な見た目を実現するという考え方が中心にあります。
近年のゲームエンジンや映像制作現場の多くがPBRを採用しており、現代のCG制作の標準技能となっております。
本講座では、PBRの基本概念からシェーダーコードの実装例を解説していきます。
本記事では、第一回としてPBRの基礎概念について紹介します。
PBRとは何か
PBR(Physically Based Rendering)とは、現実世界の光のふるまいを物理法則に基づいて再現するレンダリング手法です。
最大の目的は、光源・環境・カメラ角度が変わっても破綻しない質感を再現することにです。
- 昼から夜に切り替わっても自然に見える
- 屋内・屋外で質感が変わらない
- HDR環境でも破綻しない
- ライトの強さを変えても不自然にならない
こういった実装は、PBRが物理法則に基づく一貫したモデルを採用しているからこそ実現できます。
PBRの三大原則
PBRは物理ベースレンダリングの名を持つ通り、現実世界の光のふるまいを再現するための物理法則を守る必要があります。
その中心となる原則が三つあります。
- エネルギー保存則
- フレネル効果
- マイクロファセット理論
エネルギー保存則
エネルギー保存則とは物体が反射できる光の量は、入射した光の量を超えないという物理の基本原則です。
PBR以前のモデルでは
- 光沢を強くしすぎる
- 反射と拡散を同時に強くする
といった設定が可能で、入射光より明るくなる不自然な見た目が発生していました。
PBRでは、それを防ぐために
- 鏡面反射が強くなるほど拡散反射は弱くなる
- 金属は拡散反射を持たず、鏡面反射のみ
といった制約を作りました。
その結果、従来のシェーディング(Phongモデルなどと比べて)
- ライトの強さを変えても破綻しない
-
HDR環境でも自然な見た目になる - アーティストが
見た目合わせをする必要が減る
といったメリットが生まれました。
フレネル効果
フレネル効果とは、物体の反射率は、視線角度によって変化するという現象です。
身近な例ですと、水面を真上から見ると透明に近いが、斜めから見ると強く反射し、白っぽっく見えることなどがあげられます。
その結果、従来のシェーディング(Phongモデルなどと比べて)
- 金属・プラスチック・水・ガラスなどの質感が自然になる
- カメラ角度を変えても破綻しない
といったメリットが生まれました。
マイクロファセット理論
マイクロファセット理論とは、表面は無数の微小な鏡(マイクロファセット)の集合体であるという理論のことです。
現実の物体の表面は、平面に見えても完全な平面ではなく、粗さがあります。
ガラスの表面は触るとつるつるですが、紙やすりはザラザラ、アスファルトに至ってはゴツゴツしているはずです。
この粗さが、ハイライトの形状や強さを決めます。
この表面を考慮することにより
- 粗さ(
roughnes)の値によって質感を直感的にコントロールできる - 金属・プラスチック・石・布など幅広い質感を再現できる
- ハイライトが物理的に正しい形状になる
といったメリットが生まれました。
三大原則の効果
これらの三大原則を守ることによって
- 環境が変わっても破綻しない
- アセットの再利用性が高い
- 調整コストの削減
- よりリアルな光の振る舞いの再現
といったメリットのあるシェーディングが可能になります。
総括
-
PBR(物理ベースレンダリング)によって、物理法則に基づく一貫した描画を行えるようになった -
PBRの三大原則を守ることで、よりリアルで環境が変わっても破綻しないシェーディングが行えるようになった
次回記事(五つの基本パラメータについて)