PBR 纹理

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

基于物理的渲染 (PBR) 文本允许您使用多种类型的材质图像或 地图 ,在单个对象上代表理想的阴影和照明。 组合多种材质图像可以更准确地模拟颜色、粒度和反射率在任何照明环境中,并可以强化资产和环境的视觉元素。

A humanoid avatar with dreadlocks, a glossy jacket, jeans with decals, and boots.
A humanoid avatar with a short haircut, leather jacket, capri pants, and orange shoes.

您可以使用它们来创建 PBR 纹理。您可以在自定义 3D 对象创作品的建模和纹理阶段使用它们。前提是您使用 Roblox Studio 支持 您正在使用的特定纹理地图。

本指南涵盖设置您的网格对象使用 PBR 材质地图,以及描述 Roblox 支持的 PBR 材质地图的常见用例和最佳实践。当创建您自己的表面时,请参阅 材质参考 以获得常见材质值,图像比较和服装示例。

启用表面外观

您可以通过添加 MeshPart 中的任何一个 SurfaceAppearance 对象,以及添加一个 SurfaceAppearance 对象,将原始所分配的纹理覆盖。 一通用来说,在体验期间不能通过脚本修改 2>Class.Surface2> 属性,因为引擎需要进行一些预处理才能显

要启用MeshPart的表面外观:

  1. Explorer 窗口中,将鼠标悬停在 MeshPart 上,然后单击 ⊕ 按钮。

  2. 从上下文菜单中插入 表面特性

    A SurfaceAppearance object parented within a MeshPart in Studio's Explorer window.

    当您准备将材质地图添加到您的 SurfaceAppearance 对象时,您可以单击每个地图属性以浏览并设置每个图像的适当资产 ID:

    A close-up of the Properties window where the user selected the ColorMap property. A popup displays all available image textures to select.

纹理地图

Studio 目前支持 4 种类型的 PBR 材质地图: 颜色普通金属 ,1>粗糙1>。 每个 of these 地图都对对象的表面外观进行了重要的更改。 材质地图只会更改视觉外观,并且不会影响 4>Class.MeshPart4> 对象的几

请参阅以下示例,了解 Roblox 支持的材质地图和其他资源:

Class.SurfaceSurface.ColorMap|ColorMap 属性设置了地面的颜色数据,包括地图上的任何透明度。请参阅“颜色(Albedo)”获取更多信息。

A completely filled image, mostly red with various black splotches and white scratches.
示例地图
A blank white sphere with a dark background.
示例网格
A red sphere with black splotches and white scratches with a dark background.
网格和纹理

颜色 (Albedo)

颜色 颜色 ,或 阴影 ,地图确定您的材质的颜色,并由大多数为颜色信息而无照明或材质信息。 为了提供更多自定义,您还可以在您的材质图层中添加透明度,以通过添加透明度给您的图层增加颜色信息。

模式

对于需要部分或完整透明度的对象,例如草、叶子、绳子或像泥或霉一样的装饰,您可以使用各种 alpha 模式 来应用透明度到您的颜色地图。 如果您的颜色地图图像格式支持 alpha 素材道,您可以在透明度 0.

您可以通过设置以下 AlphaMode 值来在两种不同的行为中应用透明度:

  • 覆盖层 — 覆盖 ColorMap 在基础网格上的 MeshPart.Color 。 颜色图使用 0> 覆盖层0> 显示网格在任何透明度现有处的基础颜色。 此是默认设置。
  • 透明度 — 根据透明度在 ColorMap 中移除可见的网格。这会使网格透明,并且在透明度存在时不会显示原始网格颜色。

您可以使用 渐变 来显示网格原始颜色的部分。 因为颜色地图的透明区域显示出基础颜色,因此您可以设计一个独特的颜色地图,部分或全部地图显示Color属性,以便为客户端或其他情况下显示网格的 Class.MeshPart.Color 属性。

下面的例子显示了使用白色球体引用器工作的 Overlay 模式:

A completely filled image of a semi-repeating pattern with 8 by 8 small light blue squares. The background is checkered to indicate transparency.
带透明度的例子颜色/albedo地图
A blank white sphere over a dark background.
示例网格对象 (白色)
A white sphere with small blue squares scattered over the surface.
AlphaMode 设置为 溢出层 使用引用地图和材料

下面的例子使用了 涂层 模式为自定义角色,显示角色的原始皮肤:

A completely filled image of a texture map for a 3D humanoid model. Various parts of the image is checkered or partially checkered to indicate varying levels of transparency.
颜色地图中含有透明度在部分中透露原始网格颜色的透明度
Four of the same humanoid models with different skin tones: light brown, black, white, dark green.
使用 渐变 模式使用单个颜色地图的角色群有几种变体

有关于自定义肤色的额外细节,请参阅自定义肤色。

透明度

您可以使用 透明度 模式来创建复杂或极其精细的对象,例如网或网,通过移除网格的可见部分作为代替以雕刻网格结构的性能影响。由于这不会影响网格对象的几何形状,因此您可以创建细节丰富的对象 without the performance impact of an intricate mesh model.

下面的例子显示了在此模式中部分和全部透明度如何视觉移除网格的部分:

A sphere with a basket-like surface.
无透明度
A sphere with regular triangular patterns on its surface partially invisible.
半透明在部分中
A sphere with regular triangular patterns on its surface completely invisible.
在部分上完全透明

颜色涂色

您可以通过修改 SurfaceAppearance.Color 属性来修改您的颜色地图。 涂色不会影响性能, 您可以在内存上节省, 通过重用一个颜色地图使用单个颜色Map与不同的涂色进行额外的低成本变化。 使用颜色涂色来在实时时间内您的 PBR 表面颜色或程序化修改您的 PBR 表

A statue with a default yellow tint and reflective jade-like properties.
来自Duvall Drive神秘之事的雕像网格对象,无需着色。
A statue with a red tint and continues to have a shiny reflective properties from its other texture maps.
雕像网格用 SurfaceAppearance.Color 设置为红色。
A statue with a green tint and continues to have a shiny reflective properties from its other texture maps.
雕像网格与 SurfaceAppearance.Color 设置为绿色。

SurfaceAppearance.Color 涂色应用为倍增器,因此最终外观是由 Color3 (像素颜色) 次 SurfaceAppearance.Color 的。 这意味着在靠近白色的几率下创建原始 0> Class.SurfaceSurface.ColorMap0> 的最强涂色

涂色仅适用于 SurfaceAppearance.ColorMapMeshPart.Color ,而不是 Class.MeshPart.Color 。 您可以继续使

正常

普通,或 表面 ,地图将表面的纹理深度添加到您的表面,并且与高度地图相同。因结果,效果可能会渐渐消失或变得更强大,取决于视角和照明环境。当0>普通0>地图不存在时,值为0。

在下图中,您可以使用网格参考和地图参考来进行比较,以便测试普通地图值的比较:

A clay colored smooth sphere.
0.0
>
A clay colored sphere with a moderately rocky surface.
0.5
A clay colored sphere with an extremely rocky surface
1.0

R, GB 通道的图像分别对应于 1> X1>, 4> Y4> 和 7> Z7> 表面向矢量力的组件。 0> 一致的图像颜色 0>

普通地图会显著影响网格的视觉表面,并且可以突出网格中的矮缝。 尽可能时,请隐藏您的网格纹理,以避免网格视觉问题。

粗糙度

粗糙度 ,或 微表面 ,会决定光在您的模型表面上的如何分布。当粗糙度为 0.0 时,表面不会散射光,从而在您的材料上产生更锋利和更明亮的反射。在 1.0 上,光和反射都会在材料上均匀散射,从而产生更不反射的闪

粗糙度可能会影响物体在不同角度下反射的程度,称为“Fresnel”效果。请参阅“Fresnel”获取更多信息和最佳实践,以确保保持一致的反射行为。

参阅以下图表,了解各种粒度地图值的比较:

A blue glossy sphere with a legend indicating the roughness map is completely black.
0.0
>
A blue semi-glossy sphere with a legend indicating the roughness map is exactly grey.
0.5
A blue matte sphere with a legend indicating the roughness map is completely white.
1.0

弗雷斯尼尔

弗雷斯nel 指的是表面在当前视角下的反射量。 Studio 的弗雷斯nel 处理目标是实体世界的精确度,尽管您在某些角度上可能会获得意外的反射贡献。在一些情况下,您可以通过使您的粒度地图在 0.1 更粗糙以实现一致的照明响应与您的材料。

尽管 Roblox 渲染此照明效果准确,但面料的亮度和反射率可能在您创建材质内容创建工具,例如 Substance Paint 和 Studio 之间不会一致。请参阅 服装示例 了解在应用之间的渲染差异。

金属

金属性 表示表面的反射率。金属性值在 0.0 和 1.0 之间。Roblox 将默认值设置为 0.0 如果没有金属性地图。

参阅以下图表,了解各种金属地图值的比较:

A brown sphere with light splotches. A legend indicates the metalness map is completely black.
0.0
>
A brown sphere with light splotches and some reflectiveness. A legend indicates the metalness map is exactly grey.
0.5
A brown sphere with moderate splotches and lots of reflectiveness. A legend indicates the metalness map is completely white.
1.0

不同的 PBR 渲染器使用各种工作流程处理反射。 Studio 只使用 金属工作流程 , which 결정 是 否 金属 或 金属 ,通常 称 为 绝缘 器 或 导电 器 》 。

在大多数情况下,您应该将此值设置为 0.0 (非金属) 或 1.0 (金属)。您可以使用部分金属性值来创建更多不常见的表面,例如闪光或丝。此实践可以悄悄伪造材料中的反射以突出颜色从 颜色/albedo 地图 上反射的颜色。