关于Unity中的光照(一)
一、光源定义
光源,是一个普通节点加一个Light组件,创建的时候可以直接创建光源节点,也可以先创建一个空节点,再添加Light组件实例。
二、颜色形成
看到的物体颜色受两个很重要的因素的影响,一个是物体的材质,一个是光源本身的颜色。两者混合在一起才是最终看到的结果。
颜色:255 255 255
强度 0.5
颜色+强度=新颜色 128 128 128
新颜色+材质颜色=最终看到的颜色
如果材质有几种光源,那么材质就要混合几次光
三、光源类型
1.太阳光
2.电灯
3.台灯,舞台灯
光原三个基本点有颜色,范围,强度
太阳光----平行光(Directional Light)
1.颜色:白色,红色
2.范围:全部可见
3.强度:一致的
灯泡------点光源(Point Light)
1.颜色:各种颜色
2.范围:范围有限,一个球体内有效,最大波及范围
3.强度:根据距离中心远近有衰减
舞台灯----聚光灯(Spot Light)
1.颜色:各种颜色
2.范围:范围有限,一个椎体内有效,最大波及范围
3.强度:根据轴中心远近有衰减,中心轴越靠近光源的越亮,水平面,圆形越靠近中心轴的越亮
四、光源属性
独特属性:
1.平行光
2.点光源:range:灯的半径,越大越亮,原因是同样的强度范围大的衰减的慢了一些
3.聚光灯:(1).range:灯的高度 (2).Spot Angel:椎体角度
公共属性:
1.Shadow Type,影子类型,性能消耗大
(1).Soft Shadows:默认
(2).Hard Shadows
(3).No Shadows
2.Resolution,影子质量,越低计算量越小
(1).Low Resolution:低分辨率
(2).Medium Resolution:中分辨率
(3).High Resolution:高分辨率
(4).Very High Resolution:超高分辨率
3.Draw Halo:光晕,显示出光源的具体样子
4.Render Mode:
(1).auto:根据当前质量自动选择
(2).important:光照质量好,性能差
(3).not important:光照质量不好,性能好
5.Culling Mask:决定哪一层的物体是受光源影响的
6.Baking:烘焙,把光照到物体上就叫烘焙
(1).Realtime:实时光照,实时计算,光照实时改变,CPU消耗大
(2).Baked:静态光照,预先计算好,性能消耗小,但是不能动态地改变,就像光照贴图一样贴在物体上,所以一般在一些静态游戏场景使用
(3).Mixed:混合模式,则里面可以有静态烘焙的,也可以有动态改变的,静态的模式选Baked,再组合相应的Static物体,动态的模式选Mixed,
五、烘焙操作
选择Baked模式的其他必要操作
(1).选择要被Baked的物体,右上角的Static模式选择Lightman Static,把场景中的3D物体设置成静态光照模式
(2).光源模式改为Baked模式
(3).打开Windows--->Lighting窗口,选择Object小窗口,模式选择Baked,发现只有刚才选择的静态光照的物体才被烘焙,才有光照
(4).选择Scene小窗口,点击Build,就可以把静态烘焙的光照保存下来,这时候,即使把灯关掉,物体还是有被光照到的效果
关于Unity中的光照(一)的更多相关文章
- 关于Unity中的光照(七)
全局光照 GI 这里所说的反射就是,一个红色的物体,当太阳照射它的时候,它周围的物体也会变得有点红. 1:Realtime每帧都会计算光照,实时光照是不会反射的,所以它的光影显得单调;2:Baked ...
- 关于Unity中的光照(六)
反射探头 1:镜子金属等具有光滑表面的物体都会反射,而游戏中计算实时反射非常消耗CPU的资源, unity5.0新增了一个反射探头的技术,通过采样点,生成反射Cubemap,然后通过特定的着色器从Cu ...
- 关于Unity中的光照(五)
Mobile Diffuse Unity自带的一种shader,用的比较多,性能还可以.我们默认创建的unit shader基本和它一致,但是没有参与光照计算,看起来和Mobile Diffuse有区 ...
- 关于Unity中的光照(四)
渲染路径和颜色空间 1:Unity光影效果可以通过设置 渲染路径和颜色空间;2: 渲染路径: 光照到物体表面,物体着色的时候,算上光的颜色的时候有这么几种光照的着色方式,计算着色的方式 forward ...
- 关于Unity中的光照(三)
法线贴图 次时代游戏用的比较多 1:法线贴图是凹凸贴图技术上 的一种应用,有时也称为Dot3(仿立体)凹凸纹理贴图;2: 法线贴图是不增加多边形的情况下,增强模型的细节;3: 法线贴图是高精度模型导出 ...
- 关于Unity中的光照(二)
光源 1: 光照的本质:就是光的颜色和物体纹理的颜色的混合;2: 光源类型: 点光源,定向光源,聚光灯, 区域光源; 区域光的范围会在场景中用黄色的光显示出来; z轴是光的方向; 光的强度会随距离衰减 ...
- 浅析Unity中的Enlighten与混合光照
0x00 前言 在Unity的5.6版本之前的5.x中,主要使用了Geomerics公司的Enlighten[1]来提供实时全局照明以及烘焙全局照明,在5.6之后Unity引入了新的Lightmapp ...
- Unity Shader入门精要学习笔记 - 第6章 开始 Unity 中的基础光照
转自冯乐乐的<Unity Shader入门精要> 通常来讲,我们要模拟真实的光照环境来生成一张图像,需要考虑3种物理现象. 首先,光线从光源中被发射出来. 然后,光线和场景中的一些物体相交 ...
- 第五章 Unity中的基础光照(3)
目录 1. 在Unity Shader中实现高光反射光照模型 1.1 实践:逐顶点光照 1.2 逐像素光照 1.3 Blinn-Phong光照模型 2. 召唤神龙:使用Unity内置的函数 @ 1. ...
随机推荐
- 西邮Linux兴趣小组纳新笔试试题
下面是西邮Linux小组今年纳新的笔试试题 1. 下面这个程序的输出结果是什么? int main() { int a = (1, 2); printf(“a = %d\n”, a); return ...
- 命名管道FIFO和mkfifo函数
进程间通信必须通过内核提供的通道,而且必须有一种办法在进程中标识内核提供的某个通道,前面讲过的匿名管道是用打开的文件描述符来标识的.如果要互相通信的几个进程没有从公共祖先那里继承文件描述符,它们怎么通 ...
- Storm 简单介绍
Nimbus :负责资源分配和任务调度, 把任务相关的元信息写入Zookeeper 对应文件夹. Supervisor :负责接受nimbus 分配的任务,启动和停止属于自己管理的worker 进程. ...
- OJ刷题---罗马数字转十进制
题目要求: 输入代码: #include<iostream> using namespace std; int main() { int i,j,n,k; int num[7]= {1, ...
- 【iOS开发-56】案例BUG:button的enabled、控件的userInteractionEnabled以及两种提示框UIAlert和UIActionSheet
接上述案例找BUG:[iOS开发-51]案例学习:动画新写法.删除子视图.视图顺序.延迟方法.button多功能使用方法及icon图标和启动页设置 (1)BUG:答案满了就不能再点击optionbut ...
- linux查看与开启sshd服务
1.首先通过物理终端进入到linux上,手工检查ssh发现没运行/etc/init.d/sshd statussshd is stopped 手工启动服务,发现报告权限错误./etc/init.d/s ...
- python标准库介绍——11 atexit 模块详解
=== atexit 模块=== (用于2.0版本及以上) ``atexit`` 模块允许你注册一个或多个终止函数(暂且这么叫), 这些函数将在解释器终止前被自动调用. 调用 ``register`` ...
- webservice快速入门-使用wsimport生成ws服务端(二)
上个例子演示的是在当前项目下发布的Webservice Server,而实际应用中和Client是分离的,本文介绍两种客户端开发方式: 1.导出WebService服务端服务接口到jar包,客户端引入 ...
- js实现页面时间动态变化
利用函数嵌套和setTimeout函数实现时间动态变化 var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYe ...
- 解决:IIS APPPOOL\DefaultAppPool 登录失败的问题
为大家介绍下解决IIS APPPOOL\DefaultAppPool 登录失败的方法,有遇到类似问题的朋友参考下. 添加ASP.NET网站时,选择添加"添加应用程序"连接sql s ...