Surface Appearances
Surface Appearances
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.
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 partBasePart/Color|Color. - Transparency — Renders only the
SurfaceAppearance/ColorMap|ColorMapusing 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.
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.
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.
Lighting/EnvironmentSpecularScale is 0. For the most realistic reflections, set both Lighting/EnvironmentSpecularScale and Lighting/EnvironmentDiffuseScale to 1 and both Lighting/Ambient and Lighting/OutdoorAmbient to [0, 0, 0].
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).