关于Unity中的光照

Posted 杭者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Unity中的光照相关的知识,希望对你有一定的参考价值。

渲染路径和颜色空间

1:Unity光影效果可以通过设置 渲染路径和颜色空间;
2: 渲染路径: 光照到物体表面,物体着色的时候,算上光的颜色的时候有这么几种光照的着色方式,计算着色的方式
  forward: 着色时根据对应影响的灯光,每个光源着色一次,多个光源作用时会着色多次;
  优点: 快速,硬件要求低,快速的处理透明; 缺点: 每个光源都要有对应的成本,大量光源反而降低;
  Deferred: 延迟渲染路径,将光的颜色着色到几何缓冲器,生成一个屏幕空间的贴图,大量realttime光源模式的时候更真实, 需要硬件水平要求高;
  Legacy Vertex Lit: 顶点照明,所有的光照只会在顶点上计算,速度快,最广泛的硬件支持。
  但是不支持阴影,法线贴图,灯光遮罩,高精度的高光等;
  Legacy Defferred:和Defferfed类似,但是是不一样的算法;
  Edit-->ProjectSetting Player-->Inspector-->Other Setting -->Rendering--> Rendering Path;
3: 颜色空间:色彩空间决定采用哪种算法计算照明或材质加载时候的颜色混合;
  Linear颜色空间
  Camma颜色空间
  Edit-->ProjectSetting Player-->Inspector-->Other Setting -->Rendering--> ColorSpace

 

 

Cookies

使用一个带通道的纹理作用到光源上面,这时候光打下来的时候就会根据通道来进行过滤。Cookies纹理白色部分表示允许通过光,黑色的部分表示不允许通过。常用在窗口投影。

 

实例思路

1: 设置一下导入的纹理,在纹理属性的面板上选择Cookies 
  配置好Cookies对应的光源类型; 
  可勾选住Alpha from Grayscale选项;
2:在平行光源中只要把一张带着透明通道的纹理图或者灰度图拖动到光源上的Cookies上;

 

步骤

1.创建Unity工程和文件目录,保存场景

2.把cookies纹理贴图复制到res文件夹下面,修改Texture Type纹理类型为Cookie,再设置对应的要受到的光照的Light Type光源类型,如太阳光Directional,

 Alpha from Grayscal表示通道反选

 Cookie Size表示纹理平铺的数量,越大铺的越少

 最后点击Apply

3.创建一个平面plane

4.把cookies纹理贴图拖进Directional Light的Light组件下面的Cookie属性中。

5.发现光照到plane上面的时候有很多阴影,阴影都是收到cookies纹理的影响

 

 

镜头光晕

 

以上是关于关于Unity中的光照的主要内容,如果未能解决你的问题,请参考以下文章

关于Unity中的光照

关于Unity中的光照

Unity5中的软阴影烘焙

Unity 关于图形渲染优化的建议摘录

[Unity][翻译]云朵Shader步骤分解

第五章 Unity中的基础光照