首先在场景里面随意的放了一些物体,搭建了一个场景,里面有一盏直射灯,两盏不同颜色的点光源,然后有一个球,球是作为动态物体的存在。
由于打了灯光,所以球明显的受到了两盏灯光的影响而表现出两种颜色。
接下来设置一下LightMapping的选项,然后烘焙
烘焙之后的效果是这样的,由于三盏灯还开着,所以球还是受到光的颜色的影响。
接下来我们把三盏灯都关掉,这时候球就没有任何灯光效果,变成灰黑色
移动一下球,明显的不和场景里面的任何灯光产生影响
接下来我们要开始做LightProbe了。先建一个空物体
然后给这个空物体添加Light Probe Group组件
在LightProbe选项里面,有添加、选择、删除和复制探头的按钮
我们可以点击添加,放一些探头在场景里面,也可以建一个,然后复制多几个
最简单的,先在各个角落放一个,包一定范围内的场景包起来。只要你选择了LightProbe物体,那么这些探头点你就可见,然后你就可以直接用鼠标点选这些探头,然后使用位移工具来移动他们。
在烘焙之前,记得把这个LightProbe物体改成Lightmap静态物体
烘焙之前记得把三盏灯开启,烘焙完成之后,选择球,然后在网格渲染里面把Use Light Probes勾上
烘焙后就可以把三盏灯关闭了,这时候,我们看到球不再是灰黑色的了,而是受到了一定的灯光的影响
把球移动到另外一边,发现球的颜色稍微有点变化了,这就是受到了LightProbe影响了。
但上面的效果不明显,我们继续的在两盏点光源的附近加多一点探头
再次烘焙之后,我们可以看到,现在的球受到LightProbe的影响的效果就很明显了。
其实就是这么简单,LightProbe的用法就是在LightMapping的基础上加上了一些探头的点来记录光源的信息。探头越多,效果就越明显。各位如果有兴趣,可以深入的研究一下,探头怎样分布,效果才是最好的。
第一步,创建一个Panel 和 三个 cube,搭建成如下图形状
第二步,创建2个点光源,一个为绿灯,一个为红灯,各占一半位置,如下图:
为了能看清效果,可以把灯光的Intensity调大最大
第三步,创建一个空物体,给这个空物体加上 Component->Rendering->Light Probe Group 组件
第四步,点击Add probe,一个点一个点增加,或者使用Duplicate Selected 复制所选的点,让点把2个灯光照射范围包围起来,如下图:
第五步,创建一个cube放在group中间,并且勾上cube上Mesh Renderer中的Use Light Probes选项,如下图
第六步, 把地板Plane 和 加上Group组件的空物体 设置为 Lightmap static 静态
第七步,打开 window ->lightmapping ,在Bake页签中,点击 Bake Scene,点完后,右下角会有进度条,等待完毕。
第八步,烘焙完毕,把场景中两个点光源禁用掉。
第九步,禁用后,平移中间的cube物体,当cube靠近红色区域时,会有红灯照射的反应,当靠近绿色,就会变成绿色,
灯光是游戏场景的重要组成部分,决定你的3D环境的颜色和氛围。通过相互搭配,让场景更加层次分明、光彩绚丽。
Unity中的光源有四种类型:Directional Light(平行光)、Point Light(点光源)、Spot Light(聚光灯)、Area Light(区域光)。
1、Directional Light 平行光/方向光/定向光: 平行光的光线是互相平行的,不管对象离Directional Light光源多远,它投射出来的阴影看起来都一样,而且Directional Light没有真正的光源坐标,把它放置在场景任何地方都不会影响光照效果,只有旋转会影响Directional Light的照射结果。平行光影响场景的所有物体,类似于自然界中太阳光的照明效果。通常用于(室外)模拟太阳光,它的特性就像是个太阳,可以被放置在无穷远的地方,能从无限远的距离投射光源到场景。
在Unity里Directional Light还会与天空盒系统(程序天空盒)关联,就是把Directional Light做为太阳显示并绑定在天空壳上。指定路径(Window->Rendering->Lighting settings(打开Lighting菜单)->Scene->Sun Source)。
2、Point Light 点光源: 点光源向四面八方(所有方向)发射光线,影响其范围内的所有对象,亮度从中心往外递减到0为止,类似灯泡的照明效果。适合用来制作像灯泡、武器发光或爆炸等效果。点光源的阴影为了要给六个不同的世界方向会运算六次,因此点光源的阴影运算是很图像处理器资源的,必须谨慎使用。注意:目前点光源不支持阴影的间接反射,这就表示由点光源产生的光线,只要在距离内有可能会穿过对象反射到另外一面,这可能会导致墙壁或地板 漏光 ,因此放置点光源要格外注意,然而如果是采用Backed GI的话,就不会有这类的问题产生。
3、Spot Light 聚光灯: 聚光灯从光源发出,在一个方向上按照—个锥形的范围发射光线,该锥形是由聚光灯角度 (Spot Angle) 和范围 (Range) 界定的,光线会从源头到设定的范围慢慢衰减到0。类似手电筒, 路灯, 壁灯,舞台灯光等等照明效果。因为投射区域能精确的控制,因此很适合用来模拟打在角色身上的光。 聚光灯也是比较耗费图形处理器资源的。
4、Area Light 区域光/面光源 :这种光能从各方向照射一个平面的矩形截面的一侧。该光源无法应用于实时光照,仅适用于光照贴图烘焙 lightmap baking,
Type 类型: 灯光对象的当前类型
Color 颜色: 光线的颜色
Range 范围: 点光源/聚光灯有这个属性
Spot Angle(聚光灯角度): 聚光灯的角度
Mode 模式: 【Realtime 实时; Mixed 混合; Baked 烘培】
Intensity 强度: 光线的明亮程度
IndirectMultiplier 间接光强度
ShodowType 阴影类型(是否开启阴影): 【No Shadows 无阴影;Hard Shadows 硬阴影:锯齿强度比较明显;Soft Shadows 软(柔和)阴影:软阴影效果比硬阴影效果好,但是耗费性能。】
Strength 硬度: 阴影的黑暗程度,取值范围是在0和1之间。
Resolution 分辨率: 阴影的细节水平
Bias 偏移: 用于比较灯光空间的像素位置与阴影贴图的值比较的偏移量。当值太小时,物体的表面会有来自于自身的阴影,物体就像长了痘痘一样。当值太大,光源就会脱离了接收器(彼得平移)。影子显示错位时调整。
Cookie(Cookie投影): 以纹理的Apha通道作为一个遮罩,使光线在不同的地方有不同的亮度。如果灯光是聚光灯或方向光,这必须是一个2D纹理;如果灯光是一个点光源,它必须是一个立方图(Cubemap)。
Cookie Size(缩放Cookie投影): 只用于方向光。
Draw Halo 绘制光晕: 如果勾选此项, 光线带有一定半径范围的球形光晕被绘制。
Flare:耀斑/光晕/眩光: 光晕对象是被镜头光晕组件( Lens Flare Components)使用的源资源。光晕本身是一个纹理文件和具体的信息的结合,确定眩光的行为。然后,当你想在一个场景中使用眩光,将镜头光晕(Lens Flare)组件贴到一个游戏物体上,并拖动你要使用到镜头光晕的耀斑属性的耀斑,就像给网格渲染器( Mesh Renderer)指派一个材质(Material )一样。
Render Mode 渲染模式:
Auto 自动:
Important 重要: 灯光逐个像素渲染。只用在一些非常重要的效果(比如玩家的车的车头灯)。
Not Important 不重要: 灯光总是以最快的速度渲染。顶点/对象光模式。
Culling Mask 消隐遮罩: 有选择地使组对象不受光的效果影响
Lightmapping 光照贴图: 仅灯光实时计算(RealtimeOnly)、自动(Auto)、烘焙( BakedOnly)
指定位置Edit ->Project Settings ->Player ->Other Settings。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)