关于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纹理贴图(文件夹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中的光照(四)的更多相关文章
- 关于Unity中的光照(七)
全局光照 GI 这里所说的反射就是,一个红色的物体,当太阳照射它的时候,它周围的物体也会变得有点红. 1:Realtime每帧都会计算光照,实时光照是不会反射的,所以它的光影显得单调;2:Baked ...
- 关于Unity中的光照(五)
Mobile Diffuse Unity自带的一种shader,用的比较多,性能还可以.我们默认创建的unit shader基本和它一致,但是没有参与光照计算,看起来和Mobile Diffuse有区 ...
- 关于Unity中的光照(六)
反射探头 1:镜子金属等具有光滑表面的物体都会反射,而游戏中计算实时反射非常消耗CPU的资源, unity5.0新增了一个反射探头的技术,通过采样点,生成反射Cubemap,然后通过特定的着色器从Cu ...
- 关于Unity中的光照(三)
法线贴图 次时代游戏用的比较多 1:法线贴图是凹凸贴图技术上 的一种应用,有时也称为Dot3(仿立体)凹凸纹理贴图;2: 法线贴图是不增加多边形的情况下,增强模型的细节;3: 法线贴图是高精度模型导出 ...
- 关于Unity中的光照(二)
光源 1: 光照的本质:就是光的颜色和物体纹理的颜色的混合;2: 光源类型: 点光源,定向光源,聚光灯, 区域光源; 区域光的范围会在场景中用黄色的光显示出来; z轴是光的方向; 光的强度会随距离衰减 ...
- 关于Unity中的光照(一)
一.光源定义 光源,是一个普通节点加一个Light组件,创建的时候可以直接创建光源节点,也可以先创建一个空节点,再添加Light组件实例. 二.颜色形成 看到的物体颜色受两个很重要的因素的影响,一个是 ...
- Unity Shader入门精要学习笔记 - 第6章 开始 Unity 中的基础光照
转自冯乐乐的<Unity Shader入门精要> 通常来讲,我们要模拟真实的光照环境来生成一张图像,需要考虑3种物理现象. 首先,光线从光源中被发射出来. 然后,光线和场景中的一些物体相交 ...
- 第五章 Unity中的基础光照(2)
目录 1. Unity中的环境光和自发光 2. 在UnityShader中实现漫反射光照模型 2.1 实践:逐顶点光照 2.2 实践:逐像素光照 2.3 半兰伯特模型 1. Unity中的环境光和自发 ...
- 浅析Unity中的Enlighten与混合光照
0x00 前言 在Unity的5.6版本之前的5.x中,主要使用了Geomerics公司的Enlighten[1]来提供实时全局照明以及烘焙全局照明,在5.6之后Unity引入了新的Lightmapp ...
随机推荐
- sql 中的 STUFF()使用说明,以及千分位的常用函数
STUFF 删除指定长度的字符并在指定的起始点插入另一组字符. 语法 STUFF ( character_expression , start , length , character_express ...
- FFmpeg(14)-使用NDK、C++完成EGL,display, surface, context的配置和初始化
EGL 用它开发需要做哪些事情. DIsplay 与原生窗口建立链接.EGL在Android中可以用java调,也可以用C++调. EGLDisplay eglGetDisplay ...
- scala future
https://docs.scala-lang.org/overviews/core/futures.html https://docs.scala-lang.org/overviews/index. ...
- 破解Linux系统root用户密码
linux系统的启动过程 在介绍破解Linux系统root密码之前先了解一下linux系统的启动过程 开机自检(POST),初始化部分硬件 搜素可用于引导的启动设备(如磁盘的MBR) 读取并将控制权 ...
- [Windows Azure] Development Considerations in Windows Azure SQL Database
Development Considerations in Windows Azure SQL Database 3 out of 5 rated this helpful - Rate this t ...
- 每天一个linux命令(6) ar命令
当我们的程序中有经常使用的模块,而且这种模块在其他程序中也会用到,这时按照软件重用的思想,我们应该将它们生成库,使得以后编程可以减少开发代码量.这里介绍命令ar,用来对库操作. ar命令可以用来创建. ...
- 每日英语:Auto Makers Accelerate Efforts to Develop Self-Driving Cars
Big auto makers are steering their efforts to develop cars that drive themselves out of the labs and ...
- 【web技术】html特效代码(二)
html特效代码(一) html特效代码(二) 图片漂浮广告代码 <bodybgcolor="#F7F7F7"> <!--图片漂浮广告代码开始--> < ...
- ubuntu wireshark找不到网卡及开启IP转发
wireshark找不到网卡问题? 解决办法1:sudo wireshark 解决办法2: 1)添加用户组,我以wireshark为例 sudo groupadd wireshark 2)将dumpc ...
- Oracle数据库密码过期
按照如下步骤进行操作:1.查看用户的proifle是哪个,一般是default: SQL>SELECT USERNAME,PROFILE FROM DBA_USERS; 2.查看指定概要文件(如 ...