1.光照模型-光照模型概述
1.1 知识点
知识回顾和展望
我们之前已经完成了 Unity Shader 相关必备基础知识的学习,其中重要的知识有:
- 渲染管线相关(应用阶段——>几何阶段——>光栅化阶段)
- 数学基础相关(点、向量、矩阵、坐标系变换)
- 语法基础相关(ShaderLab语法、CG语法)
通过这些知识的学习,我们基本上能够大致了解如何进行Shader开发。
简而言之:
- 我们可以通过CG等语言结合ShaderLab语法规则来编写Shader文件。
- 在顶点、片元着色器的回调函数中具体实现着色器逻辑。
- 在顶点着色器回调函数中利用语义获取到模型中的数据,将数据处理完毕后传递给片元着色器回调函数中进行处理。
- 可以结合ShaderLab属性进行更多的可变处理,从而呈现出不同的表现效果。
接下来我们要学习的Shader入门相关知识,主要就是学习Shader的一些基本表现效果,它们分别是:
- 光照效果
- 纹理效果
- 透明效果
学习这些知识后,我们才能实现最基础的渲染效果。
什么是光照模型
光照模型指的是用于模拟光照效果的一组数学公式和算法,用于确定在3D场景中的模型表面应该如何对光进行反射和散射,从而实现视觉上逼真的照明效果。
换句话说:
光照模型就是用来计算光照效果的数学公式,是业界前辈们探索出来的计算规则。
我们将要学习哪些内容
在现实生活中,一个物体的颜色由射进眼睛里的光线决定。当光线照射到物体表面时,一部分光被物体表面吸收,一部分光被反射。对于透明物体,还有一部分光会穿过透明体,产生透射光。
只有反射光和透射光才能进入眼睛,从而产生视觉效果(物体呈现出的亮度和颜色)。因此,物体表面的光照颜色由入射光、物体材质,以及材质和光的交互规律共同决定。
漫反射光照模型
漫反射指光线被粗糙表面无规则地向各个方向反射的现象。这是一种在各个方向上平均反射光线的模型。
例如:
- 墙壁
- 纸张
- 布料等物体的表现效果
高光反射光照模型
高光反射考虑了视角和光源的方向,使物体表面出现高光点。
例如:
- 金属
- 陶瓷
- 塑料等物体的表现效果
综合光照模型
- 结合 漫反射光照模型 和 高光反射光照模型 的光照模型
Unity内置光照函数
Unity提供了一些内置的光照函数来帮助开发者实现常见的光照效果。
总结
之后我们将要学习的光照模型是前辈们探索总结出来的计算公式。通过这些光照计算公式的学习,我们可以让3D物体表现出受光照影响的效果。
我们之后学习的大部分Shader相关知识,本质上都是一些计算公式和计算规则(算法)。Shader的本质就是利用各种数学计算,呈现出不同的表现效果。
1.2 知识点代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Lesson01_光照模型_光照模型概述 : MonoBehaviour
{
void Start()
{
#region 知识回顾和展望
//我们之前已经完成了 Unity Shader 相关必备基础知识的学习
//其中重要的知识有
//1.渲染管线相关(应用阶段——>几何阶段——>光栅化阶段)
//2.数学基础相关(点、向量、矩阵、坐标系变换)
//3.语法基础相关(ShaderLab语法、CG语法)
//通过这些知识的学习
//我们基本上能够大致了解了应该如何进行Shader开发
//简而言之:
//我们可以通过CG等语言结合ShaderLab语法规则来编写Shader文件
//我们需要在顶点、片元着色器的回调函数中具体实现着色器逻辑
//在顶点着色器回调函数中我们利用语义获取到模型中的数据
//将数据处理完毕后又传递给片元着色器回调函数中进行处理
//还可以结合ShaderLab属性来进行更多的可变处理
//从而呈现出不同的表现效果
//那么接下来我们要学习的Shader入门相关知识
//主要就是学习Shader的一些基本表现效果
//他们分别是
//1.光照效果
//2.纹理效果
//3.透明效果
//学习了这些知识,我们才能实现最基础的渲染效果
#endregion
#region 知识点一 什么是光照模型
//光照模型指的是用于模拟光照效果的一组数学公式和算法
//用于确定在3D场景中的模型表面应该如何对光进行反射和散射
//从而实现视觉上逼真的照明效果
//说人话:
//光照模型就是用来计算光照效果的数学公式
//是业界前辈们探索出来的计算规则
#endregion
#region 知识点二 我们将要学习哪些内容
//在现实生活中,一个物体的颜色是由射进眼睛里的光线决定的
//当光线照射到物体表面时,一部分被物体表面吸收,一部分被反射。
//对于透明物体,还有一部分光会穿过透明体,产生透射光
//只有反射光和透射光才能进入眼镜,从而产生视觉效果(物体呈现出的亮度和颜色)
//因此,物体表面的光照颜色是由入射光、物体材质、以及材质和光的交互规律共同决定的
//1.漫反射光照模型
// 漫反射:
// 指光线被粗糙表面无规则地向各个方向反射的现象
// 是一种在各个方向上平均反射光线的模型
// 比如:
// 墙壁、纸张、布料等等物体的表现效果
//2.高光反射光照模型
// 高光反射:
// 考虑了视角和光源的方向,使物体表面出现高光点
// 比如:
// 金属、陶瓷、塑料等等物体的表现效果
//3.Unity内置光照函数
//等等
#endregion
#region 总结
//之后我们将要学习的光照模型
//就是前辈们探索总结出来的计算公式
//通过这些光照计算公式的学习
//我们可以让3D物体表现出受光照影响的效果
//我们之后学习的大部分Shader相关的知识
//其实本质上都是一些计算公式、计算规则(算法)
//Shader的本质其实就是利用各种数学计算
//呈现出不同的表现效果
#endregion
}
}
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com