Skip to content

@relu-interactives/spatial-ecs


@relu-interactives/spatial-ecs / components / MaterialComponent

Class: MaterialComponent

Defined in: components/Material.ts:190

Material catalog for an entity. Tracks the live three.js materials (materials, material) plus serialized authoring state (values[]) mirrored from the inspector. Supports standard, basic, phong, and physical PBR types with optional texture map slots.

Remarks

Use setMaterials, updateValue, setMaterialType, setTextureFiltering, and setUseMipmaps to mutate state — these keep values[] and the live three.js materials in sync. Texture URLs use the localasset:// protocol inside the editor.

Extends

Constructors

Constructor

ts
new MaterialComponent(materialOrMaterials?): MaterialComponent;

Defined in: components/Material.ts:198

Parameters

ParameterTypeDefault value
materialOrMaterialsMaterial | Material[][]

Returns

MaterialComponent

Overrides

Component.constructor

Properties

PropertyTypeDescriptionDefined in
materialsMaterial[]Live three.js materials currently bound to the entity's mesh (one per submesh).components/Material.ts:192
materialMaterial | nullConvenience reference to materials[0]. null when no material is assigned.components/Material.ts:194
valuesMaterialValueState[]Serialized authoring state (one entry per material in materials). Saved with the project.components/Material.ts:196

Methods

setMaterials()

ts
setMaterials(materialOrMaterials?): void;

Defined in: components/Material.ts:207

Parameters

ParameterTypeDefault value
materialOrMaterialsMaterial | Material[][]

Returns

void


updateValue()

ts
updateValue(index, patch): void;

Defined in: components/Material.ts:223

Parameters

ParameterType
indexnumber
patchPartial<MaterialValueState>

Returns

void


resetValue()

ts
resetValue(index): void;

Defined in: components/Material.ts:238

Parameters

ParameterType
indexnumber

Returns

void


setMaterialType()

ts
setMaterialType(index, type): void;

Defined in: components/Material.ts:254

Parameters

ParameterType
indexnumber
typeMaterialTypeValue

Returns

void


setTextureFiltering()

ts
setTextureFiltering(index, filtering): void;

Defined in: components/Material.ts:258

Parameters

ParameterType
indexnumber
filteringTextureFilteringValue

Returns

void


setUseMipmaps()

ts
setUseMipmaps(index, enabled): void;

Defined in: components/Material.ts:262

Parameters

ParameterType
indexnumber
enabledboolean

Returns

void