关于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 ...
随机推荐
- Xilinx Vivado的使用详细介绍(2):综合、实现、管脚分配、时钟设置、烧写
前面一篇介绍了从新建工程一直到编写代码进行行为仿真,这篇继续进行介绍. 修改器件型号 新建工程时选择过器件型号,如果新建好工程后需要修改型号,可以选择菜单Tools - Project Setting ...
- spring cloud 项目相关集成简介
Spring Cloud Config 配置管理工具包,让你可以把配置放到远程服务器,集中化管理集群配置,目前支持本地存储.Git以及Subversion. Spring Cloud Bus 事件.消 ...
- mongoose更新文档的时候让某个字段自增
Station.update({ _id: req.params.id }, { $set: req.body, $inc: { count: 1 } }, { multi: false }, cal ...
- 在vue-cli生成的项目中使用karma+chrome进行单元测试
用vue-cli生成项目时,如果选择了单元测试,那么会采用karma+mocha作为单元测试框架,默认使用的浏览器是PhantomJs. Karma 是一个基于Node.js的JavaScript测试 ...
- (转)Making 1 million requests with python-aiohttp
转自:https://pawelmhm.github.io/asyncio/python/aiohttp/2016/04/22/asyncio-aiohttp.html Making 1 millio ...
- HBase操作(Shell与Java API)
版权声明:本文为博主原创文章,未经博主允许不得转载. 转: http://blog.csdn.net/u013980127/article/details/52443155 下面代码在Hado ...
- kindeditor自定义插件插入视频代码
kindeditor自定义插件插入视频代码 1.添加插件js 目录:/kindeditor/plugins/diy_video/diy_video.js KindEditor.plugin('diy_ ...
- python unicode to str and str to unicode
@staticmethod def unicode2str(p_unicode): v = p_unicode.encode('unicode-escape').decode('string_esca ...
- 纯css3开发的响应式设计动画菜单(支持ie8)
这是一个响应式设计的菜单.单击列表图标,当你显示屏大小可以完全水平放下所有菜单项时,菜单水平显示(如图1).当你的显示屏不能水平放置所有菜单项时,菜单垂直显示(如图2). 而且显示的时候是以动画的型式 ...
- Android ViewPage的使用(一)
ViewPage是一个简单的页面切换组件,左右滑动的话,有效果,和ListView一样 也需要配合适配器(PagerAdapter)来使用. 先来个效果图吧 先随便创建3个view页面,用于放到 Vi ...