Skip to content

Maschera di sfondo

backgroundMask consente alle particelle di penetrare o fondersi con un livello di sfondo mascherato.

Esempi

Copertura statica (legacy)

ts
backgroundMask: {
  enable: true,
  cover: {
    color: {
      value: "#0b1020",
    },
    opacity: 1,
  },
}

Draw callback dinamico (dal 4.3.0)

ts
backgroundMask: {
  enable: true,
  cover: {
    draw: (ctx) => {
      const t = performance.now() * 0.001;
      ctx.fillStyle = `hsl(${(t * 30) % 360}, 70%, 50%)`;
      ctx.fillRect(0, 0, ctx.canvas.width, ctx.canvas.height);
    },
  },
}

Elemento esterno (dal 4.3.0)

ts
backgroundMask: {
  enable: true,
  cover: {
    element: "#myVideo",
    opacity: 0.8,
  },
}

Proprietà

ProprietàTipoDescrizione
enablebooleanAttiva il mascheramento dello sfondo
compositeGlobalCompositeOperationOperazione di composizione canvas (default: "destination-out")
coverBackgroundMaskCoverConfigurazione della copertura

cover (BackgroundMaskCover)

ProprietàTipoDescrizione
colorstring / OptionsColorColore di copertura
imagestringURL dell'immagine di copertura
opacitynumberLivello alfa di copertura (0..1, default: 1)
elementstring / HTMLCanvasElement / OffscreenCanvas / HTMLVideoElement / HTMLImageElementElemento esterno o selettore CSS disegnato automaticamente ogni frame (dal 4.3.0)
draw(context: BackgroundDrawContext, delta: IDelta) => voidCallback di disegno personalizzato sul contesto canvas principale ogni frame (dal 4.3.0)

Ordine dei layer (dal 4.3.0)

  1. clear() — Pulizia pixel del canvas
  2. cover.element disegno automatico (se impostato)
  3. cover.draw callback (se impostato)
  4. Copertura statica (colore/immagine) — fallback
  5. Operazione di composizione globale

Quando usarlo

  • Effetti simili a Spotlight.
  • Sezioni degli eroi ad alto contrasto.
  • Interazioni a più livelli su sfondi scuri.

Riferimento alla fonte