Unity3D游戏开发标准教程第07章-光影效果课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Unity3D游戏开发标准教程第07章-光影效果课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Unity3D 游戏 开发 标准 教程 07 光影 效果 课件
- 资源描述:
-
1、 第1页在Unity游戏开发引擎中内置了四种形式的光源,分别为点光源、定向光源、聚光灯光源和区域光源 7.1.1点光源和定向光源点光源就是一个可以向四周发射光线的一个点,类似于现实世界中的灯泡,而定向光源能够更好的模拟太阳,定向光源发出的光线都是平行的,并从无限远处投射光线到场景中,很适用于户外的照明。第2页1.点光源基础知识点光源基础知识点 光 源 的 添 加 可 以 通 过 点 击 菜 单 栏 中点 光 源 的 添 加 可 以 通 过 点 击 菜 单 栏 中“GameObject”“Light”“Point Light”菜单完成菜单完成 选中场景中的点光源,在其选中场景中的点光源,在其In
2、spector面板中就会出现点光源的面板中就会出现点光源的设置面板,在设置面板中可以修改点光源的位置,光照强度、设置面板,在设置面板中可以修改点光源的位置,光照强度、光照范围等等参数。光照范围等等参数。 参数名含义参数名含义Type光源类型,可以在四种形式的光源之间进行切换Draw Halo是否启用光晕Range光源的光照范围Color光照颜色Intensity光照强度Bounce Intensity用来设置光的反射强度Shadow Type设置阴影模式(没有阴影、硬阴影、软阴影)Flare设置光照耀斑、镜头光晕效果Strength阴影强度,值越大,阴影的颜色越浓Resolution设置阴影的
3、质量第3页1.点光源基础知识点光源基础知识Baking光源烘焙模式(实时、烘焙、混合),烘焙模式下烘焙光照后会将该光源的效果添加到烘焙贴图中,烘焙模式下的光源无法影响非静态对象,混合模式下的光源即可以被烘焙,也能够影响到非静态对象Cookie灯光遮罩,为光源设置带有alpha通道的纹理贴图,使其在不同的位置具有不同的亮度(点光源需要放置立方图纹理Cubemap)Render Mode设置光照的渲染模式,Auto模式为自动调节模式,Important模式是将像素逐个渲染,Not Important模式是总以最快的方式进行渲染Culling Mask剔除遮罩,只有其中被选中的层所关联的对象能够受到
4、光照的影响第4页2.定向光源基础知识定向光源基础知识定 向 光 源 的 添 加 可 以 通 过 点 击 菜 单 栏 中定 向 光 源 的 添 加 可 以 通 过 点 击 菜 单 栏 中“GameObject”“Light”“Directional Light” 菜单完成,菜单完成,定向光源在场景中如果位置发生改变,它的光照效果并不会发定向光源在场景中如果位置发生改变,它的光照效果并不会发生任何改变,可以把它放到场景中任意的地方,如果旋转定向生任何改变,可以把它放到场景中任意的地方,如果旋转定向光源,那么它产生的光线照射方向会随之发生变化。光源,那么它产生的光线照射方向会随之发生变化。选中场景中
5、的定向光源,在其选中场景中的定向光源,在其Inspector面板中就会出现定向光面板中就会出现定向光源的设置面板,在设置面板中可以修改定向光源的位置,光照源的设置面板,在设置面板中可以修改定向光源的位置,光照强度、光的颜色等参数。强度、光的颜色等参数。 第5页7.1.2聚光灯光源和区域光源 聚光灯光源的照明范围为一个椎体,类似于聚光灯发射出来的光线,并不会像点光源一样向四周发射光线。区域光源是创建一片能够发光的矩形区域,只有在光照烘焙完成后才能看到效果。第6页1.聚光灯光源基础知识聚光灯光源基础知识聚 光 灯 光 源 的 添 加 可 以 通 过 点 击 菜 单 栏 中“GameObject”“
6、Light”“Spot Light”菜单完成 选中场景中的聚光灯光源,在其选中场景中的聚光灯光源,在其Inspector面板中就会面板中就会出现聚光灯光源的设置面板。在设置面板中可以修改出现聚光灯光源的设置面板。在设置面板中可以修改聚光灯光源的位置,光照强度、光的颜色等参数。聚光灯光源的位置,光照强度、光的颜色等参数。 第7页2.区域光光源基础知识区域光光源基础知识区 域 光 光 源 的 添 加 可 以 通 过 点 击 菜 单 栏 中“GameObject”“Light”“Spot Light”菜单完成, 区域光光源只能在光照烘焙完成后才能显示出效果,区域光光源只能在光照烘焙完成后才能显示出效
7、果,一般情况区域光光源用来模拟灯管的照明效果。一般情况区域光光源用来模拟灯管的照明效果。区域光光源无法实现区域光光源无法实现Cookie效果,其余参数与其他光效果,其余参数与其他光源完全相同源完全相同 。 第8页光照烘焙就是将场景中的光照信息渲染成贴图,然后光照烘焙就是将场景中的光照信息渲染成贴图,然后将烘焙完成后生成的贴图再应用到场景中的技术,此将烘焙完成后生成的贴图再应用到场景中的技术,此时光照信息已经存储在纹理贴图中,不再需要时光照信息已经存储在纹理贴图中,不再需要CPU进进行计算,能大幅度提高性能。行计算,能大幅度提高性能。7.2.1 光照设置点击菜单栏中点击菜单栏中“Window”“
8、Light”即可打开即可打开Light窗窗口,口,Light窗口中分三个板块来控制窗口中分三个板块来控制Unity游戏开发引游戏开发引擎中跟光照相关的参数擎中跟光照相关的参数 第9页1.Object板块板块Object板块主要是对板块主要是对Hierarchy面板中的对象进行筛选,面板中的对象进行筛选,在在Object面板中有四个按钮分别为全部对象、光源、面板中有四个按钮分别为全部对象、光源、渲染器、地形渲染器、地形 (1)Renderers渲染器渲染器 渲染器相关参数含义渲染器相关参数含义第10页参数名含义参数名含义Preserve UVs保护光照图UV,若模型没有在3DMax等建模软件中展
9、好UV,则这里必须勾选。Auto UV Max Distance手动设置UV的最大距离Important GI让自发光的物体照射范围更加大(在较大的场景中可能会用到)Auto UV Max Angle手动设置UV的最大角度Advanced Parameters设置光照图的质量Lightmap static该选项表示选中的游戏对象是否为Static或Lightmap Static的,如果是,则该游戏对象应该参与到GI系统中计算光照Scale In Lightmap该值影响了用于选中对象的lightmap的像素数目。1.0为默认值,表示每个对象所占光照图像素的比率。可以通过此值来优化光照图,减少不
10、重要的对象的比例让重要的物体占更多的光照图像素来优化场景第11页1.Object板块板块(2)Terrain地形地形图7-19 地形参数设置第12页2.Scene板块板块(1)Environment Lighing环环境光照境光照 环境光照相关参数含义环境光照相关参数含义参数名含义Skybox场景中使用的天空盒Sun太阳光,可以为其指定一个定向光光源(Directional Light)Ambient Source环境光来源,在这里可以指定环境光是来源于天空盒、梯度还是指定颜色Ambient Intensity环境光的强度Ambient GI指定环境光的光照模式是实时光照还是烘焙,若下面的两种
11、GI模式没有都开启,该选项的调节是没有效果的Reflection Source反射源,可以指定反射源是天空盒或者一个自定的立方体纹理图Reflection Intensity反射强度,设定来自天空盒或者立方图纹理的反射强度Reflection Bounce反射计算次数第13页2.Scene板块板块(2)Precomputed Realtime GI预计算实时全局光照预计算实时全局光照预计算实时全局光照并不是用于光照烘焙,预先计算的实时预计算实时全局光照并不是用于光照烘焙,预先计算的实时全局光照系统能帮我们实时运算复杂的场景光源互动,透过全局光照系统能帮我们实时运算复杂的场景光源互动,透过这种方
12、法,就能建立在昏暗的环境下带有丰富的全局光照反这种方法,就能建立在昏暗的环境下带有丰富的全局光照反射,并实时反映光源的改变。这对于硬件的要求是目前移动射,并实时反映光源的改变。这对于硬件的要求是目前移动端所无法达到的。端所无法达到的。(3)Bake GI烘焙全局光照烘焙全局光照如果开发过程中需要使用光照烘焙,那么就需要将该面板选如果开发过程中需要使用光照烘焙,那么就需要将该面板选中并取消中并取消Precomputed Realtime GI面板的勾选,全部勾选面板的勾选,全部勾选会造成大量的重复计算不利于提升性能。会造成大量的重复计算不利于提升性能。第14页2.Scene板块板块参数名功能Ba
13、ked Resolution烘焙分辨率,若该值为10就代表每个单位中分布着10个纹理元素Baked Padding在LightMap中不同物体的烘焙贴图的间距Compressed是否压缩光照图,在移动设备上最好勾选上Ambient Occlusion烘培光照图时产生一定数量的环境阻光。环境阻光计算物体每一点被一定距离内的其他物体或者一定距离内自身物体的遮挡程度(用来模拟物体表面环境光及阴影覆盖的比例,达到全局光照的效果)Final Gather控制从最终聚集点发射出的光线数量,较高的数值可以得到更好的效果第15页2.Scene板块板块(4)General GI全局光照的基本设置全局光照的基本设
14、置General GI面板中对全局光照的设置参数能够同时适用于面板中对全局光照的设置参数能够同时适用于Precomputed Realtime GI和和Baked GI 参数名功能Directional Mode定向模式,默认为定向,能够满足大部分的开发需求,当游戏中需要提升直接光和间接光对静态物体的照射效果,那么就需要将其设置为Directional Specular(定向镜面模式)。Indirect Intensity用于调整静态物体的自发光对其他物体的影响, 以及Ambient lighting的强度.Bounce Boost用于设置光线从一个物体反射到另一个物体时,被反射的光线的数量D
15、efault Parameters用于修改关于光照的常规参数,其中有多个档次供选择,也可以进行自定义Atlas Szie用于设置光照贴图中分辨率的大小第16页7.2.2 光照烘焙案例1. 案例效果案例效果图7-24 案例运行效果第17页7.2.2 光照烘焙案例2. 制作流程制作流程(1)首先打开)首先打开Unity集成开发集成开发环境,新建一个工程并重命名环境,新建一个工程并重命名为为“Light_Demo”,进入工,进入工程后保存当前场景并重命名为程后保存当前场景并重命名为“Bake_Demo”。然后在场。然后在场景中使用景中使用Unity内置的多种简内置的多种简单几何体搭建一个简易的场景单
16、几何体搭建一个简易的场景即可,搭建完成后效果如图即可,搭建完成后效果如图7-25所示。所示。图7-25 搭建简易场景第18页7.2.2 光照烘焙案例(2)场景搭建完成后,为了使其他光源的光照效果更突出,本案例中将场景中的定向光源去掉。)场景搭建完成后,为了使其他光源的光照效果更突出,本案例中将场景中的定向光源去掉。将所有的将所有的3D对象设置为静态对象,如图对象设置为静态对象,如图7-26所示。并在其中添加多种光源进行照明,将光源的烘焙所示。并在其中添加多种光源进行照明,将光源的烘焙模式均设置为模式均设置为Bake,如图,如图7-27所示。最后调整光源的位置以及朝向即可。所示。最后调整光源的位
17、置以及朝向即可。图7-26 将物体设置为静态图7-27 设置烘焙模式第19页7.2.2 光照烘焙案例(3)由于本案例仅作为演示,所以还需要对)由于本案例仅作为演示,所以还需要对Light窗口中的部分参数进行修改,使其能够达到较好窗口中的部分参数进行修改,使其能够达到较好的视觉效果。首先打开的视觉效果。首先打开Light窗口,在窗口,在Scene板块中关闭预计算全局光照的功能,取消对光照烘焙贴板块中关闭预计算全局光照的功能,取消对光照烘焙贴图的压缩,并将定向模式修改为定向镜面模式,如图图的压缩,并将定向模式修改为定向镜面模式,如图7-28、图、图7-29所示。所示。图7-28 设置参数1图7-2
18、9 设置参数2第20页Unity5.0中新增了一种制作反射效果的中新增了一种制作反射效果的“Reflection Probe”功能功能 ,该功能通过场景中若干个反射采样点来生成反射,该功能通过场景中若干个反射采样点来生成反射“Cubemap”,然后通过特定的着色器从,然后通过特定的着色器从“Cubemap”中采中采样,从而实现反射效果。样,从而实现反射效果。7.3.1 反射探头基本知识反射探头的好处是其能够捕捉所在位置各个方向的环境视图,反射探头的好处是其能够捕捉所在位置各个方向的环境视图,将所捕获的图像储存为一个立方体纹理(将所捕获的图像储存为一个立方体纹理(Cubemap)。这样)。这样物
19、体会根据其所处的探头的位置产生真实的反射效果。物体会根据其所处的探头的位置产生真实的反射效果。第21页7.3.1 反射探头基本知识图7-30 反射探头设置面板1图7-31 反射探头设置面板2第22页7.3.1 反射探头基本知识(1)反射探头类型的选择bake烘焙:烘焙模式:这种模式类似于光照烘焙,当反射探头的位置和反射范围设定完成后,将其反射信息烘焙到Cubemap(立方图)中,这样物体上的反射效果将会固定为烘焙时的反射探头所捕捉到的环境视图。 custom自定义:自定义模式:默认状态下自定义:自定义模式:默认状态下Custom模式模式的反射探头和的反射探头和Baked模式的探头的用法和效果基
20、本相同的,模式的探头的用法和效果基本相同的,不同的是自定义模式下可以通过开启不同的是自定义模式下可以通过开启Dynamic Objects功能,功能,使得没有设置为使得没有设置为Reflection Probe Static的动态物体也能够的动态物体也能够被反射探头捕捉。而且自定义模式下,开发人员可以为该反被反射探头捕捉。而且自定义模式下,开发人员可以为该反射探头指定射探头指定Cubemap(立方图)。也就是说,当前处于(立方图)。也就是说,当前处于A地地区的反射探头捕捉的环境视图可以替换为,在区的反射探头捕捉的环境视图可以替换为,在B地区的反射地区的反射探头所捕捉到的环境视图。探头所捕捉到的
21、环境视图。 第23页7.3.1 反射探头基本知识(2)反射探头的位置和大小探头的移动可以通过两种方式进行,一种就是通过移动反射探头在3D世界中的位置,一种是使用反射探头组件提供的移动工具,如图7-36所示 探头捕捉范围的调整也可以通过两种方式进行,一种是使用探头捕捉范围的调整也可以通过两种方式进行,一种是使用反射探头组件内置的调节按钮,如图反射探头组件内置的调节按钮,如图7-36所示。点击该按钮所示。点击该按钮后在包围探头的正方体的每一个面上都有一个点,如图后在包围探头的正方体的每一个面上都有一个点,如图7-35所示,可以通过拖动它们来改变捕捉范围。另一种就是修改所示,可以通过拖动它们来改变捕
22、捉范围。另一种就是修改其中的其中的Size参数,也同样可以调节捕捉范围。参数,也同样可以调节捕捉范围。第24页7.3.1 反射探头基本知识图7-35 范围调节点图7-36 范围、位置调节工具第25页7.3.1 反射探头基本知识(3)无限反射如果将两面镜子相对着放置,那么在镜子中应该能够看到经过 无 数 次 反 射 所 呈 现 的 效 果 , 这 样 的 现 象 称 为“InterReflection”。但是可想而知,无限反射的后果就是程序的无法运行,为了防止这种事情的发生Unity中可以来调节反射的次数。点击菜单栏中“Window”“Lighting”,打开Light窗口,在其“Scene”面
23、板中“Environment Lighting”卷展栏下的“Reflection Bounces”属性就是用来控制反射的次数,最大为相互反射5次。第26页7.3.2 反射探头案例开发1. 案例效果案例效果图7-37 案例运行效果1图7-38 案例运行效果2第27页7.3.2 反射探头案例开发2. 制作流程制作流程(1)首先打开)首先打开Unity集成开发环境,集成开发环境,新 建 一 个 工 程 并 重 命 名 为新 建 一 个 工 程 并 重 命 名 为“ReflectionProbe_Demo”,进,进入工程后保存当前场景并重命名为入工程后保存当前场景并重命名为“ReflectionPro
24、be_Demo”,然,然后在后在Assets目录下新建两个文件目录下新建两个文件夹分别命名为夹分别命名为“Texture”和和“C#”,分别用来放置纹理图和脚本文件,分别用来放置纹理图和脚本文件,如图如图7-39所示。所示。 图7-39 目录结构 第28页7.3.2 反射探头案例开发2. 制作流程制作流程(2)接下来开始搭建场景,首先)接下来开始搭建场景,首先将需要使用的纹理贴图导入到将需要使用的纹理贴图导入到Texture文件夹中,然后在场景中文件夹中,然后在场景中创建创建Plane、Cube、Sphere、Cylinder和和Capsule四中几何体,四中几何体,将其摆放到合适的位置并为其
25、添将其摆放到合适的位置并为其添加纹理贴图,完成后效果如图加纹理贴图,完成后效果如图7-40所示。所示。图7-40 搭建场景第29页7.3.2 反射探头案例开发2. 制作流程制作流程(3)完成后点击菜单栏中)完成后点击菜单栏中“GameObject”“Light”“Reflection Probe”创建一个反射探头并将创建一个反射探头并将其放置在场景的中间位置,为了使反射效果更突出,将反射探头设置面板中的其放置在场景的中间位置,为了使反射效果更突出,将反射探头设置面板中的Cubemap分辨率设分辨率设置为置为1024*1024,并使用实时模式,如图,并使用实时模式,如图7-41、图、图7-42所
展开阅读全文