您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 Thepoly 于 2022-3-24 17:57 编辑
Hello,大家好。 本内容有Kinglary分享 游戏引擎相关内容【附录】灯光入门
由于在Cookbook中,灯光部分并未单列出一个章节进行论述,且内容较少,所以译者在摄像机章节增加灯光的附录以供学习。 1创建灯光A 点击菜单栏GameObject | light,在子菜单中选择你要创建的灯光 B 在Hierarchy面板中Create | light,在子菜单中选择你要创建的灯光 2灯光类型Point Light:点光源。光以点为中心向四面八方散去,想一个灯泡,照亮指定区域 Directional Light:平行光源(方向光源,这里说平行光源比较准确)平行光基本可以照到场景中的任何地方,可以想象为一个太阳。 Spot Light:聚光灯,可以渲染出指定的内容,就像一个手电筒。 Area Light:区域光(面光源),这种灯光只有在烘焙光照贴图的时候才会用上,这种灯光可以在一个位置照亮面对它的所有物体。 注:灯光可以投射阴影,阴影是专业版的功能,阴影的属性可以在每个灯光的基础上进行调节。 3灯光参数选中灯光,观察右侧的Inspector面板 Type (类型):如果你感觉新建的光源类型不符合要求,在这里就可以直接改变类型 Range (范围):即光照范围,对平行光源没有作用 Color (颜色):你可以在调色板中改变光照颜色,也可以从旁边的拾取器拾取场景中的任意颜色。光线的颜色在游戏场景中十分的重要,下图是译者在自己曾经构建的一个游戏场景中(停尸间)加入一个点光源(第一幅图没有光源),调节它的颜色,场景气氛就发生了微妙的变化。 Intensity(强度):即光照强度或是光照亮度,平行光源的默认光强度为0.5,剩下的点光源、聚光灯和区域光源都默认为1。下幅图我们看到的是同一点光源在1和1.88状况下的情况,一般来讲,大于1画面会有点曝光,所以一般无特殊要求,尽量将光强度保持在1或1以下(除非你要制作一个闪光弹或是爆炸效果)。 Cookie(没有准确译名,直呼为Cookie就好):相当于为灯光添加纹理效果。专业点来说,就是:这个纹理的阿尔法(alpha)通道作为一个遮罩,使光线在不同的地方有不同的亮度。如果灯光是聚光灯或方向光,这必须是一个2D纹理。如果灯光是一个点光源,它必须是一个立方图(Cubemap)。下图为用了Cookie之后的效果(这里暂时不讲解实现过程)。 Shadow Type 阴影类型(Pro only):有None、Hard(硬)、Soft(软)三种。如下图,阴影类型,前硬后软,阴影边缘有明显的效果区别。 在选中有阴影效果之后,有几个子参数需要注意一下 第一个:Strength(阴影强度),最大值默认为1,你可以调节一下,就会看见阴影明显的变化(前一个强度为1,后一个强度为0.7)。 第二个,Resolution,这里我们保持不变,使用Quality Settings(质量设置)。 第三个,Bias (偏移),用于比较灯光空间的像素位置与阴影贴图的值比较的偏移量。当值太小,表面会产生self-shadow("影子痤疮"),-----就是物体的表面会有来自于自身的阴影,物体就像长了痘痘一样。当值太大,光源就会脱离了接收器G Draw HALO(光晕效果)和Flare(闪光效果),让光线出现镜头光晕或是闪光,你可以通过添加能够闪光的物体来使用这些效果。 Render Mode(渲染模式),这里我们不做修改,让系统自动渲染(Auto)。 Culling Mask(剔除遮罩)。通常来讲,如果我们想让光线只对某一个物体有效果,我们可以在下拉菜单选项中选择我们需要的物体或者我们可以选择忽略所有物体。这里我们需要让光线对所有物体都有效果,所以勾选了Everything 记住,一个场景里的灯光有很多,我们需要在Hierarchy中管理它们,这里有个小方法。在Hierarchy面板中创建一个空物体(Empty Object),命名为light,将所有灯光选中拖拽到light之下,所有灯光就和这个light形成了父子关系,做到统一管理的作用。 聚光灯,还可以手动的在场景调节光圈大小和照射高度如图: 今天我们这一部分是光照入门,本节内容我以点光源为例分析了他的属性和调节方式,读者可以尝试应用聚光灯去进行调节。阅读完本节内容后,您应该已经掌握了基本的打光、光照布置和常用属性调节的能力。
|