MaterialsModule

The Materials module provides access to the materials in an effect.

Example

//==============================================================================
// The following example demonstrates how to access a material in the Assets,
// assign it to an object, and change it's opacity.
//
// Project setup:
// - Insert a plane
// - Create a material
//==============================================================================

// Load in the required modules
const Materials = require('Materials');
const Scene = require('Scene');

// Locate the plane in the Scene
const plane = Scene.root.find('plane0');

// Locate the plane in the Scene
const material = Materials.get('defaultMaterial0');

// Assign the material to the plane
plane.material = material;

// Set the opacity of the material to 50%
material.opacity = 0.5;

Properties

This module exposes no properties.

Methods

Method

Description

findFirst

findFirst(name: string): Promise<MaterialBase>

Returns a promise that is resolved with the material of a requested name or null if none was found.

See Also: Materials.findUsingPattern, Materials.getAll.

findUsingPattern

findUsingPattern(namePattern: string): Promise<Array<MaterialBase>> findUsingPattern(namePattern: string, config: {limit: number}): Promise<Array<MaterialBase>>

Returns a promise that is resolved with the all of the materials matching the name pattern or empty array if none was found.

Pattern format: * matches any characters sequence. \ can be used to include in pattern any of the control characters (including '\' itself)

Examples: findUsingPattern("*") will retrive all of the materials. findUsingPattern("*A") will retrieve all of the materials suffixed with 'A'. findUsingPattern("A*") will retrieve all of the materials prefixed with 'A'. findUsingPattern("*A*", {limit: 10}) will retrieve at most 10 of the materials containing 'A',

limit parameter describes if findUsingPattern should finish the search if it finds specified number of results (default is no limit). Non-positive values for limit are treated as unlimited.

See Also: Materials.getAll, Materials.findFirst.

get

get(materialName: string): MaterialBase

Returns a MaterialBase class that represents the material specified by the materialName parameter. The materials are defined in the AR Studio project.

An exception is thrown when the identifier isn't found in the project.

See Also: MaterialBase.name.

getAll

getAll(): Promise<Array<MaterialBase>>

Returns a promise that is resolved with all of the materials.

See Also: Materials.findUsingPattern, Materials.findFirst.

Classes

Class

Description

The BlendedMaterial class encapsulates materials blended from multiple textures.

The BlendShapeToWarpMapMaterial class.

The ColorPaintMaterial class encapsulates a face-paint material.

The ComposedMaterial class encapsulates patch asset materials.

The DefaultMaterial class encapsulates an image-based material.

The MaterialBase class exposes properties common to all material types.

The MetallicRoughnessPbrMaterial class encapsulates physically based materials.

The RetouchingMaterial class encapsulates parameters which define the extend of certain beautification techniques.

The TextureTransform class encapsulates scaling and translation transforms about a textures UV axis.

Enums

Enum

Description

The BlendMode enum describes how material is blended.

The CullMode enum describes how material is culled.

Last updated