使用未來照明升級室內環境

*此內容是使用 AI(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 照明系統技術。

這個燈光配置允許您的全球和本地燈光一起工作,並提供更真實和身臨其境的視覺效果。為了展示,請查看當 室內照明 - 完成 使用不同的照明技術系統時,收音機的照明行為如何變化。來自燭光和收音機的本地照明與 ShadowMap 照明系統的全球照明類似,沒有像太陽一樣的陰影產生,來自收音機的皮革和木材細節也消失了。

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. 重複此過程 for 蠟燭_群組_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. 檢索器 窗口中,將鼠標懸停在 填充光源 部分上,然後單擊 ⊕ 圖示。一個上下文菜單顯示。
    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物體介紹到收音機,從其屏幕的整個表面發光。 物體從 或 或一個面的 發出光,並包含一個 決定哪個面/軸發出光的屬性。這使他們的照明行為對從近平面表面產生方向光的對象有用,例如電視或電腦螢幕、廣告牌和螢光板。

值得注意的是,雖然兩種燈光和聚光燈都使用 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.