Class: MaterialVariants
Defined in: src/components/renderer/MaterialVariants.ts:34
Runtime switch for glTF KHR_materials_variants (product configurators: one mesh, several material sets — "red leather", "blue fabric", …). The glTF loader adds this component to the root object of any asset that declares variants.
const root = await engine.res.loadGltf('shoe.glb');
const variants = root.getComponent(MaterialVariants);
console.log(variants.variantNames); // ['midnight', 'beach', 'street']
variants.selectVariant('beach');
variants.selectVariant(null); // back to the authored defaultExtends
Constructors
Constructor
new MaterialVariants():
MaterialVariants
Returns
MaterialVariants
Inherited from
Properties
object3D
object3D:
Object3D=null
Defined in: src/components/ComponentBase.ts:29
owner object3D
Inherited from
isDestroyed
isDestroyed:
boolean=false
Defined in: src/components/ComponentBase.ts:77
Inherited from
variantNames
variantNames:
string[] =[]
Defined in: src/components/renderer/MaterialVariants.ts:36
Variant names, in the order the asset declares them.
Accessors
visibleLayer
Get Signature
get visibleLayer():
number
Defined in: src/components/ComponentBase.ts:46
Composition-layer membership bitmask. The pass / camera / collector filters via
(component.visibleLayer & pass.layerMask & camera.cullingMask) !== 0
Defaults to VisibleLayer.Default (bit 0) so a fresh subclass is visible to passes whose layerMask is VisibleLayer.All (which includes bit 0). Application code can assign project-specific bits (1..31) to organise the scene into composition layers.
Returns
number
Set Signature
set visibleLayer(
value):void
Defined in: src/components/ComponentBase.ts:50
Parameters
value
number
Returns
void
Inherited from
eventDispatcher
Get Signature
get eventDispatcher():
CEventDispatcher
Defined in: src/components/ComponentBase.ts:63
Returns
Set Signature
set eventDispatcher(
value):void
Defined in: src/components/ComponentBase.ts:68
Parameters
value
Returns
void
Inherited from
isStart
Get Signature
get isStart():
boolean
Defined in: src/components/ComponentBase.ts:79
Returns
boolean
Inherited from
transform
Get Signature
get transform():
Transform
Defined in: src/components/ComponentBase.ts:89
Return the Transform component attached to the Object3D. Null before the component is attached — addComponent assigns object3D only after construction — so constructor-time callers can probe safely via this.transform?..
Returns
Inherited from
enable
Get Signature
get enable():
boolean
Defined in: src/components/ComponentBase.ts:113
Enable/disable components. The enabled components can be updated, while the disabled components cannot be updated.
Returns
boolean
Set Signature
set enable(
value):void
Defined in: src/components/ComponentBase.ts:96
Enable/disable components. The enabled components can be updated, while the disabled components cannot be updated.
Parameters
value
boolean
Returns
void
Inherited from
currentIndex
Get Signature
get currentIndex():
number
Defined in: src/components/renderer/MaterialVariants.ts:42
Index of the active variant, or -1 for the authored default materials.
Returns
number
currentVariant
Get Signature
get currentVariant():
string
Defined in: src/components/renderer/MaterialVariants.ts:47
Name of the active variant, or null for the authored default materials.
Returns
string
bindings
Get Signature
get bindings(): readonly
MaterialVariantBinding[]
Defined in: src/components/renderer/MaterialVariants.ts:52
Renderers that take part in at least one variant.
Returns
readonly MaterialVariantBinding[]
Methods
init()
init(
param?):void
Defined in: src/components/ComponentBase.ts:161
Parameters
param?
any
Returns
void
Inherited from
start()
start():
void
Defined in: src/components/ComponentBase.ts:162
Returns
void
Inherited from
stop()
stop():
void
Defined in: src/components/ComponentBase.ts:163
Returns
void
Inherited from
onEnable()?
optionalonEnable(view?):any
Defined in: src/components/ComponentBase.ts:164
Parameters
view?
Returns
any
Inherited from
onDisable()?
optionalonDisable(view?):any
Defined in: src/components/ComponentBase.ts:165
Parameters
view?
Returns
any
Inherited from
onUpdate()?
optionalonUpdate(view?):any
Defined in: src/components/ComponentBase.ts:166
Parameters
view?
Returns
any
Inherited from
onLateUpdate()?
optionalonLateUpdate(view?):any
Defined in: src/components/ComponentBase.ts:167
Parameters
view?
Returns
any
Inherited from
onBeforeUpdate()?
optionalonBeforeUpdate(view?):any
Defined in: src/components/ComponentBase.ts:168
Parameters
view?
Returns
any
Inherited from
onCompute()?
optionalonCompute(view?,command?):any
Defined in: src/components/ComponentBase.ts:169
Parameters
view?
command?
GPUCommandEncoder
Returns
any
Inherited from
onGraphic()?
optionalonGraphic(view?):any
Defined in: src/components/ComponentBase.ts:170
Parameters
view?
Returns
any
Inherited from
onParentChange()?
optionalonParentChange(lastParent?,currentParent?):any
Defined in: src/components/ComponentBase.ts:171
Parameters
lastParent?
currentParent?
Returns
any
Inherited from
onAddChild()?
optionalonAddChild(child):any
Defined in: src/components/ComponentBase.ts:172
Parameters
child
Returns
any
Inherited from
onRemoveChild()?
optionalonRemoveChild(child):any
Defined in: src/components/ComponentBase.ts:173
Parameters
child
Returns
any
Inherited from
cloneTo()
cloneTo(
obj):void
Defined in: src/components/ComponentBase.ts:180
clone component data to target object3D
Parameters
obj
target object3D
Returns
void
Inherited from
copyComponent()
copyComponent(
from):this
Defined in: src/components/ComponentBase.ts:182
Parameters
from
this
Returns
this
Inherited from
beforeDestroy()
beforeDestroy(
force?):void
Defined in: src/components/ComponentBase.ts:249
before release this component, object refrences are not be set null now.
Parameters
force?
boolean
Returns
void
Inherited from
selectVariant()
selectVariant(
variant):boolean
Defined in: src/components/renderer/MaterialVariants.ts:67
Activate a variant by name or index; null / -1 restores the authored materials. Primitives the variant does not mention fall back to their default material, as the extension specifies.
Parameters
variant
string | number
Returns
boolean
false when the name / index does not exist (nothing changes).
destroy()
destroy(
force?):void
Defined in: src/components/renderer/MaterialVariants.ts:82
release this component
Parameters
force?
boolean
Returns
void

