Skip To ContentArcGIS for DevelopersSign In Dashboard

MeshMaterialMetallicRoughness

require(["esri/geometry/support/MeshMaterialMetallicRoughness"], function(MeshMaterialMetallicRoughness) { /* code goes here */ });
Class: esri/geometry/support/MeshMaterialMetallicRoughness
Inheritance: MeshMaterialMetallicRoughness MeshMaterial Accessor
Since: ArcGIS API for JavaScript 4.15

A material determines how a MeshComponent is visualized. This particular material (based on MeshMaterial) uses the metallic/roughness lighting model to enable physically based lighting. The metallic and roughness properties can be used to model various realistic materials including metals and plastics.

In this image you can see how metallic and roughness property values influence the display of the material:

The metallicRoughnessTexture can be used to map specific metallic/roughness properties on different parts of the model.

See also:

Constructors

new MeshMaterialMetallicRoughness(properties)
Parameter:
properties Object
optional

See the properties for a list of all the properties that may be passed into the constructor.

Property Overview

Any properties can be set, retrieved or listened to. See the Working with Properties topic.
NameTypeSummaryClass
Number

Specifies how transparency on the object is handled.

more details
more detailsMeshMaterial
String

Specifies how transparency on the object is handled.

more details
more detailsMeshMaterial
Color

Specifies a single, uniform color for the mesh component.

more details
more detailsMeshMaterial
MeshTexture

Specifies a texture from which to get color information.

more details
more detailsMeshMaterial
String

The name of the class.

more details
more detailsAccessor
Boolean

Specifies whether both sides of each triangle are displayed, or only the front sides.

more details
more detailsMeshMaterial
Color

Specifies a single, uniform emissive color for the MeshComponent.

more details
more detailsMeshMaterialMetallicRoughness
MeshTexture

Specifies a texture from which to get emissive color information.

more details
more detailsMeshMaterialMetallicRoughness
Number

Specifies how much the material behaves like a metal.

more details
more detailsMeshMaterialMetallicRoughness
MeshTexture

Specifies a texture from which to get the combined metallic/roughness information.

more details
more detailsMeshMaterialMetallicRoughness
MeshTexture

Specifies a texture from which to get normal information.

more details
more detailsMeshMaterial
MeshTexture

Allows to specify a texture to get the occlusion information from.

more details
more detailsMeshMaterialMetallicRoughness
Number

Indicates how rough the surface of the material is.

more details
more detailsMeshMaterialMetallicRoughness

Property Details

alphaCutoff Number inherited

Specifies how transparency on the object is handled. If alphaMode is set to either mask or auto this property specifies the cutoff value below which masking happens (that is, the coresponding part of the Mesh is rendered fully transparent).

Default Value:0.5
alphaMode String inherited

Specifies how transparency on the object is handled. See also alphaCutoff.

TypeDescription
opaqueAlpha is ignored, and the object is rendered fully opaque.
blendAlpha values are used for gradual transparency, blending between the object and its background.
maskAlpha values are used for binary transparency, either displaying the object, or its background. See also alphaCutoff.
autoThe implementation mixes the mask and blend settings, masking below alphaCutoff and blending above it.

Possible Values:"auto"|"blend"|"opaque"|"mask"

Default Value:"auto"
Autocasts from Object|Number[]|String

Specifies a single, uniform color for the mesh component. This can be autocast with a named string, hex string, array of rgb or rgba values, an object with r, g, b, and a properties, or a Color object.

Specifies a texture from which to get color information. The texture is accessed using the uv coordinate specified for each vertex in the Mesh.vertexAttributes.

declaredClass Stringreadonly inherited

The name of the class. The declared class name is formatted as esri.folder.className.

doubleSided Boolean inherited

Specifies whether both sides of each triangle are displayed, or only the front sides.

Default Value:true
emissiveColor Colorautocast
Autocasts from Object|Number[]|String

Specifies a single, uniform emissive color for the MeshComponent. The emissiveColor is added to the base color of the component. This can be autocast with a named string, hex string, array of rgb values, an object with r, g, b properties, or a Color object. Note that the alpha channel is ignored for emissive colors.

emissiveTexture MeshTextureautocast

Specifies a texture from which to get emissive color information. The texture is accessed using the uv coordinate specified for each vertex in the mesh vertex attributes. The colors in the texture are added to the base color of the component. When using both an emissiveTexture and an emissiveColor their values are multiplied and then added to the base color of the component.

metallic Number

Specifies how much the material behaves like a metal. Values must be in the range 0 (non metal material) to 1 (metal material). Physically accurate materials are usually either a metal (1) or a non-metal (0) and not something inbetween.

Default Value:1
metallicRoughnessTexture MeshTextureautocast

Specifies a texture from which to get the combined metallic/roughness information. The metallic value should be stored in the blue channel, while the roughness value should be stored in the green channel. The red and alpha channels are ignored.

The texture is accessed using the uv coordinate specified for each vertex in the mesh vertex attributes.

Specifies a texture from which to get normal information. The texture is accessed using the uv coordinate specified for each vertex in the Mesh.vertexAttributes.

occlusionTexture MeshTextureautocast

Allows to specify a texture to get the occlusion information from. This can be used to simulate the effect of ambient light on the object. The texture is accessed using the uv coordinate specified for each vertex in the mesh vertex attributes. The occlusion value should be encoded in the red channel of the texture.

roughness Number

Indicates how rough the surface of the material is. Values must be in the range 0 (fully smooth surface) to 1 (fully diffuse surface).

Default Value:1

API Reference search results

NameTypeModule
Loading...