【光照】Unity中的[光照模型]概念辨析

【从UnityURP开始探索游戏渲染】专栏-直达

基础光照模型‌

‌标准光照模型(Standard Lighting Model)‌

  • 定义‌:传统光照计算的框架,通常包含漫反射、镜面反射和环境光三部分。
  • 特点‌:非物理经验模型,计算简单但缺乏真实感。
  • 从属关系 ‌:
    • 包含 ‌漫反射 ‌ 和 ‌高光反射
    • 是 ‌Phong模型 ‌ 和 ‌Blinn-Phong模型‌ 的基础框架。

‌漫反射(Diffuse Reflection)‌

  • 定义‌:光线均匀散射到所有方向(如哑光表面)。
  • 模型 ‌:
    • 兰伯特模型Lambertian Model ‌:
      • 公式:I = k_d * (N·L)
      • 特点:与视角无关,仅依赖法线和光照方向。

‌高光反射(Specular Reflection)‌

  • 定义‌:光线集中反射(如镜面或金属光泽)。
  • 模型 ‌:
    • Phong模型 ‌:
      • 公式:I = k_s * (R·V)^n
      • 特点:基于反射向量(R)和视角(V)计算高光。
    • Blinn-Phong模型 ‌:
      • 公式:I = k_s * (N·H)^n
      • 特点:用半角向量(H)替代反射向量,计算更高效。

‌物理基础模型‌

‌BRDF(Bidirectional Reflectance Distribution Function)‌

  • 定义‌:描述入射光与出射光关系的数学函数,是PBR的理论基础。
  • 特点 ‌:
    • 满足能量守恒(反射率≤1)。
    • 包含 ‌漫反射 ‌ 和 ‌镜面反射‌ 的物理计算。
  • 从属关系 ‌:
    • 是 ‌PBR‌ 的核心数学工具。
    • 包含 ‌GGX ‌(法线分布函数)和 ‌菲涅尔效应‌。

‌GGX(Trowbridge-Reitz分布)‌

  • 定义‌:一种微表面法线分布函数(NDF),用于PBR的镜面反射计算。
  • 特点 ‌:
    • 更真实模拟粗糙表面的高光拖尾效果。
    • 公式:D(m) = α² / [π((N·m)²(α²-1)+1)²]
  • 从属关系 ‌:
    • 属于 ‌BRDF‌ 的组成部分。
    • 是 ‌Cook-Torrance BRDF‌ 的核心部分。

‌菲涅尔效应(Fresnel Effect)‌

  • 定义‌:光线在不同角度下反射率变化的物理现象(如玻璃边缘更反光)。
  • 特点 ‌:
    • 金属材质反射率随角度变化显著。
    • 非金属材质(如塑料)反射率较低。
  • 从属关系 ‌:
    • 是 ‌BRDF‌ 的组成部分。
    • 在 ‌PBR‌ 中用于计算镜面反射。

‌高级渲染框架‌

‌PBR(Physically Based Rendering)‌

  • 定义‌:基于物理的渲染流程,使用BRDF等物理模型模拟真实光照。
  • 特点 ‌:
    • 能量守恒(无"超亮"高光)。
    • 参数化(金属度、粗糙度)。
  • 从属关系 ‌:
    • 基于 ‌BRDF ‌ 和 ‌微表面理论‌。
    • 包含 ‌GGX ‌ 和 ‌菲涅尔效应‌。
    • 替代传统 ‌标准光照模型‌。

‌关系层级图‌


‌关键区别‌

概念 物理性 计算复杂度 应用场景
标准光照模型 实时渲染(如老游戏)
BRDF 电影级渲染
PBR 现代游戏/3D设计

‌总结‌

  • 传统模型‌(如Phong/Blinn-Phong)是经验公式,适合快速渲染。
  • BRDF‌ 是物理模型,为PBR提供数学基础。
  • PBR‌ 是完整流程,整合BRDF、GGX、菲涅尔等实现真实感渲染。

【从UnityURP开始探索游戏渲染】专栏-直达

(欢迎点赞留言探讨,更多人加入进来能更加完善这个探索的过程,🙏)

相关推荐
da_vinci_x10 小时前
游戏UI告别“贴图”时代:用Adobe XD构建“活”的设计系统
游戏·ui·材质·贴图·游戏策划·游戏美术·pbr
Robbie丨Yang16 小时前
【Unity 入门教程】二、核心概念
unity·游戏引擎
陈言必行1 天前
Unity 性能优化 之 实战场景简化(LOD策略 | 遮挡剔除 | 光影剔除 | 渲染流程的精简与优化 | Terrain地形优化 | 主光源级联阴影优化)
unity·性能优化·游戏引擎
爱吃小胖橘1 天前
Unity-动画基础
unity·c#·游戏引擎
陈言必行1 天前
Unity 性能优化 之 内存优化
unity·性能优化·游戏引擎
ellis19701 天前
LuaC API开发环境搭建保姆级教程
c++·unity·lua
绀目澄清1 天前
Unity 游戏引擎中 HDRP(高清渲染管线) 的材质着色器选择列表
unity·游戏引擎·材质
ellis19701 天前
toLua[二] Examples 01_HelloWorld分析
unity·c#·lua
SmalBox1 天前
【光照】[环境光ambient]以UnityURP为例
unity·渲染
m0_497214151 天前
在unity urp项目中 通过图片创建材质(透明光晕)
unity·材质·photoshop