使用未来照明增强室内环境

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

未来照明 是你可以使用来渲染体验中的 3D 环境的最先进和最强大的 Lighting.Technology 系统。与其他可用的照明系统不同,未来照明提供像素完美的光发射、详细的阴影和反射亮点,模仿室外照明为室内和室外空间。

使用 照明室内 - 开始 .rbxl 文件作为起始地点,并使用 照明室内 - 完成 作为参考,本教程向您展示如何使用未来照明与战略全球和本地灯光配置,产生具有真实感和沉浸感的室内照明行为,引导玩家前往小屋的出口,包括指南:

  • 确保闪亮表面有准确的反射,可以定期更新,因为环境随着动态变化而改变。
  • 将太阳和地球移至新位置,将阳光从窗户转向特定表面。
  • 自定义气氛的环境颜色和密度。
  • 选择光源来解决性能和优化的独特环境问题。
  • 平衡您的光源与相机如何感知其照明行为。

如果在任何时候你被困在过程中,你可以使用 照明室内 - 完成 作为参考来比较你的进度。

The starting indoor environment you can use to complete this tutorial.
室内照明 - 开始
The complete indoor environment with global and local lighting you will create by the end of this tutorial.
室内照明 - 完成

配置全球照明

全球照明是体验中来自太阳或月亮的辉光。虽然本教程专注于改善船舱内的照明,覆盖了从太阳获得的光线,但需要配置全球照明,因为它会影响体验的一般大气中的空气粒子,无论它们是室内还是室外。

通过调整 Lighting 服务和其子 Atmosphere 对象中的几个关键默认属性,您可以显著改变气氛和阳光通过窗口给玩家的外观,以及这种照明如何与您在体验中放置的任何其他对象互动。

启用未来的照明系统

Lighting.Technology 属性决定了您体验中全球和本地照明的行为。工作室以 Enum.Technology.ShadowMap 照明系统开始每个体验,确保全球照明具有精确的阴影和照明。然而,要提高环境并启用本地灯光源也能产生精确的阴影、照明和反射亮点,您必须启用 Enum.Technology.Future 照明系统技术。

这种灯光配置允许您的全球和本地灯光共同工作,提供更真实和沉浸的视觉效果。为了展示,评论如何改变收音机的照明行为,当 室内照明 - 完成 使用不同的照明技术系统时。使用阴影地图照明系统的本地照明与来自太阳的全球照明不产生类似的阴影,来自收音机皮革和木材的细节也消失了。

A closeup view of the radio illuminated with ShadowMap technology.
阴影地图技术
A closeup view of the radio illuminated with Future technology.
未来技术

要注意的是,由于未来照明系统检测室内空间以计算并渲染适用阴影的方法,最好用厚度至少为 1 格的 Part 对象围绕室内空间以防止室外不良光线渗透到小屋内。例如,为了避免室内和室外照明融合,样例 室内照明 - 开始 使用厚度小于 2.5 格的零件来环绕所有的 MeshPart 墙壁和天花板对象,而不会阻碍窗户,使阳光仍然可以照射到房间。

A top-down view of the cabin that doesn't surround the mesh walls and ceilings with parts. The outdoor light is seeping into the cabin.
不将网格墙壁和天花板用零件包围的小屋
A top-down view of the cabin that surrounds the mesh walls and ceilings with parts. The indoor light unaffected from the outdoor lighting.
包围网格墙壁和天花板的柜子用零件

要启用 未来 照明技术:

  1. 探索器 窗口中,选择 照明

  2. 属性 窗口中,单击 技术 下拉列表,然后选择 未来

    A close up view of the Properties window with the Future technology property highlighted. A full view of the starting cabin with Future lighting.

提升金属反射

使用未来照明系统的核心优势是其能够在闪亮、金属表面上产生反射亮点的能力。这增加了室内环境的真实感,因为它模拟了现实世界的照明行为,并为 3D 空间中的对象提供了深度感觉。

默认情况下,所有材料都使用 基于物理的渲染 (PBR) 纹理,可以使用单个对象上的多个纹理地图显示各种照明场景下的真实表面。这意味着当你使用 Studio 的内置材料时:

  • 特定表面的金属性和粗糙度已经无需额外步骤地为您定义。
  • 带有 Studio 内置材料的对象自然会更准确地反应出环境中的照明,并带有现实反射。

您可以通过增加全球照明的 Lighting.EnvironmentDiffuseScaleLighting.EnvironmentSpecularScale 属性来提高这种效果,尤其是当您将每个属性设置为 1 时。在本教程中,这一步特别重要,因为它确保体验中的任何 PBR 纹理,包括来自 MaterialVariantsSurfaceAppearance 对象的纹理,都看起来最好,并准确反映周围环境。

为了展示这个概念,请检查蜡烛的金属基地与不同的 Lighting.EnvironmentDiffuseScaleLighting.EnvironmentSpecularScale 属性值。当你提高这些值时,金属将更准确地反映全球和本地光源的照明,这使材料在玩家探索环境时更容易被玩家感知。

要重新创建样品中的金属反射 照明室内 - 完成 位置文件:

  1. 探索器 窗口中,选择 照明
  2. 属性 窗口中,确保 环境扩散比例环境反射比 设置为 1。如果是这样,体验中的金属反射精确。

更改时间

除了自定义 3D 空间的一般氛围外,全球照明是创建玩家想要探索的环境内的有兴趣点的强大工具。当你将此技巧与本地光源配对时,你可以间接地引导玩家前往游戏区的每个部分,并防止他们错过任何重要内容。

为了展示此过程, 照明室内 - 完成 样本战略性地重新定位太阳,使其光线照亮小屋在一个角度,突出小屋的唯一门。当玩家扫描房间时,每个光源间接吸引玩家注意力并将其向右转:首先向火炉的本地光源倾斜,然后向窗口附近的全球和本地光源倾斜,最后向向出口闪耀的全球光源倾斜。

A full view of the cabin's indoor space with all light sources visible.

要重现样本中的时间 照明室内 - 完成 位置文件:

  1. 探索器 窗口中,选择 照明

  2. 属性 窗口中,

    1. 时间设置 设置为 15.6。太阳移至接近下午 3:45 的位置。
    2. (可选)地理纬度 设置为323
    A full view of the cabin with the sun in its new position.

放大太阳射线

现在,太阳正处于天空中理想的位置,将其光线通过窗户射出并创建一个有兴趣点,你可以使用 Lighting 服务的子对象 SunRays 来增强太阳的照明,通过放大其单个太阳射线来强化太阳的照明。与其他静电大气效果不同,太阳射线动态地改变形状,当对象进入玩家的相机和太阳之间时,创建了真实的光和阴影视觉。

为了展示,评论您增加太阳射线强度和散射时,太阳射线形状如何改变。虽然使用默认配置的太阳射线悄悄接近窗口,使用自定义配置的太阳射线照亮了小屋。除了提高您的视觉效果外,这效果还会在教程后期改善空气粒子密度效果,因为太阳射线将突出玩家穿越空间的密集空气粒子从几乎每个角度。

A front view of the window with the sun rays barely visible.
默认太阳射线
A front view of the window with the sun rays fully visible and shining into the cabin.
自定义太阳射线

要在样本 照明室内 - 完成 位置文件中重现太阳射线在大气中:

  1. 探索器 窗口中,选择 照明 服务的子对象 太阳射线
  2. 属性 窗口中,
    1. 强度 设置为 0.023 以增加太阳光环的不透明度。
    2. 散射 设置为 0.266 以扩大太阳射线在天空中的散射。

调整环境光的颜色

调整环境光的颜色或3D空间中的通用通、间接光的颜色,是设置环境氛围和确定其照明是温暖还是冷的常用方法。有两个 Lighting 属性控制环境照明的颜色:

默认情况下,两个属性都设置为产生一个很酷的灰色调,但这与船舱内的灯光来源不匹配。为了解决这个问题, 照明室内 - 完成 样本将Lighting.Ambient调整为产生一种温暖的橙色调,与壁炉和蜡烛的火热相匹配,以及日落的辉光。虽然这个变化很微妙,但你可以显著地看到间接照明的区域的差异,例如地板上的阴影。

An angled top-down view of shadows on the floor that have a cool ambient hue.
Lighting.Ambient = 70, 70, 70
An angled top-down view of shadows on the floor that have a warm ambient hue.
Lighting.Ambient = 83, 70, 57

要重现示例中环境照明的颜色 照明室内 - 完成 放置文件:

  1. 探索器 窗口中,选择 照明。 2. 在 属性 窗口中,将 环境 设置为 83, 70, 57。环境照明变为更温暖和深橙色调。

    A full view of the cabin with the new warm ambient lighting.

选择补充天空盒

服务有一个带有六个独立属性的孩子对象,它们共同创建了构成体验天空的天空盒天空盒可以对环境中的外观和感觉产生重大影响,因此很重要地考虑您如何选择一种天空盒来提高体验的视觉质量,尤其是因为它会影响室内空间中渗透的整体气氛。

因为 照明室内 - 完成 样本需要一个温暖的气氛,它使用一个天空盒,大多数是在天际线附近优先考虑温暖色调,例如亮黄色、活力橙色和一些淡绿色。有关如何创建和自定义天空盒的信息,请参阅天空盒

The 2D texture that represents back cubical face of the skybox.
SkyboxBk
The 2D texture that represents back cubical bottom of the skybox.
SkyboxDn
The 2D texture that represents front cubical face of the skybox.
SkyboxFt
The 2D texture that represents left cubical face of the skybox.
SkyboxLf
The 2D texture that represents right cubical face of the skybox.
SkyboxRt
The 2D texture that represents top cubical face of the skybox.
SkyboxUp

要重新创建示例中的天空盒 照明室内 - 完成 位置文件:

  1. 探索器 窗口中,选择 照明 服务的子对象 天空

  2. 属性 窗口中,

    1. SkyboxBk 设置为 rbxassetid://162001887
    2. SkyboxDn 设置为 rbxassetid://161998893
    3. SkyboxFt 设置为 rbxassetid://162001897
    4. SkyboxLf 设置为 rbxassetid://162001904
    5. SkyboxRt 设置为 rbxassetid://162001919
    6. SkyboxUp 设置为 rbxassetid://162001926
    A full view of the cabin with the new skybox.

增加空气粒子密度

服务有一个子对象 ,具有允许您以独特方式散射阳光来模拟现实环境的属性。虽然这些属性中的一些更明显地出现在户外环境中,例如影响天际线附近的远处物体轮廓和融合的物体,其他物体会影响 3D 空间中的空气粒子密度和颜色,无论它们是否在室内或室外。

例如,Atmosphere.Density 属性控制体验空气中存在多少粒子。当你增加这个属性时,额外的粒子数量会在 3D 空间中创造一种厚度和重量感,这对玩家探索你的世界具有实质意义。这对于没有明确的本地照明对象的环境添加纹理和间接照明非常有用。

为了说明这一技术,请查看以下两张图像的 照明室内 - 完成 橱柜,其中空气粒子密度各不相同。当 Atmosphere.Density 设置为 0 时,尽管有本地灯光来源,但小屋仍然很冷暗,但当 Atmosphere.Density 设置为 0.5 时,小屋仍然很热朦胧。该效果具有特别的影响力,因为 Atmosphere 对象添加了基于天空盒颜色的暖橙色粒子到空气粒子。

要重现样本中气溶胶粒的密度 照明室内 - 完成 位置文件:

  1. 探索器 窗口中,选择 照明 服务的子对象 大气

  2. 属性 窗口中,将 密度 设置为 0.5。空气变得模糊。

    A full view of the cabin with dense air particles.

配置本地照明

本地照明是您体验中的本地 光源 的辉光,例如 PointLightSpotLightSurfaceLight 对象。配置完全满足体验一般照明和氛围要求的全球照明后,使用本地灯光来满足场景中你想要照亮的任何东西的特定照明需求是很重要的。

以下部分展示了如何创建每种类型的本地光源以及调整一些默认属性来显著改变本地照明如何补充全球照明并与整个环境互动。

点亮蜡烛

需要照亮空间的场景第一个对象是摆在窗口附近梳妆台上的蜡烛组。在 照明室内 - 开始 示例中,默认配置包括以下 ParticleEmitter 对象,以添加柔和的运动来点亮他们的火焰:

  • 蜡烛火 - 生产渐变锥形粒子来模拟蜡烛的火焰。
  • 蜡烛烟雾 - 生产黑暗的渐变粒子来模拟蜡烛的烟雾。
  • 蜡烛填充灯 - 生产圆形粒子来模拟蜡烛的柔和发光。

虽然这是一个很好的开始,但蜡烛仍然无法产生能够充分照亮附近区域或反弹到周围物体的真实灯光行为。为了解决这个照明需求, 室内照明 - 完成 样本中介绍了蜡烛组中间的一个 PointLight 对象。

PointLight 物体从每个方向的单个点发出光球,类似于小太阳。这种照明行为使它们对生产全向光的对象有用,例如未遮蔽的灯泡、火炬和蜡烛光。为了说明,请查看以下两张图,它们是否有点光源与否改变场景。没有点光源的场景产生了一个柔和的照明,只照亮蜡烛本身,但带有点光源的场景产生了更强的照明,照亮蜡烛、附近的墙壁和雕像的微妙细节。

An angled view of the cabin's radio, statue, and one candle grouping without a point light.
没有点光源
An angled view of the cabin's radio, statue, and one candle grouping with a point light.
使用点光源

点光源在低端设备上的性能需求可能比其他本地光源更高,因为点光源投射在每个方向。为了优化您的体验,请考虑需要多少点光源,而不会损害您的理想照明行为。例如,样本地点只放置一个单点光在蜡烛中间,因为每个蜡烛火焰都很小,单个点光不会显著提高游戏区域内的视觉效果。

要重现示例中的蜡烛本地照明:室内照明 - 完成文件:

  1. 将一束点光插入到蜡烛组中的一个。

    1. 探索器 窗口中,扩展 蜡烛_组_A 模型。
    2. 将鼠标悬停在 填充光源 部分上,然后单击 ⊕ 标志。会话菜单显示。
    3. 从上下文菜单中插入 点光源
  2. 选择新的点光源,然后在 属性 窗口中,

    1. 亮度 设置为 0.7 以减少光的强度,使其更适合蜡烛光。
    2. 颜色 设置为255, 202, 156,将光调至桃色调并复制蜡烛来源的热量。
    3. 启用 阴影 以允许蜡烛光产生阴影。
  3. 重复此过程为 蜡烛_组_B .

  4. (可选) 使用以前的步骤中的相同技巧,添加自己配置的点光源来照亮烧在壁炉中的火焰。

打开台灯

需要照亮空间的场景中的第二个对象是摆在船舱后角的台灯。当你决定使用哪个本地灯光对象时,重要的是要审查光源类型和形状如何影响它在现实世界中发光。例如,因为 照明室内 - 开始 样本的台灯包括一个弯曲、深绿色帽子下的白色灯泡,灯必须产生两种不同类型的光:

  • 仅在桌子方向照明的亮白色灯光。
  • 细微的绿色光线,渗透到亮白色光以外的所有方向的深绿色兜帽中。

为了解决第一个照明需求, 室内照明 - 完成 样本介绍了一个 SpotLight 进入桌灯,从灯罩的罩盖处向外照射,从灯罩的罩盖处隐藏。SpotLight 对象发出单一方向的光,形状像锥体,基地为球面,包含决定哪个面/轴发出光的 Face 属性。这使他们的照明行为对生产路径灯光的对象有用,例如街灯、手电筒和车头灯。

为了解决第二个照明需求,样本使用了一个 PointLight 产生了一种柔和的绿色光,可以照亮整个角落的船舱而不显著地在明亮的白色光中。为了说明,请查看以下两张图,它们分别显示了场景是否有额外的点光源以及如何更改场景。两个场景都包含相似的亮白色灯光,但带有点光源的场景创建了可以反弹到附近的雕像和书架上的实时灯光行为,使小屋的角落和一个关注点显得可见。

A close up view of the desk lamp without a point light to illuminate the space behind the lamp.
没有点光源
A close up view of the desk lamp with a point light to illuminate the space behind the lamp.
使用点光源

要重新创建样本中的灯光本地照明:照明室内 - 完成 位置文件:

  1. 将聚光灯插入蜡烛组中的一个。

    1. 资源管理器 窗口中,扩展 Bankers_Lamp 模型,然后扩展 Lamp_Hood 网格。
    2. 将鼠标悬停在 灯泡 网格上,然后单击 ⊕ 标志。显示上下文菜单。
    3. 从上下文菜单中插入 聚光灯
    A close up view of the desk lamp with a default spotlight.
  2. 选择新的聚光灯,然后在 属性 窗口中,

    1. 脸部 设置为 向下 以发出聚光灯照向桌子。
    2. 角度 设置为 140,投射光线以半球形状而不是锥形。
    3. 亮度 设置为 4 以提高光的强度。
    4. 颜色 设置为255, 238, 202,将灯光染成浅褐色,重现灯源的淡暖。
    5. 范围 设置为 12 以减少聚光灯照亮的区域的尺寸,使其触碰地面。
    6. 启用 阴影 以让灯光产生阴影并产生戏剧效果。
    A close up view of the desk lamp with a customized spotlight.
  3. 插入模仿灯罩间接绿色照明的点光源。

    1. Explorer 窗口中,将鼠标悬停在 FillLight 部分上,然后单击 ⊕ 标志。显示上下文菜单。
    2. 从上下文菜单中插入 点光源
    A close up view of the desk lamp with a customized spotlight and a default point light.
  4. 选择新的点光源,然后在 属性 窗口中,

    1. 范围 设置为 12 以增加点光照亮的区域的尺寸,以便它可以照亮桌子后面的墙壁。
    2. 颜色 设置为142, 157, 125,将光调色为淡绿色,间接减少亮度。
    A close up view of the desk lamp with a customized spotlight and point light.

照亮收音机屏幕

需要照亮空间的场景最后对象是梳妆台中间的经典收音机。与前一节类似,当决定使用哪个本地灯光对象时,重要的是要审查光源类型和形状 不会 在现实世界中发出光。例如,以前的本地灯对象中的任何一个都不适用于这个收音机,因为它的屏幕不会像 PointLight 对象那样在每个方向发出光,也不像 SpotLight 单点在一个方向发出光。

A front view of the cabin's radio and statues. The radio includes a point light that illuminates in every direction.
使用点光源的收音机
A front view of the cabin's radio and statues. The radio includes a  spotlight that illuminates from a single point in one direction.
使用聚光灯的收音机

相反,为了解决这个问题, 室内照明 - 完成 样本将对收音机介绍一个SurfaceLight对象,从屏幕整个表面发光。 SurfaceLight 对象从 Attachment 或一个 BasePart 或脸上发出光,它们包含一个 Face 决定哪个面/轴发出光的属性。这使他们的照明行为对从近平面表面产生方向光的对象有用,例如电视或电脑屏幕、广告牌和荧光板。

值得注意的是,尽管使用 Face 属性确定要发射哪个立方体表面的光,表面灯与聚光灯都使用相同的光发射尺寸,但它们与聚光灯的不同之处在于它们的光发射改变根据其父对象的表面尺寸。为了说明,请查看以下图像,看看表面灯光如何改变它对父块部件的尺寸相对于它发出的光的方式。

An angled view of the deer with a block part in front of it. The block part includes a spotlight that illuminates only from the center of the part, and it only partially illuminates the deer.
聚光灯照亮鹿从其父部分中心。
An angled view of the deer with a block part in front of it. The block part includes a surface light that illuminates from the face of the part, and it fully illuminates the deer and the nearby wall.
表面光照亮了鹿的整个表面的父部分。

要重新创建样本中的收音机表面灯光 照明室内 - 完成 位置文件:

  1. 将表面灯插入收音机屏幕。

    1. 探索器 窗口中,扩展 Radio_Noise 模型,然后其子模型 Radio
    2. 将鼠标悬停在 Radio_Backglow 网格上,然后单击 ⊕ 标志。显示上下文菜单。
    3. 从上下文菜单中插入一个 表面灯
    A front view of the cabin's radio and statues. The radio includes a surface light, but it doesn't appear to be illuminating anything.
  2. 选择新的表面灯光,然后在 属性 窗口中,

    1. 脸部 设置为 左侧 ,将光照射出钟面
    2. 亮度 设置为 2 以稍微提高光的强度。
    3. 颜色 设置为146, 255, 251,将光调色为青色。
    4. 范围 设置为 4 以减少表面灯照亮的区域的尺寸,使其仅触摸桌子。
    A front view of the cabin's radio and statues. The radio includes a surface light that gently illuminates the table with a teal blue light.

平衡光源

照亮环境是您的光源和相镜头对其照明的感知之间的平衡。即使您的光源有适当的设置来照亮真实世界的空间,您可能需要调整和重新平衡相机如何感知这种照明以实现理想的照明行为。

例如,其当前状态的场景有意识地发出全屋的暖光,但它的颜色和阴影都显得平淡无味且失色。为了解决这个问题, 照明室内 - 完成 样本将其全球照明调整为增加其在玩家的相机中的富有度,而不会在 3D 空间中丢失任何光与暗调之间的细节或对比。

调整光照暴露

与实际生活中的相机镜头敞开时间长度自定义类似,Lighting 服务的 ExposureCompensation 属性允许您调整相机接收到的光量。使用此属性与调整 Brightness 属性不同,因为 ExposureCompensation 适用于增加环境更亮部分的效果的偏好。

例如,查看以下图像来看看如何根据您是否通过提高全球照明的 BrightnessExposureCompensation 属性来亮化小屋的照明是如何改变的。拥有更高 Brightness 属性的小屋增加了空间的所有亮度,包括阴影内的亮度,这会导致小屋内的不意识模糊。相反,拥有更高 ExposureCompensation 属性的小屋不会同时提高光和阴影的亮度,允许空间看起来更亮,而不会完全淡化其最暗的颜色。

An angled view of a globe. The lighting displays at the current step in the tutorial.
摆放原样的小屋
An angled view of a globe. The lighting is dull and washed out.
更亮的摇篮
An angled view of a globe. The lighting is richer and shadows are more apparent.
更高暴露度的舱室

要重现样本中的照射等级 照明室内 - 完成 位置文件:

  1. 探索器 窗口中,选择 照明

  2. 属性 窗口中,将 曝光补偿 设置为 0.5 以对场景应用额外曝光。

    A full view of the cabin with a higher exposure level.

调整颜色对比

与对镜头机应用过滤器类似,您可以将ColorCorrectionEffect后期处理对象添加到Lighting服务,以调整相机如何感知颜色。当您想要对整个环境进行颜色调整,而不仅仅影响单个对象或游戏区域时,这很有用。

照明室内 - 完成 样本使用 来增加所有黑暗和浅色之间的活力和对比。这有助于创建一个温暖、充满饱和度的空间,可以吸引玩家。

要重新创建相机在样本中如何感知颜色的方式 照明室内 - 完成 位置文件:

  1. 探索器 窗口中,将鼠标悬停在 照明 服务上,然后单击 ⊕ 标志。显示上下文菜单。

  2. 从上下文菜单中插入 颜色修正效果

  3. 选择新的后期效果,然后在 属性 窗口中,

    1. 对比度 设置为 0.05 以增加深色和浅色之间的对比度。
    2. 饱和度 设置为 0.1 以使所有颜色更鲜艳。
    A full view of the cabin with more color contrast.