Realistic 燈光是您在體驗中渲染 3D 環境時可以使用的最先進和強大的 LightingStyle。它提供了像素完美的光線發射、詳細的陰影和模擬現實世界燈光的高光,適用於室內和室外空間。
使用 Lighting Indoors - Start .rbxl 文件作為起點,並以 Lighting Indoors - Complete 作為參考,本教程向您展示如何利用真實的燈光與戰略性的全局和局部光源配置,來產生真實、沉浸式的室內燈光行為,並指導玩家走向小屋的出口,包括:
- 確保光滑表面具有準確的反射,並隨著環境的動態變化而定期更新。
- 將太陽和地球移動到新位置,以便將窗戶的陽光照射到特定表面。
- 自訂氣氛的環境色調和密度。
- 選擇光源以解決特定環境問題,並考慮性能和優化。
- 平衡您的光源與相機對其照明行為的感知。
如果您在此過程中遇到任何困難,可以使用 Lighting Indoors - Complete 作為參考來比較您的進度。


配置全局燈光
全局燈光是體驗中來自太陽或月亮的光輝。雖然本教程重點是增強小屋內部的燈光,但全局燈光的配置非常重要,因為它會影響體驗中一般氣氛的空氣顆粒,無論它們是在室內還是室外。
通過調整 Lighting 服務中的幾個關鍵默認屬性以及其子 Atmosphere 物件,您可以顯著改變氣氛以及透過窗戶進入的陽光在玩家眼中呈現的方式,以及這種燈光如何與您在體驗中放置的其他物體互動。
啟用真實的燈光
LightingStyle 屬性決定了您體驗中的全局和局部燈光的行為。Studio 開始每個體驗時使用的是 Soft 燈光,這會呈現出較平坦的外觀,燈光和陰影較柔和。然而,要增強環境並使您的局部光源也能產生精確的陰影、照明和高光,您必須啟用 Realistic 燈光。
此燈光配置允許您的全局和局部燈光一起工作,提供更真實和沉浸式的視覺效果。為了展示,請查看當 Lighting Indoors - Complete 使用不同的燈光樣式時,收音機的燈光行為如何變化。來自蠟燭和收音機的局部燈光使用 Soft 燈光樣式不會產生像太陽的全局燈光那樣的陰影,收音機的皮革和木材材質的細節消失。
需要注意的是,由於 Realistic 燈光系統檢測室內空間以計算和呈現適用的陰影的方式,最好是用至少 1 studs 厚的 Part 物件圍住室內空間,以防止不必要的戶外光線洩漏進入小屋。例如,為避免室內和室外燈光混合,樣本 Lighting Indoors - Start 使用至少 2.5 studs 厚的部分圍住所有 MeshPart牆壁和天花板物件,以便窗戶不被阻擋,陽光仍能照射進房間。


要啟用 Realistic 燈光:
在 Explorer 窗口中選擇 Lighting。
在 Properties 窗口中,點擊 LightingStyle 下拉菜單,然後選擇 Realistic。

提升金屬反射
使用真實燈光的一個核心優勢是能夠在光滑的金屬表面上產生高光。這增加了室內環境的真實性,因為它模擬了現實世界的照明行為,並為 3D 空間中的物體提供了深度感。
默認情況下,所有材質使用基於物理的渲染 (PBR) 紋理,允許您在多種照明場景中顯示真實的表面,使用單個物體上的多個紋理圖。這意味著當您使用 Studio 的內置材質時:
- 特定表面的金屬度和粗糙度已經為您定義,而不需要額外步驟。
- 擁有 Studio 內置材質的物體自然會更準確地對環境中的光線作出反應並呈現出真實的反射。
您可以通過增加全局燈光的 Lighting.EnvironmentDiffuseScale 和 Lighting.EnvironmentSpecularScale 屬性來增強此效果,特別是當您將每個屬性設置為 1 時。這一步在本教程中特別重要,因為它確保了任何 PBR 紋理在體驗中,包括來自 MaterialVariants 或 SurfaceAppearance 物件的紋理,呈現最佳外觀並準確反射其周圍環境。
為了展示這一概念,檢查使用不同的 Lighting.EnvironmentDiffuseScale 和 Lighting.EnvironmentSpecularScale 屬性值的蠟燭的金屬基座。當您增加這些值時,金屬將更準確地反射來自全局和局部光源的光線,使材質在玩家探索環境時更加真實可感。
要在樣本 Lighting Indoors - Complete 文件中重建金屬反射:
- 在 Explorer 窗口中選擇 Lighting。
- 在 Properties 窗口中,確保 EnvironmentalDiffuseScale 和 EnvironmentSpecularScale 設置為 1。如果是,則體驗中的金屬會準確反射。
更改一天中的時間
除了自訂 3D 空間的一般氣氛外,全局燈光還是一種強大的工具,可以在環境中創建您希望玩家探索的興趣點。當您將此技術與局部光源配對時,您可以間接引導玩家到每個遊戲區域,並防止他們錯過任何重要的東西。
為了展示這一過程,Lighting Indoors - Complete 範例策略性地重新定位太陽,使其光線以一定角度照射進小屋,突出小屋的唯一門。當玩家掃描房間時,每個光源都間接地吸引玩家的注意並使其順時針移動:首先朝著壁爐的局部光源,其次朝著窗戶附近的全局和局部光源,最後朝著照射出口的全局光源。

要在樣本 Lighting Indoors - Complete 文件中重建一天中的時間:
在 Explorer 窗口中選擇 Lighting。
在 Properties 窗口中,
- 將 ClockTime 設置為 15.6。太陽將移動到大約 3:45 下午 的位置。
- (選可選) 將 GeographicLatitude 設置為 323。

增強陽光射線
現在太陽位於理想的位置,可以透過窗戶照射進來並創造興趣點,您可以使用 Lighting 服務的子 SunRays 物件來增強太陽的光線,放大其個別的陽光射線。不像其他靜態的氣氛效果,陽光射線在物體出現在玩家的相機和太陽之間時動態改變形狀,創造出真實的光影視覺效果。
為了展示,請查看當您增加強度和擴散時,陽光射線的形狀如何變化。使用默認配置的陽光射線微妙地接近窗戶,而使用自定義配置的陽光射線則照射進小屋。除了增強您的視覺效果外,這一效果還會在本教程稍後的部分改善空氣顆粒密度的效果,因為陽光射線幾乎從每個角度突出顯示了空氣顆粒的密度。


要在樣本 Lighting Indoors - Complete 文件中重建氣氛中的陽光射線:
- 在 Explorer 窗口中,選擇 Lighting 服務的子 SunRays 物件。
- 在 Properties 窗口中,
- 將 Intensity 設置為 0.023 以增加陽光光環的透明度。
- 將 Spread 設置為 0.266 以擴大陽光射線在天空中的擴散。
調整環境光的顏色
自訂環境光的顏色,或 3D 空間中的一般間接光,是設置環境氛圍和判定其照明是溫暖還是冷酷的常用方法。Lighting 中有兩個屬性控制環境光的顏色:
- Lighting.OutdoorAmbient 控制可見天空的環境光。
- Lighting.Ambient 控制在任何阻擋天空的空間內的環境光,例如室內環境。
默認情況下,這兩個屬性設置為生成冷灰色調,但這不符合小屋內的光源。為了解決這個問題,Lighting Indoors - Complete 範例調整了 Lighting.Ambient,以產生與壁爐和蠟燭的溫暖橙色相匹配的暖色調,同時呈現落日的光輝。雖然這一變化是微妙的,但您可以在間接照明的區域中清楚地看到差異,例如地板上的陰影。


要在樣本 Lighting Indoors - Complete 文件中重建環境光的顏色:
在 Explorer 窗口中選擇 Lighting。
在 Properties 窗口中,將 Ambient 設置為 83, 70, 57。環境光更改為更溫暖和較暗的橘色調。

選擇互補的天空盒
Lighting 服務有一個子 Sky 物件,擁有六個單獨的屬性,這些屬性共同創建了一個經驗的天空盒。天空盒對您環境的外觀和感受可能有重大影響,因此仔細考慮如何選擇一個天空盒來增強您體驗的視覺質量是非常重要的,特別是因為它影響到滲透到室內空間的整體氣氛。
由於 Lighting Indoors - Complete 範例需要一個溫暖的氣氛,因此它使用了一個主要優先考慮天空線附近的暖色調的天空盒,例如明亮的黃色、鮮艷的橙色和一些淺綠色。關於如何創建和自訂天空盒的更多信息,請參見 Skyboxes。






要在樣本 Lighting Indoors - Complete 文件中重建天空盒:
在 Explorer 窗口中,選擇 Lighting 服務的子 Sky 物件。
在 Properties 窗口中,
- 將 SkyboxBk 設置為 rbxassetid://162001887。
- 將 SkyboxDn 設置為 rbxassetid://161998893。
- 將 SkyboxFt 設置為 rbxassetid://162001897。
- 將 SkyboxLf 設置為 rbxassetid://162001904。
- 將 SkyboxRt 設置為 rbxassetid://162001919。
- 將 SkyboxUp 設置為 rbxassetid://162001926。

增加空氣顆粒密度
Lighting 服務有一個子 Atmosphere 物件,擁有屬性可讓您通過獨特的方式散射陽光來模擬真實環境。雖然這些屬性在戶外環境中更為明顯,例如影響天際線附近遠處物體的輪廓和混合,但其他屬性則影響在 3D 空間中存在的空氣顆粒的密度和顏色,無論是在室內還是室外。
例如,Atmosphere.Density 屬性控制您體驗中空氣中的顆粒數量。當您增加該屬性時,額外的顆粒數量會在 3D 空間中創造出可觸摸的厚度和重量感,對於探索您世界的玩家非常有幫助。這對於為環境添加質感和間接照明而不需要明確的局部光源物件非常有用。
為了展示這一技術,請查看以下兩張 Lighting Indoors - Complete 小屋的圖像,顯示不同的空氣顆粒密度。當 Atmosphere.Density 設置為 0 時,小屋雖然有局部光源卻是寒冷和黑暗的,而當 Atmosphere.Density 設置為 0.5 時,小屋則是溫暖和朦朧的。這一效果特別顯著,因為 Atmosphere 物件根據其天空盒的顏色為空氣顆粒添加了暖橙色調。

要在樣本 Lighting Indoors - Complete 文件中重建空氣顆粒的密度:
在 Explorer 窗口中,選擇 Lighting 服務的子 Atmosphere 物件。
在 Properties 窗口中,將 Density 設置為 0.5。空氣變得朦朧。

配置局部燈光
局部燈光是您體驗中來自局部 光源 的光輝,例如 PointLight、SpotLight 和 SurfaceLight 物件。在配置您的全局燈光以滿足體驗的一般照明和氣氛要求後,利用這些局部光源來滿足您希望在 3D 空間中照亮的場景中特定照明需求是非常重要的。
以下各節展示了如何創建每種類型的局部光源並調整其幾個默認屬性,以顯著改變局部燈光與全局燈光的互補及其與整體環境的互動方式。
照亮蠟燭
場景中需要照亮空間的第一組物體是窗戶附近梳妝台上的蠟燭組。它們在 Lighting Indoors - Start 樣本中的默認配置中包含以下 ParticleEmitter 物件,以為其火焰添加輕微的運動:
- CandleFire - 產生尖端光的粒子以模擬蠟燭的火焰。
- CandleSmoke - 產生深色尖端粒子以模擬蠟燭的煙霧。
- CandleFillLight - 產生圓形粒子以模擬蠟燭的柔光。
雖然這是一個很好的開始,但蠟燭仍然無法產生可以充分照亮附近區域或反射周圍物體的真實照明行為。為了解決這一照明需求,Lighting Indoors - Complete 範例在蠟燭組的中間引入了一個 PointLight 物件。
PointLight 物件從單一點在每個方向發出光,就像一個小太陽。這種照明行為使它們非常適用於產生全方向光的物體,例如無罩的燈泡、火把和蠟燭光。為了說明這一點,請查看以下兩張圖像,它們顯示了場景在有和沒有點光源時的變化。沒有點光源的場景僅能為蠟燭提供柔和的光線,照亮了附近的牆壁和雕像的細節。


在低端設備上,點光源可能比其他局部光源更耗性能,因為它們在每個方向上都會發射光。為了優化您的體驗,請考慮在不妨礙理想照明的情況下需要多少個點光源。例如,樣本僅在蠟燭的中間放置一個點光源,因為每個蠟燭的火焰都足夠小,個別的點光源不會顯著增強遊戲區域內的視覺效果。
要在樣本 Lighting Indoors - Complete 文件中重建蠟燭的局部照明:
在一組蠟燭中插入一個點光源。
- 在 Explorer 窗口中展開 Candle_Group_A 模型。
- 懸停在 FillLight 部分上,然後點擊 ⊕ 圖標。一個上下文菜單將顯示。
- 在上下文菜單中插入 PointLight。
選擇新點光源,然後在 Properties 窗口中,
- 將 Brightness 設置為 0.7,使光強度降低,與蠟燭光更為兼容。
- 將 Color 設置為 255, 202, 156,使光線染成桃色,模擬蠟燭光的溫暖。
- 啟用 Shadows,使蠟燭光能夠產生陰影。
對 Candle_Group_B 重復此過程。
(可選) 使用上一步中的相同技術,添加一個具有您自己配置的點光源,以照亮壁爐裡的火焰。
打開桌燈
場景中需要照亮空間的第二個物體是小屋後角附近的桌燈。在決定要使用哪種局部光源物件時,查看光源的類型和形狀如何影響其在現實世界中的照射方式非常重要。例如,由於 Lighting Indoors - Start 範例的桌燈配備了一個位於彎曲的深綠色燈罩下的白色燈泡,因此燈必須產生兩種不同類型的光:
- 只在桌子方向上照射的明亮白光。
- 透過深綠色燈罩洩漏的輕微綠光,朝向其他所有方向,除了明亮的白光。
為了解決第一種照明需求,Lighting Indoors - Complete 範例在桌燈中引入了一個 SpotLight,朝著燈罩未遮蓋的地方向外照射。SpotLight 物件以圓錐形狀從單一方向發出光,並包含一個 Face 屬性,該屬性決定光發射的面/軸。這使其照明行為非常適合產生定向光的物體,例如路燈、手電筒和車燈。
為了解決第二種照明需求,範例使用了一個 PointLight,生成柔和的綠光,照亮小屋的整個角落,而不會在明亮的白光中顯得過於顯眼。為了說明,請查看以下兩張圖像,顯示了場景在有無額外點光源時的變化。兩個場景都包括相似的明亮白光,但有點光源的場景創造了真實的照明行為,照射在附近的雕像和書架上,使小屋的角落變得清晰可見,成為一個值得關注的焦點。


要在樣本 Lighting Indoors - Complete 文件中重建燈的局部照明:
在一組蠟燭中插入一個聚光燈。
- 在 Explorer 窗口中展開 Bankers_Lamp 模型,然後展開 Lamp_Hood 網格。
- 懸停在 Lightbulb 網格上,然後單擊 ⊕ 圖標。一個上下文菜單將顯示。
- 在上下文菜單中插入 SpotLight。

選擇新聚光燈,然後在 Properties 窗口中,
- 將 Face 設置為 Bottom,使聚光燈朝向桌子發光。
- 將 Angle 設置為 140,將光投射為半球形而不是圓錐形。
- 將 Brightness 設置為 4,以增加光的強度。
- 將 Color 設置為 255, 238, 202,使光線染成淺棕色,模擬燈的柔和溫暖。
- 將 Range 設置為 12,以減少聚光燈照亮的區域的大小,使其觸及地面。
- 啟用 Shadows,讓燈光產生陰影,增添戲劇效果。

插入一個模擬燈罩輕微綠光的點光源。
- 在 Explorer 窗口中,懸停在 FillLight 部分上,然後點擊 ⊕ 圖標。上下文菜單將顯示。
- 在上下文菜單中插入 PointLight。

選擇新點光源,然後在 Properties 窗口中,
- 將 Range 設置為 12,以增加點光源照亮的區域大小,照亮桌子後面的牆壁。
- 將 Color 設置為 142, 157, 125,使光染成淺苔藓綠色,間接減少亮度。

照亮收音機螢幕
場景中需要照亮空間的最後一個物體是梳妝台上雕像中間的經典收音機。與前幾個部分類似,在決定要使用的局部光源物件時,查看光源的類型和形狀如何不在現實世界中發出光非常重要。例如,前面兩個局部光源物件不適用於這個收音機,因為其螢幕不會像 PointLight 物件那樣在每個方向上發出光,也不會像 SpotLight 那樣從單一方向發光。


相反,為了解決這一照明需求,Lighting Indoors - Complete 範例為收音機引入了一個 SurfaceLight 物件,發出從整個螢幕表面向外的光。SurfaceLight 物件從 Attachment 或 BasePart 的面發出光,並包含一個 Face 屬性,該屬性決定光從哪一面/軸發出。這使其照明行為非常適合那些從近乎平坦表面產生定向光的物體,例如電視或電腦屏幕、廣告牌和螢光面板。
需要注意的是,儘管表面光和聚光燈都使用 Face 屬性來確定發光的立方體表面,但表面光和聚光燈的光發射是不同的,因為表面光的發光方式會根據其父物件的表面大小改變。為了展示,請檢查以下圖像,看看表面光是如何根據其父方塊的大小發光的。


要在樣本 Lighting Indoors - Complete 文件中重建收音機的表面光:
在收音機的螢幕上插入一個表面光。
- 在 Explorer 窗口中展開 Radio_Noise 模型,然後展開其子 Radio 模型。
- 懸停在 Radio_Backglow 網格上,然後點擊 ⊕ 圖標。上下文菜單將顯示。
- 在上下文菜單中插入 SurfaceLight。

選擇新表面光,然後在 Properties 窗口中,
- 將 Face 設置為 Left,使光從收音機的表面發出。
- 將 Brightness 設置為 2,輕微增加光的強度。
- 將 Color 設置為 146, 255, 251,使光染成青藍色。
- 將 Range 設置為 4,減少表面光照亮的區域大小,使其僅觸及桌子。

平衡光源
為環境照明是您的光源與相機對其照明的感知之間的平衡。即使您的光源對於它們在現實世界中照亮空間的方式具有適當的設置,您可能仍需調整和重新平衡相機對該照明的感知以實現您理想的照明效果。
例如,目前場景中在小屋中有一種故意的暖光,但顏色和陰影看起來都沉悶且不飽和。為了解決這個問題,Lighting Indoors - Complete 範例調整其全局燈光,以增加在玩家相機中的豐富度,而不失去 3D 空間中亮色和暗色之間的細節或對比度。
調整光的曝光
類似於自訂現實生活中相機的鏡頭保持開放拍攝的時間,Lighting 服務的 ExposureCompensation 屬性使您能夠調整多少光線到達相機。使用此屬性與調整 Brightness 屬性不同,因為 ExposureCompensation 為環境中更亮的部分增加效果偏差。
例如,檢查以下圖像,以查看當您提高小屋的亮度時,無論是通過增加全局燈光的 Brightness 或 ExposureCompensation 屬性,其照明如何改變。具有較高 Brightness 屬性的房間會增加整個空間的亮度,包括陰影中的亮度,這會導致小屋產生意外的陰暗。相反,具有較高 ExposureCompensation 屬性的房間不會平等地增加亮度和陰影的亮度,使空間看起來更亮,而不會完全沖淡其較暗的顏色。



要在樣本 Lighting Indoors - Complete 文件中重建曝光級別:
在 Explorer 窗口中選擇 Lighting。
在 Properties 窗口中,將 ExposureCompensation 設置為 0.5,以對場景進行額外曝光調整。

調整顏色對比
類似於在相機上應用濾鏡,您可以將 ColorCorrectionEffect 後處理物件添加到 Lighting 服務中,以調整相機對顏色的感知。這在您希望對影響整個環境的顏色進行調整時非常有用,而不僅僅是針對單一物體或遊戲區域。
Lighting Indoors - Complete 範例使用 ColorCorrectionEffect 來增加所有暗色和亮色之間的鮮豔度和對比度。這對於創建一個溫暖、豐滿的空間非常有用,吸引玩家。
要在樣本 Lighting Indoors - Complete 文件中重建相機對顏色的感知:
在 Explorer 窗口中,懸停在 Lighting 服務上,然後點擊 ⊕ 圖標。一個上下文菜單將顯示。
在上下文菜單中插入 ColorCorrectionEffect。
選擇新的後處理效果,然後在 Properties 窗口中,
- 將 Contrast 設置為 0.05,以增加暗色和亮色之間的對比度。
- 將 Saturation 設置為 0.1,使所有顏色更生動。





