【Unity组件详细介绍】【一:Light(光照)组件】(图 + 文)

        大家好,我是阿浪,新入CSDN的博主,我会在接下来的时间里,分享我对基于unity引擎开发的认知与经验,如果你是从业游戏开发行业,觉得我的文章对您有帮助,麻烦您为我的文章点一个赞,再去收藏以便学习。你的点赞将会成为我继续创作下去的动力,感谢支持!

        一.光照组件的基本介绍

                1.光照组件存在的作用

在 Unity 中,光照组件用于模拟场景中的光源,影响物体的外观和氛围,Unity 官方自身提供了多种光照组件,帮助开发者创建真实感和氛围感。开发者可以根据场景需求选择合适的光源类型,并合理配置光照设置,可以显著提升游戏的视觉效果。

                2.光照组件的模式及其特点

                                Directional Light(方向光)

                                            描述:模拟来自无限远的光源(如太阳)的光线,光线是平行的。

                                            特点1:影响整个场景,所有物体都受到相同的光照。

                                            特点2:可以设置颜色、强度和阴影类型(如软阴影或硬阴影)。

                                Point Light(点光源)

                                             描述:从一个点向所有方向发射光线,类似于灯泡。

                                             特点1:光照范围有限,随着距离增加光照强度逐渐减弱。

                                             特点2:可以设置颜色、强度、范围和阴影类型。

                                 Spot Light(聚光灯)

                                             描述:从一个点发射出锥形光束,类似于舞台上的聚光灯。

                                             特点1:可以设置光束的角度、范围和衰减。

                                             特点2:适合用于强调特定区域或物体。

                                  Area Light(区域光源)

                                             描述:在一个平面区域内发射光线,适用于室内场景。

                                             特点1:主要用于烘焙光照(Baked Lighting),不支持实时阴影。

                                             特点2:可以设置颜色、强度和阴影类型。

                                 光照探头(Light Probes)

                                             描述:用于捕捉场景中的光照信息,以便在动态物体上应用。

                                             特点1:通过光照探头,可以在动态物体上实现更自然的光照效果。

                                 反射探头(Reflection Probes)

                                             描述:用于捕捉场景的反射信息。

                                             特点1:适用于需要反射效果的物体(如水面、镜子)。

                                             特点2:可以设置反射的分辨率和更新频率。

                3.常用光源以及适用场景

常用光源就是我在点2中介绍的前四种光源。

对于Directional Light(方向光)适合户外场景,提供全局光照,一般在一个场景中最多存在一个。

对于Point Light(点光源):适合室内和局部光源,增强细节。

对于Spot Light(聚光灯):适合强调特定区域或物体,增加戏剧性。

对于Area Ligh(区域光源)t:适合室内均匀光照,提供柔和效果。

我已经对几种光源做了大致的介绍,如果你是首次接触到这些新名词,你可以去相关地方了解这些新名词。

        二.Light组件的属性介绍以及实战

                1.光源对象在场景中的创建

我们可以在unity的hierarchy面板中右键,找到light,即可添加一个光源对象,如下图

我用红圈圈出来的部分,就是接下来我要介绍的四种光源对象,你可以在自己的场景里面把他们全部创造一个出来,然后测试效果。

                2.Directional Light

在unity场景被创建出来时,里面会自带一个摄像机对象和一个光源对象,这个自带的光源对象默认是Directional Light,如果你的场景不适用该光照模式,可以删除。你可以把Directional Light理解成太阳,天上就那么一个。

该光照模式与position无关,你可以通过调节rotation来模拟不同时间的太阳,随着你运用的次数变多,你对它的理解会更加透彻。

接下来请看该对象rotation对光照的影响

接下来看Light组件的属性面板,我将会对它常用的属性做介绍:

这里常用的属性有:

Type:光源类型

Color:光的颜色,影响场景中物体的光照颜色。常用来模拟不同时间的光照(如日出、日落)。

Intensity:光的强度,控制光源的亮度。常用属性,通常设置在 1 到 2 之间。

Shadows:阴影类型,选择 None、Hard Shadows 或 Soft Shadows。常用属性,影响场景的真实感。

Shadow Strength:阴影强度,控制阴影的深度和透明度。

Shadow Bias:阴影偏差,调整阴影的边缘模糊程度,避免阴影出现锯齿状。

Normal Bias:法线偏差,影响阴影的平滑度。

Cookie:用于指定光源的纹理,创建特定的光照效果(如图案光)。

Render Mode:选择 Auto、Important 或 Not Important,影响光源的渲染优先级。

Culling Mask:控制光源影响的层,允许选择哪些层的物体会受到此光源的照明。

如果你是新手,你可以尝试去修改他们的状态或者数值来观察变化,从而理解其作用。如果你是unity资深开发者,可以结合脚本及其他组件实现多种游戏场景的效果,例如:动态光照,日夜循环,气象变化等等。

                3.Point Light

如点1,我们创建一个Point Light光照对象为了方便观察,我将默认的Directional Light旋转了欧拉角,以便观察Point Light的效果。如图

点光源你可以看成一个灯泡,当然可能有点不恰当。

我来介绍这里常用的属性,部分重复属性不再介绍,下同:

Range:光照的范围,决定光源能够照亮的最大距离。增加此值可以扩大光照范围。

Intensity:光的强度,控制光源的亮度。常用值通常在 1 到 5 之间,具体取决于场景需求。

注意,这里出现了三种mode,我将为你简单介绍一下这三种light mode。

                        Realtime:

                                描述:实时光照,光源的光照效果会在游戏运行时动态计算。

                                用途:适用于需要动态变化的光源,例如角色手中的火把、移动的灯光等。

                                效果1:支持实时阴影,能够为场景中的物体投射动态阴影。

                                效果2:适合需要频繁更新光照的场景,但可能会对性能产生较大影响。

                        Baked:

                                描述:烘焙光照,光源的光照效果在编辑器中预计算并存储为光照贴图。

                                用途:适用于静态场景或不需要动态光照的物体,例如室内环境的固定光源。

                                效果1:不支持实时阴影,阴影效果在烘焙时计算并固定。

                                效果2:性能开销较小,适合需要优化性能的场景。

                        Mixed:

                                描述:混合光照模式,结合了实时和烘焙光照的优点。

                                用途:适用于需要部分动态光照和部分静态光照的场景。

                                效果1:动态物体可以接收实时光照和阴影,而静态物体则使用烘焙光照。

                                效果2:提供了灵活性,适合复杂场景中需要动态和静态光源的情况。

                4.Spot Light

同3,创建一个光照对象,我们可以看到,spot状态下的光照方向是锥形的。

现在来看,当然我只是抽象的表达,direction light和spot light有点类似于camrea组件中的正交模式和透视模式。spot的属性和上面的几乎重合,不再介绍,我们来看看spot和point的区别:

                5.Area Light

Area Light 在 Unity 中主要用于提供柔和的光照效果,特别适合室内场景,

Area Light 可以模拟来自大面积光源(如荧光灯、灯具等)的光照,提供均匀且柔和的光线,减少阴影的锐利度。

这个我个人使用的不是很多,可以参考其他博主文章学习。

感谢你的阅读与点赞,如果你对光照这个组件的哪个属性不太明白,可以在评论区留言,我会为你解答疑惑。

  • 36
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值