赞
踩
大家好,我是阿浪,新入CSDN的博主,我会在接下来的时间里,分享我对基于unity引擎开发的认知与经验,如果你是从业游戏开发行业,觉得我的文章对您有帮助,麻烦您为我的文章点一个赞,再去收藏以便学习。你的点赞将会成为我继续创作下去的动力,感谢支持!
在 Unity 中,光照组件用于模拟场景中的光源,影响物体的外观和氛围,Unity 官方自身提供了多种光照组件,帮助开发者创建真实感和氛围感。开发者可以根据场景需求选择合适的光源类型,并合理配置光照设置,可以显著提升游戏的视觉效果。
描述:模拟来自无限远的光源(如太阳)的光线,光线是平行的。
特点1:影响整个场景,所有物体都受到相同的光照。
特点2:可以设置颜色、强度和阴影类型(如软阴影或硬阴影)。
描述:从一个点向所有方向发射光线,类似于灯泡。
特点1:光照范围有限,随着距离增加光照强度逐渐减弱。
特点2:可以设置颜色、强度、范围和阴影类型。
描述:从一个点发射出锥形光束,类似于舞台上的聚光灯。
特点1:可以设置光束的角度、范围和衰减。
特点2:适合用于强调特定区域或物体。
描述:在一个平面区域内发射光线,适用于室内场景。
特点1:主要用于烘焙光照(Baked Lighting),不支持实时阴影。
特点2:可以设置颜色、强度和阴影类型。
描述:用于捕捉场景中的光照信息,以便在动态物体上应用。
特点1:通过光照探头,可以在动态物体上实现更自然的光照效果。
描述:用于捕捉场景的反射信息。
特点1:适用于需要反射效果的物体(如水面、镜子)。
特点2:可以设置反射的分辨率和更新频率。
常用光源就是我在点2中介绍的前四种光源。
对于Directional Light(方向光)适合户外场景,提供全局光照,一般在一个场景中最多存在一个。
对于Point Light(点光源):适合室内和局部光源,增强细节。
对于Spot Light(聚光灯):适合强调特定区域或物体,增加戏剧性。
对于Area Ligh(区域光源)t:适合室内均匀光照,提供柔和效果。
我已经对几种光源做了大致的介绍,如果你是首次接触到这些新名词,你可以去相关地方了解这些新名词。
我们可以在unity的hierarchy面板中右键,找到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资深开发者,可以结合脚本及其他组件实现多种游戏场景的效果,例如:动态光照,日夜循环,气象变化等等。
如点1,我们创建一个Point Light光照对象为了方便观察,我将默认的Directional Light旋转了欧拉角,以便观察Point Light的效果。如图
点光源你可以看成一个灯泡,当然可能有点不恰当。
我来介绍这里常用的属性,部分重复属性不再介绍,下同:
Range:光照的范围,决定光源能够照亮的最大距离。增加此值可以扩大光照范围。
Intensity:光的强度,控制光源的亮度。常用值通常在 1 到 5 之间,具体取决于场景需求。
注意,这里出现了三种mode,我将为你简单介绍一下这三种light mode。
描述:实时光照,光源的光照效果会在游戏运行时动态计算。
用途:适用于需要动态变化的光源,例如角色手中的火把、移动的灯光等。
效果1:支持实时阴影,能够为场景中的物体投射动态阴影。
效果2:适合需要频繁更新光照的场景,但可能会对性能产生较大影响。
描述:烘焙光照,光源的光照效果在编辑器中预计算并存储为光照贴图。
用途:适用于静态场景或不需要动态光照的物体,例如室内环境的固定光源。
效果1:不支持实时阴影,阴影效果在烘焙时计算并固定。
效果2:性能开销较小,适合需要优化性能的场景。
描述:混合光照模式,结合了实时和烘焙光照的优点。
用途:适用于需要部分动态光照和部分静态光照的场景。
效果1:动态物体可以接收实时光照和阴影,而静态物体则使用烘焙光照。
效果2:提供了灵活性,适合复杂场景中需要动态和静态光源的情况。
同3,创建一个光照对象,我们可以看到,spot状态下的光照方向是锥形的。
现在来看,当然我只是抽象的表达,direction light和spot light有点类似于camrea组件中的正交模式和透视模式。spot的属性和上面的几乎重合,不再介绍,我们来看看spot和point的区别:
Area Light 在 Unity 中主要用于提供柔和的光照效果,特别适合室内场景,
Area Light 可以模拟来自大面积光源(如荧光灯、灯具等)的光照,提供均匀且柔和的光线,减少阴影的锐利度。
这个我个人使用的不是很多,可以参考其他博主文章学习。
感谢你的阅读与点赞,如果你对光照这个组件的哪个属性不太明白,可以在评论区留言,我会为你解答疑惑。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。