首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >游戏渲染技术:PBR 材质与实时光照的核心原理与实践

游戏渲染技术:PBR 材质与实时光照的核心原理与实践

原创
作者头像
怀旧云尘手游
发布2026-04-16 11:32:06
发布2026-04-16 11:32:06
3330
举报

一、引言

在 3A 游戏与次世代手游的视觉进化中,PBR(基于物理的渲染)实时光照是决定画面真实度的核心技术。从《原神》的细腻材质到《黑神话:悟空》的光影质感,这些技术让游戏画面从 “平面贴图” 迈向 “物理真实”。本文将从原理、实现、优化三个维度,解析 PBR 与实时光照的核心逻辑,帮助开发者理解并应用这些技术。

二、PBR 材质:物理真实的核心基础

2.1 PBR 的核心原理

PBR(Physically Based Rendering)遵循能量守恒物理光学规律,通过精确模拟光线与材质的交互,实现跨场景、跨光照环境下的稳定真实感。

  • 能量守恒:材质反射的光线总量≤入射光线总量,避免 “超亮反光” 等不真实效果。
  • 微表面理论:将材质表面视为无数微小镜面,通过粗糙度(Roughness)控制微表面排列,决定反射模糊程度。
  • 菲涅尔效应:光线以不同角度入射时,反射强度变化(如水面、玻璃边缘更亮)。

2.2 PBR 材质的关键参数

表格

参数

作用

取值范围

Albedo(基础色)

材质本身颜色(无光照影响)

0-1(RGB)

Normal(法线)

模拟表面凹凸细节(纹理化)

-1~1

Roughness(粗糙度)

表面光滑度(0 = 镜面,1 = 粗糙)

0-1

Metallic(金属度)

区分金属 / 非金属(金属反射环境,非金属反射漫反射)

0-1

AO(环境光遮蔽)

模拟缝隙、角落的阴影(增强立体感)

0-1

2.3 金属 / 非金属材质差异

  • 金属(Metallic=1):无漫反射,反射环境光,颜色由 Albedo 决定(如铁、铜)。
  • 非金属(Metallic=0):有漫反射,反射弱,颜色由 Albedo 决定(如木头、塑料)。

三、实时光照:动态光影的核心技术

3.1 实时光照的分类

游戏中光照分为静态光照(预计算)、动态光照(实时计算)、混合光照(静态 + 动态)。

  • 静态光照:场景光照预计算,适合固定场景(如《我的世界》),性能高但无动态变化。
  • 动态光照:实时计算光源、阴影、反射,适合动态场景(如角色移动、天气变化),性能消耗大。
  • 混合光照:静态光照 + 动态光源(如《原神》),平衡性能与效果。

3.2 核心光照技术

3.2.1 直接光照(Direct Lighting)
  • 点光源(Point Light):全方向发光(如灯泡)。
  • 方向光(Directional Light):平行光(如太阳光)。
  • 聚光灯(Spot Light):锥形发光(如手电筒)。
3.2.2 间接光照(Indirect Lighting)
  • 环境光(Ambient Light):全局漫反射光(如天空光)。
  • 反射(Reflection):材质反射环境(如水面、金属)。
  • 折射(Refraction):光线穿透透明材质(如玻璃、水)。
3.2.3 阴影技术
  • 硬阴影(Hard Shadow):边缘锐利,性能高(如《CS2》)。
  • 软阴影(Soft Shadow):边缘模糊,真实度高(如《原神》)。
  • 阴影贴图(Shadow Map):主流实时阴影技术,通过深度图计算阴影。

四、PBR + 实时光照的实现流程

4.1 材质制作(Blender/Substance Painter)

  1. Albedo:绘制基础颜色,避免纯黑 / 纯白。
  2. Normal:添加凹凸纹理(如木纹、石头纹理)。
  3. Roughness:控制光滑度(金属低粗糙度,非金属高粗糙度)。
  4. Metallic:区分金属 / 非金属。
  5. AO:添加缝隙阴影。

4.2 引擎实现(Unity/Unreal)

Unity 流程
  1. 导入 PBR 材质贴图(Albedo、Normal、Roughness、Metallic、AO)。
  2. 使用Standard Shader(PBR),设置参数。
  3. 添加Directional Light(太阳光)、Point Light(点光源)。
  4. 开启Shadow Map(阴影贴图)、Reflection Probe(反射探针)。
Unreal 流程
  1. 导入贴图,创建Material Instance
  2. 使用Metallic/Roughness工作流。
  3. 添加Directional LightSky Atmosphere(天空)。
  4. 开启Stationary Light(静态 + 动态混合光照)。

4.3 效果对比(PBR vs 传统材质)

  • 传统材质:仅基础色 + 高光,光照不真实,跨场景效果差。
  • PBR 材质:光照稳定,材质真实,跨场景效果一致。

五、性能优化:平衡效果与帧率

5.1 材质优化

  • 减少贴图分辨率:移动端用 1024×1024,PC 用 2048×2048。
  • 合并贴图:将多张贴图合并为一张(如 Albedo+Normal)。
  • 关闭不必要参数:移动端关闭ReflectionRefraction

5.2 光照优化

  • 静态光照:场景固定部分用静态光照(预计算)。
  • 动态光照:仅角色、动态物体用动态光照。
  • 阴影优化:降低阴影分辨率、减少阴影距离。

5.3 引擎优化

  • LOD(细节层次):远处模型降低面数、贴图分辨率。
  • Occlusion Culling(遮挡剔除):不渲染被遮挡物体。

六、实战案例:《原神》PBR + 光照技术解析

6.1 材质系统

  • 金属材质:武器、盔甲(高金属度、低粗糙度)。
  • 非金属材质:木头、石头、布料(低金属度、高粗糙度)。

6.2 光照系统

  • 方向光:太阳光(动态,随时间变化)。
  • 环境光:天空光(动态,随天气变化)。
  • 反射探针:场景反射(水面、金属)。

6.3 优化方案

  • 移动端:降低贴图分辨率、关闭软阴影、减少反射。
  • PC 端:高分辨率贴图、软阴影、全反射。

七、总结

PBR 材质与实时光照是游戏视觉技术的核心,通过物理光学原理实现真实画面,同时需通过材质优化、光照优化、引擎优化平衡效果与性能。对于开发者,掌握 PBR 与实时光照技术,能大幅提升游戏画面质量;对于玩家,能体验更真实、沉浸的游戏世界。

八、延伸学习

  • 工具:Blender(建模)、Substance Painter(材质)、Unity/Unreal(引擎)。
  • 文档:Unity PBR 文档、Unreal 光照文档、《Real-Time Rendering》。
  • 实践:制作 PBR 材质、搭建光照场景、优化性能。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、引言
  • 二、PBR 材质:物理真实的核心基础
    • 2.1 PBR 的核心原理
    • 2.2 PBR 材质的关键参数
    • 2.3 金属 / 非金属材质差异
  • 三、实时光照:动态光影的核心技术
    • 3.1 实时光照的分类
    • 3.2 核心光照技术
      • 3.2.1 直接光照(Direct Lighting)
      • 3.2.2 间接光照(Indirect Lighting)
      • 3.2.3 阴影技术
  • 四、PBR + 实时光照的实现流程
    • 4.1 材质制作(Blender/Substance Painter)
    • 4.2 引擎实现(Unity/Unreal)
      • Unity 流程
      • Unreal 流程
    • 4.3 效果对比(PBR vs 传统材质)
  • 五、性能优化:平衡效果与帧率
    • 5.1 材质优化
    • 5.2 光照优化
    • 5.3 引擎优化
  • 六、实战案例:《原神》PBR + 光照技术解析
    • 6.1 材质系统
    • 6.2 光照系统
    • 6.3 优化方案
  • 七、总结
  • 八、延伸学习
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档