物理基礎渲染 (PBR) 文字可以讓您代表現實陰影和照明的實際效果,使用多種類型的材質圖像或 地圖 ,在單個對物件上。組合多種材質圖像可以更準確地模擬顏色、粗糙度和反射率在任何照明環境中,並可以強化資產和環境的視覺元素
您可以使用各種應用程式和工作流程來創建 PBR 材質。 您可以在自訂 3D 物件創作品的建模和材質化階段使用這些。 您必須使用 Roblox Studio 支援 您正在使用的特定材質地圖。
此指南提供設定您的網格物件使用 PBR 材質地圖的說明,並且說明 Roblox 支持的 PBR 材質地圖 使用材質圖 的常用使用案例和最佳實踐。當創建您自己的表面時,請參閱 材料參考 以獲得常用材料值、圖像比較和服裝範例。
啟用表面外觀
您可以將 PBR 材質添加到任何 MeshPart 通過添加一個 SurfaceAppearance 對象,這個對原始所指定的紋理上寫入。 一般來說,您不能通過指令碼在體驗中修改 SurfaceAppearance 屬性,因為引擎需要一些
要啟用 MeshPart 的表面外觀:
在 Explorer 窗口中,將鼠標指针移動到 Class.MeshPart 上,然後單擊 ⊕ 按鈕。
從上下文菜單中插入 地面外觀 。
當您準備好將紋理地圖添加到您的 SurfaceAppearance 物件時,您可以單擊每個紋理地圖的屬性來瀏覽並設定每個圖像的合適資產 ID:
結構地圖
Studio 目前支援 4 種 PBR 材質地圖:顏色、普通、金屬、2>粗糙2>。這些地圖分別對應對物件表面外觀的重要方面。 材質地圖只改變視覺外觀並且不會影響 5>Class.Mesh
參閱以下範例,了解 Roblox 支援的材質地圖和其他資源:
Class.SurfaceSurface.ColorMap|ColorMap 屬性設定表面的顏色資料,包括在地圖上存在的任何透明度。 請參閱 顏色 (閃光) 以獲得更多資訊。
顏色 (Albedo)
顏色,或albedo,是地圖決定您的材質顏色的,主要是由少量照明或材質信息。為了提供更多自訂,您還可以在您的材質顏色上添加透明度,以在您的圖像地圖上添加1>粒度1>。
Alpha 模式
對於需要部分或完整透明度的物件,例如草、葉子、繩索或裝飾,您可以使用各種 alpha 模式 來應用透明度到您的顏色地圖。 如果您的顏色地圖圖像格式支援 alpha 素材道,您可以使用一個層次 <
您可以通過設置以下 AlphaMode 值來設置透明度:
- 覆蓋層 — 覆蓋基本網格上的 ColorMap 以及基礎網格 MeshPart.Color 上的 0> Class.MeshPart.Color0> 。 使用 3> 覆蓋層3> 顯示網格的基本顏色。這是預設設定。
- 透明度 — 移除基於透明度在 ColorMap 中的可見網格。這會使網格看見透明,並且在透明度存在時不會顯示原始網格顏色。
交叉
您可以使用 重疊 來顯示網格原始顏色的區域。顏色地圖的透明區域會顯示基本顏色,因此您可以設計一個獨特的材質地圖,部分或全部地圖展示網格的 Color 屬性,以獲得自訂色彩或其他情況的獨特材質地圖。
下面的例子顯示了 覆蓋模式 使用白色球體參考:
下列示例使用 佈局 模式為自訂角色,顯示角色的原始外觀:
有關於在膚質調整為膚質和類似應用程序的優化,請參閱自訂膚質。
透明度
您可以使用 透明度 模式來創建複雜或極為細緻的對象,例如繩索或網狀,通過移除網格中的可見部分來創建對物件。這不會影響網格對象的 геометria,因此您可以創建細節的對象,而不會影響網格模型的複雜度。
下列示例展示了在此模式中的部分和完整透明度如何視覺地移除網格的區域:
顏色染色
您可以通過修改 SurfaceAppearance.Color 屬性來適用色彩地圖。色彩不會影響性能,您可以在記憶體上儲存,重用一個單一的顏色地圖以創建額外的低成本變化程序。使用顏色色彩來在實時時程式變更您的 PBR 表麵顏色或程式化修改您
SurfaceAppearance.Color 顏色漆應用為倍增器,因此最終外觀是由 Color3 (texel 顏色) 次 SurfaceAppearance.Color 的。這意味著授權您的原始 0> Class.SurfaceSurface.ColorMap0> 在近白色階
色彩塗料只適用於 SurfaceAppearance.ColorMap 和 MeshPart.Color ,而不是 Class.MeshPart 。您可以�
正常
普通,或 表面 ,會將紋理深度添加到您的表面,並且與 高度地圖 相同。因結果,效果可能會漸漸消失或變得更強大,取決於觀看角度和照明環境。當普通地圖不存在時,值設為 0.0。
在下圖中,您可以切換網格參考和地圖參考以比較普通地圖值的比較:
R ,G 和 B 通道的圖像分別對應於 X 、 2>Y2> 和 5>Z5> 表面向向量力的零件。8> 標準的顏色9>[
普通地圖會明顯地影響網格的視覺表面,並且可以強調網格中的隱藏縫合。 隨時保持您的材質縫合隱藏,以避免與網格相關的視覺問題。
粗糙度
粗糙度 或 微表面 ,會決定光在您的模型表面上的光斑。當粗糙度為 0.0 時,表面不會散發光,因此會在您的材料上產生更銳利、更明亮的反射和光澤。在 1.0 時,光和反射會在模型上均勻散射,因此會產生
粗糙可能會影響物體在不同角度下反射的程度,也就是說「Fresnel」效果。 請參閱 「Fresnel」 以取得更多詳情和最佳實踐,以達到一致的反射行為。
參照以下圖表比較各種粗糙度地圖值:
弗雷斯內爾
法蘭斯์ 指的是表面在當前視角中的反射量。 Studio 的法蘭斯์處理目標為物理現實世界的準確度,雖然您在某些角度上可能會得到意外的彈射貢獻。在一些情況下,您可以通過將您的粗糙度地圖提升 0.1 提升來達到一致的照明回應。
雖然 Roblox 能準確渲染此照明效果,但面料的光源和反射率可能會在您創作的軟件中不一致,例如「Substance Paint」、「Studio」。請參閱「服裝範例」以取得不同在應用之間的渲染。
金屬性
金屬性 表示物體的反射程度。金屬性值在 0.0 和 1.0 之間。 Roblox 設定預設值為 0.0,如果沒有金屬性地圖。
見下表比較不同金屬度的地圖值:
不同的 PBR 渲染器使用各種工作流程處理反射。 Studio 只使用 金屬工作流程 ,這會決定材料是否為 非金屬 或 金屬,通常也會稱為 2>保冷器2> 或 5>導體5> 。
大多數情況下,您應該將此值設置為 0.0 (非金屬) 或 1.0 (金屬)。 您可以使用半金屬值來創建更不常見的表面,例如 satin 或 silk 。 此做法可以潛行地模擬反射在材料中,以強調環境中反射的顏色。