[我给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/ 联系店主
随机推荐
- [08]APUE:进程控制
[a] getpid / getppid / getuid / geteuid / getgid / getegid #include <unistd.h> pid_t getpid(vo ...
- delegate notification kvo三者比较
IOS 如何选择delegate.notification.KVO? 前面分别讲了delegate.notification和KVO的实现原理,以及实际使用步骤,我们心中不禁有个疑问,他们的功能比较类 ...
- 蓄水池算法(Reservoir Sampling)
蓄水池算法是一种随机算法,可以形象的描述为从一个n维的list中选取k个元素,其中n是一个很大的数或者n是一个未知的数,而且一般n很大使得不会将list存在主存中. 解法: i = 0 while m ...
- img 是内联元素
图片是内联元素 ,同时是内联替换元素(替换元素是能设置宽和高的) 取消图片的magin display:block;(一般初始化标签中会把图片设置成块状) replaced element <i ...
- win使用MSYS2安装Qt开发环境
原文链接 MSYS2 下载地址: pacman的具体用法 有pacman的具体使用方法.我们首先对系统升级 我们首先对系统升级 pacman -Syu 就会检测整个系统可以升级的组件,并自动下载安装, ...
- lazy?
https://developer.jboss.org/wiki/LazyEJB31timerservicedeploymentstartingJBossAS600M5 2016-09-28 18:5 ...
- Enable MFA for a user
If you are root/admin account, in order to configure a virtual MFA device, you must have physical ac ...
- JS变量和函数的一些理解
今日看了下JS变量的一些文章,有些感触,把自己总结的一些写出来. JS初始化的过程1.JS解释器执行代码之前,创建全局变量2.用预定义的值和函数来初始化全局对象中的属性,3.搜索函数外的var声明,创 ...
- bat运行时不弹出那个黑框框的完美解决方案
批处理文件运行时经常出现讨厌的黑框,以下的方法,即可以解决 保存为run.vbs运行即可: set ws = createobject("wscript.shell") ws. ...
- chrome插件开发-消息机制中的bug与解决方案
序言 最近开发chrome插件,涉及到消息传递机时按照教程去敲代码,结果总是不对.研究了大半天终于找到原因,现在记录下. 程序 插件程序参考官网 chrome官网之消息传递机制, 不能FQ的同事也可以 ...