LightMapping Settings
Lightmapper:烘光的解决方案,Enlighten:使用的CPU烘培,烘培更慢,Progressive CPU:也是使用CPU烘培,烘培更强大,官方推荐使用该模式,渲染效果更好。Progressive GPU:烘培更快使用GPU烘培
PrioritizeView:启用此选项可使渐进式光照贴图器将更改应用到当前在“ 场景视图"可见的纹理像素,然后将更改应用于视口外的纹素。
Direct Samples:直接照明计算的样本数量,较高的采样值可以减少噪点并可以改善光照贴图的质量,但是它们也会增加烘焙时间
Indirect Samples:间接照明计算的样本数量,较高的采样值可以减少噪点并可以改善光照贴图的质量,但是它们也会增加烘焙时间
下图是Direct Samples与Indirect Samples数值大小的对比
IndirectResolution:间接光的光照精度。数值越大间接光越细腻,
LightmapResolution:烘培的精度,控制光照贴图的分辨率,默认烘培40个像素点。这个值越大烘培精度越高烘培越慢。
LightmaoSize:UV信息的间距,光照信息不正确的时候可以调整此参数,一般参数为2是合理的
LightmapSize:光照贴图的大小。一般1024是合理的
CompressLightmaps:是否压缩光照贴图
FinalGather:最终的聚集,
DirectionalMode:勾选后会烘培灯光方向贴图,贴图效果会更好。凹凸感更强。
fog:是否开启雾化效果
Color:雾化颜色
Model:雾化模式:
2.Exponential:雾密度随距离呈指数增长。
Density:使用此控制雾的密度。随着密度的增加,雾显得更浓。
3:ExponentialSquared:雾的密度随着距离的增加而增加(呈指数和平方)。
Density:使用此控制雾的密度。随着密度的增加,雾显得更浓。
HaloTexture:设置要用于在灯光周围绘制 光晕 的纹理。
HaloStrength:光晕强度,从0到1之间的值定义光晕周围Halos的可见性
Flare Fade Speed; 定义 镜头眩光
的时间(以秒为单位)。该。默认情况下设置为3。
FlareStrength:耀斑强度,从0到1之间的值定义灯光的镜头光斑的可见性。
SpotCoolie:设置要用于 聚光灯 的 Cookie 纹理。
Unity3D】Unity灯光效果及设置详解Unity⽀持多种技术和组件。⼀些关键部件是灯光和照明技术。在Unity中,你可以通过模拟复杂的灯光⾏为或者通过简单的灯光模型来照亮场景。
本教程将重点讲解如何在Unity 5使⽤照明⼯程,照明类型和属性,以及如何使⽤它们来创建丰富的照明效果。
预设条件
下⼀步,下载LightingIn-Starter⽂件,解压并在Unity中打开项⽬。Demo场景应该能够⾃动打开,如果不⾏,可以从Assets⽂件夹中打开。
第 1 页
定向和⾮定向光
在现实世界中,你有两种类型的照明效果:直接和间接照明。直接照明,顾名思义,是直接从光源照射的灯光(灯,太阳或其他)。另⼀⽅⾯,间接照明是来⾃另⼀物体的光。
在场景中的Action中你就可以看到直接照明,正如你能注意到的⼀样,场景中有⼀个直接光源叫做Directional Light
直接光源主要⽤于太阳以及⽉亮等户外光源,他们影响场景中所有物体的表⾯。他们也是开销最⼩的图形处理器
你可以在检视⾯板中选择Directional Light并查看其属性。你会注意到⼀些有趣的属性,⽐如类型,颜⾊以及敏感度等等。你可以改变颜⾊和旋转属性并实时查看结果。通过改变这些值,你可以直接改变你的定向光。
第 2 页
这时候,你的3D场景中没有任何的⾮定向光。你可以通过将球体移动⾄贴近红⾊或者绿⾊的墙来检查,发现球体颜⾊没有改变,说明场景中没有⾮定向光。
第 3 页
使⽤⾮定向光的⽅法之⼀就是使⽤静态对象。请记住,静态对象的使⽤可以提⾼游戏渲染的性能,但也会降低游戏质量,所以你必须在游戏中找到最佳的平衡。
在场景中添加⼀个⽅块,将它放置到球体的旁边,并命名为Cube
选中这个Cube,并在细节⾯板中启⽤静态属性
第 4 页
当启⽤静态属性时,Unity将⾃动为该对象创建⼀个光照贴图,并应⽤正确的光照模型。现在你可以将相机移动到Cube并发现⾮定向光开始起作⽤了。绿⾊或者是红⾊的光现在蔓延到了⽴⽅体上。
第 5 页
如果你改变定向光的⽅向,你会发现Unity将会⾃动更新光照贴图。
被施加到⽴⽅体上的间接照明不适⽤于球体,因为球体不是静态的。你可以通过使球体静态(检视>静态)来解决这个问题。
这个时候,你可以添加和配置定向以及⾮定向光到静态对象。然⽽,3D⼤多都是由动态对象组成。因此,我们如何将这些效果应⽤到那些动态对象呢?我们接下来将具体说明
光照探测器
当你的场景中包含⾮静态的物体,你需要使⽤特定的照明技术,正确地照亮他们,使他们看起来不像从场景中断开
第 6 页
通过使⽤光探针及其位置,可以在场景中采样点。每个光探针可以采样特定区域,然后计算该特定区域的照明。这些计算⾜够快,可⽤于游戏期
间。光探针的使⽤避免了移动物体的照明和场景中的静态光映射对象之间的连接断开
球体是⼀个动态物体,因此,与它看起来的相反,它没有被正确地照亮。如果你把定向灯关闭,你会注意到,唯⼀影响球的照明是环境光。要正确地照亮球体,你需要使⽤光探测器
要添加光探针,你需要在Component >Rendering >Light Probe Group下打开。这样会在场景中创建⼀个光探针组
第 7 页
下⼀步是将探头放在正确的位置。你现在要将他们放在盒⼦的每个⾓落
最好的办法是改变⼀个视图(单击在场景右上⾓的⽴⽅体)。然后,选择每个光探测节点并将其拖到每个框⾓
第 8 页
重复上述步骤,直到你在所有的⾓落中安装了光探头
有些场景需要额外的探针正确地照亮物体。为了添加更多的探针,您可以选择⼀个探头,然后在检视⾯板中,单击重复选定按钮。
复制之后,您需要将新节点放置在正确的位置(复制的⼀个节点将与所选的位置处于同⼀位置)
第 9 页
如果你仔细查看界⾯的督察,你会注意到,您还可以添加⾃定义探针(添加探针),删除探针(删除选定),或选择所有的探针从组(选择所有)。
在运动中观察光探头,选择球体,并为它添加⼀个刚体(添加组件>刚体)。然后,给对撞机分配⼀个材质。您可以使⽤橡胶材料。
第 10 页
现在,把球体放在盒⼦的顶部并按下播放键,现在你可以看到球体的适当光照了。要观察差异,禁⽤光照探头,并且再次播放
点光源
点光源是游戏中最常见的光源。它们通常⽤于爆炸和灯泡。因为它们在各个⽅向发光,所以它们在图形处理器上有⼀个平均成本。然⽽,计算阴影时使⽤点光源更昂贵。
第 11 页
通过选择对象>光>点光源加⼀点光源。然后,将点光源放在靠近顶部的盒⼦内。
选择点光源,并查看检视⾯板中的参数
第⼀个参数是类型。这⾥可以设置要使⽤的光类型。您可以选择点,⽅向,点,或区域。每个提供了特定的光效果。您可以选择任何选项,并看到结果的实时。然⽽,对于本教程,您将使⽤点选项。这将创建⼀个灯泡效果(光照所有⽅向相同)。
第 12 页
第⼆个参数是Baking。您可以将其设置为实时、烘焙或混合。将值作为默认值。范围参数定义光从点光源的中⼼发射多远。颜⾊参数定义发出的光的颜⾊
Intensity定义了光的亮度,并且Bounce Intensity定义了间接光强度倍数。 Shadow Type定义了阴影属性和阴影类型。你可以设置它 No Shadows, Hard Shadows,或者是Soft Shadows。记住,电光源的阴影对于引擎来说开销是最⼤的,所以要⼩⼼选择此选项。
如果选择Hard Shadows 或Soft Shadows,你会看到球体和点光源产⽣的阴影。当你改变强度值时,阴影也会减轻或加重。该分辨率允许您定义阴影的详细级别。最后, Bias 和Normal Bias让您在配置偏移时被使⽤来⽐较像素位置在光空间与阴影贴图。
第 13 页
cookie是⼀个可选的参数,它代表⼀个纹理的alpha通道,⽤来确定不同位置的光的亮度。因为这是⼀个点光源,必须使⽤⼀个⽴⽅体贴图纹理
Draw Halo选项只在光源周围呈现光晕。耀斑定义了⼀个在光的位置呈现的耀斑的引⽤。当调试3D场景和可能的瓶颈时,耀斑和Draw Halo可能是有⽤的
Render Mode定义了当渲染器渲染场景时照明是多么重要。更重要的是,渲染将更密集。渲染模式可以设置为⾃动的,重要的,或不重要的。最后,剔除遮罩⽤于选择或排除,由点光源影响的对象组。
第 14 页
聚光灯
点光源从特定区域的光源发射光。它们只照亮⼀个特定区域内的物体,⼀个由三维圆锥体分隔的区域。基本上,他们的⼯作就像汽车的前灯。你可以想象,他们是完美的⼿电筒,汽车⼤灯,或灯柱。他们在图形处理器中也是开销很⼤的。
现在让我们把点光变成聚光灯。选择您创建较早的点光源并将其类型更改为聚光灯。下⼀步,旋转的光线,以便它可以照亮地板的盒⼦。重命名为聚光灯。
第 15 页
正如你可能已经注意到的,在检视⾯板中,聚光灯的参数和点光源的参数是很相似的。但是,有⼀个新的参数叫做Spot Angle
Spot Angle决定光锥度数的⾓度
⽆论直接和间接照明,聚光灯⼯作完全像点光源。你有同样的局限性和优势。因此,在游戏中设置灯光平衡时必须⼩⼼。
注意,你可以总是使⽤阴影和烘烤以平衡外观和性能
区域灯光
第 16 页
区域光是在⼀个平⾯的矩形区域的所有⽅向上发出的光。这个矩形是定义在宽度和⾼度属性。区域光仅在光贴图烘焙时可⽤,这意味着它们在运⾏时不会对对象产⽣影响。
选择点光源并将其类型更改为区域,并将其名称改为区域光。下⼀步,把灯放在盒⼦⾥,然后在检查员⾥⾯改变宽度和⾼度,以盖住盒⼦⾥⾯的整个区域。
第 17 页
通过查看区域灯光参数,你会发现⼤多数的参数都类似于以前的,例如,Draw Halo, Flare, Render Mode, 以及Culling Mask.
真正的新参数是宽度和⾼度。两者都⽤来设置矩形光区的⼤⼩。
如果你按播放,你会看到该地区的光是投在其范围内的所有对象的光。矩形的⼤⼩由宽度和⾼度属性决定。光被投射的⼀侧是平⾯的法线,与光的正z⽅向相同。光从矩形的整个表⾯发射出去。正因为如此,阴影和阴影从受影响的对象往往是⽐点光源或定向光源要柔和得多。
第 18 页
区域光的照明计算相当处理器密集型,所以它们在运⾏时不可⽤,只能被烘烤成光贴图。
结论
这结束教程关于照明Unity 5。你了解了⼏种照明效果和配置。有了这⽅⾯的知识,您现在可以应⽤⼏个照明效果到您的游戏或应⽤程序
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)