Unity Shader - Standard Shader 标准着色器

目录:Unity Shader - 知识点目录(先占位,后续持续更新)
原文:Standard Shader
版本:2019.1

Standard Shader

标准着色器

Unity的Standard Shader是一个内置的shader,该shader综合了许多的功能特性。可用于渲染“真实世界”的对象,如:石头,木材,玻璃,塑胶和金属,和支持众多的shader类型的组合使用。许多的功能特性开关可通过Material的Inspector中设置纹理使用与否。

Standard Shader也包含了光照模型的高级功能,称之为:Physically Based Shading(基于物理着色,就我们耳熟能详的PBS、PBR,PBR中的R:Rendering)。PBS模仿实现了:材质与光之间的模拟现实交互。PBS最近才实现了实时图像渲染这块的可能(因为这块以前的硬件,和技术都没那条件)。在光照与材质同时真实直观表现出来时,使用PBS最适合。

PBS的背后想法是为用户构建一个不同光照下的友好解决方案。模型如何在不需要额外的专门模型处理下实现真实光效效果。为此,它遵循物理原理,包括能量守恒(意味着物体反射的光量永远不会超过它们接收到的光量)、菲涅耳反射(所有表面在掠射角时反射都更强)以及表面如何遮挡自身(称为几何术语)等。

标准着色器的设计考虑了硬表面(也称为“建筑材料”),可以处理大多数真实世界的材料,如石头、玻璃、陶瓷、黄铜、银或橡胶。它甚至可以很好地处理皮肤、头发和布料等非硬材质。
A scene rendered using the standard shader on all models
Standard Shader着色器,一个众多的着色类型(如漫反射、高光、凹凸高光、反射)被组合成一个着色器,用于所有材质类型。这样做的好处是在场景的所有区域都使用了相同的光照计算,它为所有模型提供了一个逼真的,稳定的和可靠的光照分布和阴影的着色器。

Terminology

术语

有那么一些关于在Unity中的PBS相关有用的术语。包括:

  • Energy conservation(能量守恒) - 基于物理的基本概念,确保物体之间反射光量绝不会超过接收到的光量。材质的镜面高光越高,它的漫反射就应该越小;表面越光滑,高光部位就越强越小。

The light rendered at each point on a surface is calculated to be the same as the amout of light received from its environment. The microfacets of rough surfaces are affected by light from a wider area. Smoother surfaces give stronger and smaller highlights. Point A reflects light from the source towards the camera. Point B takes on a blue tint from ambient light from the sky. Point C takes its ambient and reflective lighting from the surrounding ground colours.
光照渲染表面上的每个点的光照量与接收到环境中的光照亮相同. 粗糙表面的微平面的光照将受更大区域的影响(因为微平面的涉及各个角度多种多样)。 平滑的表面将得到又强又小的高光区域。点A将光源反射到相机。点B接收到来自天空的蓝色环境光。 点C则从地面周围反射的颜色取得环境光。

  • High Dynamic Range (HDR:高动态范围?什么范围?其实就是光波基准的偏移范围) - 指定是颜色超出了0.0~1.0范围的处理。例如,太阳的亮度是蓝天亮度的10倍+。想更深入了解,查阅手册HDR
    在这里插入图片描述
    使用了HDR的场景。太阳光在车窗反射出来呈现的亮度比场景中其他对象都亮得多,因为使用了HDR处理

猜你喜欢

转载自blog.csdn.net/linjf520/article/details/91048588