关于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 ...
随机推荐
- 错误状态码URL重定向
server { listen 80; server_name www.espressos.com; location / { root /data0/www/bbs; index index.htm ...
- bug ,improvements, features jira等信息
https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12341764&projectId=12315522 https ...
- Nexus 搭建maven 私有仓库
nexus如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地,而一个团队中的所有人都重复的从maven仓库下载构件无疑加大了仓库的负载和浪费了外网带宽,如 ...
- (转)Go和HTTPS
转自:http://studygolang.com/articles/2946 Go和HTTPS 2015-04-30 bigwhite 阅读 5688 次 4 人喜欢 3 条评论 收 ...
- Docker 入门(Mac环境)- part 4 swarms
part-4 Swarms 简介 这一节主要是介绍一下如何在集群模式下部署docker应用:集群的概念很好理解了,多台机器共同完成一项任务:和Hadoop那些集群一样,docker也相当于有一个管理机 ...
- SAP BI vs. Oracle BI
对比Oracle BI产品和SAP BI 产品,做一些简单的产品功能比较,经供参考. 这里把SAP和Oracle同类的产品放在一行,用于比较. SAP BI 特点 Oracle BI 特点 BW 和S ...
- Python(二)之对象类型
本篇记录Python对象类型 开始仍然是先掌握几个查看对象有用的函数,id,type,print 查看对象身份.类型.值:记住以下两个命令id,type 两个对象的比较 以上三个分别是 身份比较.对象 ...
- 进入Linux救援(rescue)模式的四大法门
原文:http://blog.51cto.com/xxrenzhe/1272838 适用场景: 当误操作修改系统启动文件/etc/fstab, /etc/rc.d/rc.sysinit时,就会造成系统 ...
- easyui扩展
datagrid行内编辑时为datetimebox $.extend($.fn.datagrid.defaults.editors, { datetimebox: {// datetimebox就是你 ...
- Android开发(十一)——ImageView的尺寸设置scaleType
ImageView的属性android:scaleType,即 ImageView.setScaleType(ImageView.ScaleType). android:scaleType是控制图片如 ...