Skip to content

createMaterialEffect

createMaterialEffect<S, C>(config): MaterialEffectClass<S>

Defined in: packages/three-flatland/src/materials/MaterialEffect.ts:717

Create a MaterialEffect class from a configuration object.

This is the simple factory path — for quick effect definitions without writing a full class. Returns a class that extends MaterialEffect with typed properties.

S extends EffectSchema

C extends readonly keyof ChannelNodeMap[] = readonly []

MaterialEffectConfig<S, C>

MaterialEffectClass<S>

const DissolveEffect = createMaterialEffect({
name: 'dissolve',
schema: { progress: 0 },
node({ inputColor, attrs }) {
return mix(inputColor, vec4(0, 0, 0, 0), attrs.progress)
},
})
const dissolve = new DissolveEffect()
dissolve.progress = 0.5
sprite.addEffect(dissolve)