渲染路径和颜色空间

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纹理贴图(文件夹50)复制到res文件夹下面,修改Texture Type纹理类型为Cookie,再设置对应的要受到的光照的Light Type光源类型,如太阳光Directional,

 Alpha from Grayscal表示通道反选

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

 最后点击Apply

3.创建一个平面plane

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

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

改变Cookie Size

镜头光晕

1: 镜头光晕又叫耀斑,模拟摄像机镜头内的一种光线折射的效果;
2: 耀斑的制作: create-->Lens Flare来制作一个耀斑,一般由美术和特效人员完成;

实例

1.导入美术资源包flare.unitypackage(文件夹50),耀斑文件在Assets\PIC\Light Flares目录下的50mm Zoom.flare,它的内部纹理是在Assets\PIC\Light Flares\Sources\Textures目录下的一个psd文件,psd是美术给的,我们只要用50mm Zoom.flare就可以了

2. 耀斑的两种使用方式: 
(1) 打开光源的Light组件,将耀斑文件拖入到光源的Flare选项里面,再把摄像机对准光源才会看见光晕;
(2) 在除了光源的物体中添加耀斑组件 Lens Flare,然后关联耀斑文件资源,在某个角度(物体z轴对准摄像机)也可以看见光晕;

太阳光源的光晕

点光源光晕

物体光晕

耀斑文件的制作过程(程序员没必要掌握)

1.create-->Lens Flare来制作一个耀斑文件,命名我MyFlare

2.MyFlare的Flare Texture属性是关联一个有格局的psd文件,有格局就是psd文件里面的各个纹理按照某个规则排列,也就是MyFlare的Texture Layout属性。

1 Large 4 Small      1 Large 2 Medium 8 Small      

                           

psd文件

3.设置好了Flare Texture,Texture Layout和各个Elements就可以使用了。

Culling Mask

选择哪些层受光源的影响,如果不勾选某个层,那么在这个层的物体不会受到光照的影响。

注意:

当太阳光源Directional Light的Z轴对准摄像机的时候,在Game视图里会出现一个像太阳一样的圆球,这就是它叫太阳光源的原因。

关于Unity中的光照(四)的更多相关文章

  1. 关于Unity中的光照(七)

    全局光照 GI 这里所说的反射就是,一个红色的物体,当太阳照射它的时候,它周围的物体也会变得有点红. 1:Realtime每帧都会计算光照,实时光照是不会反射的,所以它的光影显得单调;2:Baked ...

  2. 关于Unity中的光照(五)

    Mobile Diffuse Unity自带的一种shader,用的比较多,性能还可以.我们默认创建的unit shader基本和它一致,但是没有参与光照计算,看起来和Mobile Diffuse有区 ...

  3. 关于Unity中的光照(六)

    反射探头 1:镜子金属等具有光滑表面的物体都会反射,而游戏中计算实时反射非常消耗CPU的资源, unity5.0新增了一个反射探头的技术,通过采样点,生成反射Cubemap,然后通过特定的着色器从Cu ...

  4. 关于Unity中的光照(三)

    法线贴图 次时代游戏用的比较多 1:法线贴图是凹凸贴图技术上 的一种应用,有时也称为Dot3(仿立体)凹凸纹理贴图;2: 法线贴图是不增加多边形的情况下,增强模型的细节;3: 法线贴图是高精度模型导出 ...

  5. 关于Unity中的光照(二)

    光源 1: 光照的本质:就是光的颜色和物体纹理的颜色的混合;2: 光源类型: 点光源,定向光源,聚光灯, 区域光源; 区域光的范围会在场景中用黄色的光显示出来; z轴是光的方向; 光的强度会随距离衰减 ...

  6. 关于Unity中的光照(一)

    一.光源定义 光源,是一个普通节点加一个Light组件,创建的时候可以直接创建光源节点,也可以先创建一个空节点,再添加Light组件实例. 二.颜色形成 看到的物体颜色受两个很重要的因素的影响,一个是 ...

  7. Unity Shader入门精要学习笔记 - 第6章 开始 Unity 中的基础光照

    转自冯乐乐的<Unity Shader入门精要> 通常来讲,我们要模拟真实的光照环境来生成一张图像,需要考虑3种物理现象. 首先,光线从光源中被发射出来. 然后,光线和场景中的一些物体相交 ...

  8. 第五章 Unity中的基础光照(2)

    目录 1. Unity中的环境光和自发光 2. 在UnityShader中实现漫反射光照模型 2.1 实践:逐顶点光照 2.2 实践:逐像素光照 2.3 半兰伯特模型 1. Unity中的环境光和自发 ...

  9. 浅析Unity中的Enlighten与混合光照

    0x00 前言 在Unity的5.6版本之前的5.x中,主要使用了Geomerics公司的Enlighten[1]来提供实时全局照明以及烘焙全局照明,在5.6之后Unity引入了新的Lightmapp ...

随机推荐

  1. vue-router新手指南

    在学习完vue.js以及vuex之后,我们还剩下vue全家桶中的最后一个需要学习的组件,这就是vue-router了,本篇文章我们就来一起认识和入门vue-router.为什么我们只是入门呢?因为在这 ...

  2. nginx check_http_send type=http 查检测不到后端TOM的存活

    原因:定位到../conf/server.xml中 <Connector port="8020" protocol="org.apache.coyote.http1 ...

  3. 最NB的发现 LINUX 下玩teamviewer 命令行设置密码

    cd /opt/teamviewer/tv_bin/ [root@666 tv_bin]# ls desktop script teamviewerd TVGuiSlave.32 xdg-utils ...

  4. 关于checkbox选中问题总结

    (1)ng-checked的值只是用来决定初始状态时选中还是为选中,ng-model  才是随着复选框是否被选中,来实时改变它绑定变量的值. (2)如果初始状态ng-checked和ng-model指 ...

  5. 京东轮播图片的静态页面CSS3

    效果图: index.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"&g ...

  6. Asp.Net时间方法大全

    DateTime dt = DateTime.Now; //当前时间 DateTime startWeek = dt.AddDays(- Convert.ToInt32(dt.DayOfWeek.To ...

  7. 操作Excel文件--java

    java操作Excel首先要导入 JExcelAPI JExcelAPI是一套纯粹使用JAVA开发出来的Excel表格操作组件,本身并不与特定的操作系统进行绑定,可以在不同的操作系统上对Excel文件 ...

  8. thinkphp继承高级model后的乐观锁运用(测试中)

    <?php class IndexAction extends Action { private $d_user; private $user; private $arr; public fun ...

  9. OpenFileDialog对话框Filter属性

    OpenFileDialog对话框的Filter属性说明: 首先说明一个示例,分析一下Filter属性的构成:“ Excel文件|*.xls ”,前面的“Excel文件”成为标签,是一个可读的字符串, ...

  10. 【Android】按钮点击事件的常用写法

    学习总结: 最近学习了Android点击事件的常用写法.点击事件会触发监听对象身上的回调,常用写法有以下四种: 方法一:使用匿名内部类. public class MainActivity exten ...