Unity中的灯光


Unity中的灯光

一、引言

在Unity中,有两个地方可以设置灯光,分别是场景中的Light对象和菜单栏中 Window -> Render -> Lighting 中的灯光设置。

这两者往往会让人感到困惑,下面总结一下它们的区别和用法。

二、Light对象

  • 位置:在场景视图中,您可以添加不同类型的Light对象,如点光源(Point Light)、聚光灯(Spot Light)、方向光(Directional Light)、和区域光(Rectangle Light)等。
  • 功能:Light对象直接影响场景中的实时照明。您可以调整灯光的类型、颜色、强度、范围等参数,实时影响游戏对象的外观。
  • 用法:Light对象通常用于实时照明场景中物体,使得物体在不同的角度和距离下具有不同的光影效果。

三、Lighting窗口中的设置

  • 位置:在Window > Rendering > Lighting设置中,可以找到全局光照(Global Illumination)和环境光(Environment Lighting)等选项。
  • 功能:Lighting窗口中的设置主要用于全局光照计算和烘焙光照。这里可以设置环境光、天空盒、全局光照模式(实时、烘焙、混合)以及烘焙设置等。
  • 用法:Lighting窗口中的设置主要用于全局光照和环境光的配置。比如,您可以设置场景的环境光(Ambient Light),这会影响所有对象的基本光照;您也可以设置天空盒(Skybox),这会影响场景的背景和反射。

四、区别

  • 实时灯光(Light对象)

    • 实时影响:Light对象的设置是实时生效的,即时对场景中的对象产生光影效果。
    • 性能消耗:实时灯光会消耗更多的计算资源,特别是在有大量动态灯光时,可能会影响游戏的性能。
  • 环境光照和光照烘焙(Lighting窗口)

    • 全局设置:Lighting窗口中的设置影响整个场景的光照,包括环境光、天空盒、全局光照和烘焙设置。
    • 性能优化:光照烘焙(Bake Lighting)可以预计算光照信息,将其存储在光照贴图中,从而减少运行时的计算量,提高性能。

五、例子

  • 室外场景:使用一个Directional Light模拟太阳光,同时在Lighting窗口中设置天空盒和环境光,以提供全局光照和环境反射。
  • 室内场景:使用多个Point Light和Spot Light模拟室内的灯光,使用Lighting窗口中的光照烘焙功能预计算光照贴图,提高性能。

文章作者: BITBCI
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 BITBCI !
  目录