关于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. ...
随机推荐
- Retrofit2使用初探
首先需要导入这样两个包 compile 'com.squareup.retrofit2:retrofit:2.0.0-beta4' compile 'com.squareup.retrofit2:co ...
- du和df命令的区别
du和df命令都被用于获得文件系统大小的信息:df用于报告文件系统的总块数及剩余块数,du -s /<filesystem>用于报告文件系统使用的块数.但是,我们可以发现从df命令算出的文 ...
- Linux时间子系统(十五) clocksource
一.前言 和洋葱一样,软件也是有层次的,内核往往需要对形形色色的某类型的驱动进行抽象,屏蔽掉其具体的特质,获取该类驱动共同的逻辑,而又根据这些逻辑撰写该类驱动的抽象层.嵌入式系统总是会提供timer的 ...
- golang(5)使用beego 开发 api server 和前端同学拆分开发,使用swagger
1,beego api Swagger 是一个规范和完整的框架,用于生成.描写叙述.调用和可视化 RESTful 风格的 Web 服务.整体目标是使client和文件系统作为服务器以相同的速度来更新. ...
- 自定义相机下使用clippingNode注意事项
调用完clippingNode->setCameraMask(myCameraMask)后,还需要clipNode->getStencil()->setCameraMask(myCa ...
- vim自定义插件放入pathogen管理
1.在.vim/bundle目录下,建立一个空目录,比如cscope 2.在cscope下面建立一个plugin文件夹 3.将自己写的vim文件放入plugin文件夹内就可以使用.
- js 判断checkbox是否选中的实例代码
分享下js判断是否选中CheckBox的方法. 代码如下: <input type="checkbox" name="checkbox1" checked ...
- 关于Xilinx MicroBlaze应用modelsim se仿真问题(EDK:3593 - Unable to locate the precompiled library microblaze_v8_50_c)
ERROR:EDK:3593 - Unable to locate the precompiled library microblaze_v8_50_c. The file D:\Xilinx\14. ...
- [ci] jenkins的Timestamper插件-让日志显示时间
jenkins的Timestamper插件-让jenkins console带时间戳 安装插件 配置pipline,使用timestamp - 官网有说怎么用: 即用timestamps{} 包裹所有 ...
- Cocos2d-x 3.0final 终结者系列教程03-源代码文件夹说明
话说今天从霍营到回龙观,走到天鑫家园东路.我肋哥去,堵死我啦.7:30出门,9:10还没到回龙观. 北京这交通真是坑爹.回过头想想.怪自己走小路,有时候确实快.可有时候真堵. 堵了35分钟后果断掉头, ...