[我给Unity官方视频教程做中文字幕]beginner Graphics – Lessons系列之灯光介绍Lights
[我给Unity官方视频教程做中文字幕]beginner Graphics – Lessons系列之灯光介绍Lights
既上一篇分享了中文字幕的摄像机介绍Cameras后,本篇分享一下第2个已完工的视频,即《beginner Graphics – Lessons系列之灯光介绍Lights》。听译、时间轴、压制者均为本人。请勿将视频用于非法目的。
有视频有真相
视频中的重点
类似现实世界,Unity中用灯光照亮场景
没有灯光,场景中的物体在摄像机中是不可见的
宽泛的说,Unity中有两种灯光
动态(Dynimic)光和烘焙(Bake)光
动态光在游戏运行中是实时计算的
你只需在场景中添加灯光对象就可以了
烘培光是在线下(Off-line)计算并保存成纹理(Texture)的
这些灯光纹理被贴到烘培的物体上以提升性能
为了照亮场景,要使用灯光组件(light component)
和其它组件一样,灯光组件也要附加到游戏对象(Game Object)上
我们可以用这个游戏对象的Transform属性来移动灯光
灯光组件提供了4种灯光类型
点光(Point Light)
平行光(Directional Light)
聚光灯(Spot Light)
和只用于烘培的面光(Area Light)
不同类型的灯光对游戏的照明效果差异很大
点光就像一个小光球
点光根据其所在位置照射场景中的物体
对点光进行旋转是没有意义的
因为点光照射到各个方向的光是相同的
平行光就像太阳
平行光能够照射到场景中所有的物体
根据旋转角度进行照射
位置属性对平行光是没有意义的
聚光灯就像是手电筒
或者汽车的头灯
它根据其位置和旋转角度对一个圆锥体范围内的物体进行照射
所以聚光灯的位置和旋转角度属性都是有意义的
面光只用在烘培时
面光从平面的一侧向一个矩形范围内发射任意方向的光
除了这4种灯光外,还有另外两种光源
环境光(Ambient Light)和发光材质(Emissive Material)
环境光控制场景中的无方向全局光
环境光在动态光和烘培光中都发挥作用
如果想去掉环境光的影响
就把环境光的颜色设置为黑色(在RenderSettings里)
然后在场景中添加上文介绍的4种灯光
想用发光材质的话
只需给物体设置合适的自发光着色器(shader)
自发光材质只在烘培光中发挥作用
灯光有一些属性供你设置
灯光组件的"Range"属性决定了光线照射的距离远近
"Range"只对点光或聚光灯类型的灯光有意义
在聚光灯下还可以设置"Spot Angle"属性
"Spot Angle"属性决定了聚光灯的圆锥体照射范围的角度大小(单位为度)
"Color"控制灯光的颜色
场景会根据灯光颜色的变化而改变颜色
"Intensity"控制灯光的强弱
这个属性和"Range"是相互独立的
在场景中使用灯光时,需要配合使用各项属性才能做出令人动容的效果
无论是增大"Intensity"还是增大"Range"属性
灯光看上去的确会显得更亮
但是他们照亮场景的方式是不同的
除了基本的渲染外
我们还可以使用一些高级设置
阴影(Shadows)、光晕(Halos)、耀斑(Flare)和Cookie
Cookie是一个虚拟遮罩或者标记
它挡在光源前面来产生某种阴影
Cookie使用贴图的Alpha通道来给光源产生阴影
聚光灯和平行光使用Cookie时,Cookie必须使用2D贴图
点光使用Cookie时,Cookie必须使用立方体贴图(Cube map)
这很符合常识
因为聚光灯和平行光只沿着一个方向照射
点光却向所有方向照射
使用平行光时,有一个改变Cookie大小的选项
让你可以缩放Cookie阴影
面光不能使用Cookie
在烘培时,只有聚光灯能使用Cookie
Cookie对点光和平行光则无效
光照有2种阴影类型
硬阴影(Hard)和软阴影(Soft)
硬阴影能满足大部分情况
软阴影看起来更舒服,但渲染更耗时
渲染阴影有一些调节选项
"Strength"控制阴影的黑色程度
调整这个属性直到阴影在场景中看起来很和谐
"Strength"调整到1的时候往往太强
"Resolution"(分辨率)是渲染质量选项
其默认选项是"Use Quality Settings"
你可以在此修改
"Bias"(乖离率)控制某一光照产生的阴影外围强度
"Bias"影响影子起始点到物体的距离
"Bias"太小会使物体的影子太假(artifact)
太大则会使物体看起来漂浮着(hovering)
使用平行光+软阴影时,会有2个额外配置项
柔和度(Softness)和柔化淡出(Softness Fade)
柔和度是指阴影边界清晰程度
柔化淡出是指从多远开始给物体绘制软阴影
"Draw Halo"(绘制光晕)会在灯光周围绘制场景默认的光晕
光晕和"Range"、"Intensity"属性都相关
光晕的详细设置可以在场景的"Render Settings"中找到
想重写(Override)默认光晕的话
必须关闭灯光的"Draw Halo"选项
然后给灯光添加一个"Halo"组件
眩光(Flare)和光晕很像
但是它是模仿透过玻璃照射的亮光源的效果
当"Flare"属性被赋予一个光晕材质后
灯光会被渲染成具有镜头光晕(Lens Flare)的样子
"Flare"只受"Intensity"属性控制
你可以直接给灯光物体添加一个镜头光晕(Lens Flare)组件
不过灯光的"Flare"属性就应当清空了
否则这个灯光会有2个光晕
必须给摄像机添加一个"Flare Layer"组件
摄像机才能渲染光晕
渲染动态灯光的方式有2种
顶点光照(vertex lighting)和像素光照(per-pixel lighting)
顶点光照一般是最快的渲染方式
它通过计算物体的网格顶点的颜色来渲染场景
然后通过插值(interpolate)渲染网格的表面
像素光照是逐个像素渲染的,所以更耗时
虽然像素光照渲染时慢
但是它能实现一些顶点光照无法实现的效果
法线贴图(normal mapping)、灯光cookies和实时阴影(Realtime shadow)
只在像素光照下才能使用
聚光灯形状、某些特殊高光(high light)在像素光照下的效果也更好
光照对渲染速度有很大的影响
像素光照的数量可以在"Render Settings"中设置
只要设置"Pixel Light Count"属性即可
当你使用正向渲染路径(forward rendering path)时
灯光组件提供给你一个选项"Render Mode"来指定其渲染模式
"important"会强制此灯光逐个像素地渲染
"not important"会强制此灯光使用更快的方式渲染
例如逐个顶点的方式或球面调和(Spherical?Harmonics)的方式
[我给Unity官方视频教程做中文字幕]beginner Graphics – Lessons系列之灯光介绍Lights的更多相关文章
- [我给Unity官方视频教程做中文字幕]beginner Graphics – Lessons系列之摄像机介绍Cameras
[我给Unity官方视频教程做中文字幕]beginner Graphics – Lessons系列之摄像机介绍Cameras 最近得到一些Unity官方视频教程,一看全是纯英文的讲解,没有任何字幕或者 ...
- [我给Unity官方视频教程做中文字幕]beginner Graphics – Lessons系列之纹理Textures
[我给Unity官方视频教程做中文字幕]beginner Graphics – Lessons系列之纹理Textures 本篇分享一下第6个已完工的视频,即<beginner Graphics ...
- [我给Unity官方视频教程做中文字幕]beginner Graphics – Lessons系列之网格Meshes
[我给Unity官方视频教程做中文字幕]beginner Graphics – Lessons系列之网格Meshes 本篇分享一下第5个已完工的视频,即<beginner Graphics – ...
- [我给Unity官方视频教程做中文字幕]beginner Graphics – Lessons系列之材质了解Materials
[我给Unity官方视频教程做中文字幕]beginner Graphics – Lessons系列之材质了解Materials 既上一篇分享了中文字幕的灯光介绍Lights后,本篇分享一下第3个已完工 ...
- Unity 现代室内环境场景高效流程视频教程 附源文件 中文字幕
大小1.83G,中文字幕 章节内容:1.项目介绍2.准备maya工程文件3.素材资产(assets)结构4.管理unity中的maya资产5.整合场景6.unity游戏对象及材质7.第一人称控制器8. ...
- BIT祝威博客汇总(Blog Index)
+BIT祝威+悄悄在此留下版了个权的信息说: 关于硬件(Hardware) <穿越计算机的迷雾>笔记 继电器是如何成为CPU的(1) 继电器是如何成为CPU的(2) 关于操作系统(Oper ...
- 海蜘蛛网络科技官方网站 :: 做最好的中文软路由 :: 软件路由器 :: 软路由 :: 软件路由 :: RouterOs
海蜘蛛网络科技官方网站 :: 做最好的中文软路由 :: 软件路由器 :: 软路由 :: 软件路由 :: RouterOs 企业简介 武汉海蜘蛛网络科技有限公司成立于2005年,是一家专注于网络新技术研 ...
- MAYA逼真手枪制作视频教程 中文字幕
下载地址 更多中文字幕教程请关注微镜映画网,有各类CG教程提供
- Unity3D Substance designer Sub 欧洲小镇场景制作视频教程 中文字幕
大小6.53G,中文字幕 扫码时备注或说明中留下邮箱 付款后如未回复请至https://shop135452397.taobao.com/ 联系店主
随机推荐
- 使用spring的特殊bean完成配置
1.分散配置 beans.xml配置如下: 使用占位符变量代替bean装配文件中的硬编码配置.占位符采用${variable}形式. 说明:当通过context:property-placeholde ...
- Java Web1
Java Web应用的核心技术是Java Server Page和Servlet.此外,开发一个完整的Java Web应该涉及一下几种概念及技术. 1.Servlet组件 Servlet响 ...
- Servlet知识
1.Servlet概述 2.编写Servlet的开发步骤a.建立标准的JavaWeb应用目录FirstAppWEB-INFclasseslibweb.xmlb.编写一个类,实现javax.servle ...
- 数据库(SQL SERVER)常用知识点
1,连接数据库字符串 Data Source=192.168.1.249;Initial Catalog=bbx_uf_jiekou;User ID=sa;Password=123 Data Sour ...
- 深入研究C语言 第三篇
本篇研究TC2.0下其他几个工具.同时看看TC由源代码到exe程序的过程. 1. 用TCC将下面的程序编为.obj文件 我们知道,TCC在默认的编译连接一个C语言的源程序a.c的时候分为以下两步: ( ...
- C# abstract
Abstract: 1.用途:提供一个可供多个派生类共享的通用基类定义. 2.抽象类也可以定义抽象方法,方法是将关键字 abstract 添加到方法的返回类型的前面(抽象方法没有实现,所以方法定义后面 ...
- javascript基础程序(算出一个数的平方值、算出一个数的阶乘、输出!- !- !- !- !- -! -! -! -! -! 、函数三个数中的最大数)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- [UCSD白板题] Compute the Edit Distance Between Two Strings
Problem Introduction The edit distinct between two strings is the minimum number of insertions, dele ...
- 【转】浅谈html5网页内嵌视频
转自 http://www.pchou.info/web/2014/01/30/52ea01e13a7f1.html
- gulp实用插件总结
gulp-sass:预编译sass; gulp-imagemin:压缩png.jpj.git.svg格式图片 gulp-minfy-css:压缩css文件 gulp-rename 重命名文件,把一个文 ...