PcoWSkbVqDnWTu_dm2ix
The Developer Hub is now deprecated and information on this page may no longer be accurate. To see our new and improved documentation, please click here. You can read more about the future of documentation here.

Surface Appearances

Surface Appearances

5 min

SurfaceAppearance objects let you override the appearance of a MeshPart with advanced graphics options. Most notably, SurfaceAppearance can apply a set of PBR textures to a mesh (PBR is short for Physically-Based Rendering and refers to a common texture format for defining extra physical details).

Enabling Surface Appearance

To enable a surface appearance for a MeshPart, select it and insert a SurfaceAppearance object.

Surface Appearance Properties

ColorMap

The SurfaceAppearance/ColorMap|ColorMap property determines the color and opacity of the surface (this texture is often called the albedo texture). Its alpha channel controls opacity as outlined in the SurfaceAppearance/AlphaMode|AlphaMode section.

ColorMap
MeshPart
Result

AlphaMode

SurfaceAppearance/AlphaMode|AlphaMode determines how the alpha channel of the SurfaceAppearance/ColorMap|ColorMap is used. This lets you apply textures of varying transparency/opacity onto meshes to create partially “see-through” objects.

  • Overlay — Overlays the SurfaceAppearance/ColorMap|ColorMap (based on its alpha channel) over the underlying part BasePart/Color|Color.
  • Transparency — Renders only the SurfaceAppearance/ColorMap|ColorMap using its alpha channel for transparency. Surface areas where the map’s alpha is 0 (fully transparent) appear completely see-through while areas where the map’s alpha is 1 (fully opaque) will be completely opaque.
ColorMap
Overlay
Transparency

NormalMap

A SurfaceAppearance/NormalMap|NormalMap modifies the lighting of the surface by adding bumps, dents, cracks, and curves without adding more polygons. The R, G, and B channels of the image correspond respectively to the X, Y, and Z components of the local surface vector. A uniform image of color [127, 127, 255] translates to a completely flat normal map.

NormalMap
MeshPart
Result

MetalnessMap

A SurfaceAppearance/MetalnessMap|MetalnessMap determines which parts of the surface are metal versus non-metal. This map should be a grayscale image where black pixels correspond to non-metals and white pixels correspond to metals. Gray values can be used for blending or to simulate dirt/grunge on top of an underlying metal (white) area.

MetalnessMap
MeshPart
Result

RoughnessMap

A SurfaceAppearance/RoughnessMap|RoughnessMap specifies the apparent roughness across the surface. It should be a grayscale image where black pixels correspond to a maximally smooth surface (reflective) and white pixels correspond to a maximally rough surface (matte).

RoughnessMap
MeshPart
Result
Tags:
  • surface
  • pbr
  • texture