Todas las opciones del constructor, sus valores exactos y si pueden cambiar durante la ejecución.
createFlagCloth() acepta un objeto FlagClothOptions. El componente de React acepta las mismas opciones salvo container, porque crea ese elemento por ti. Los grupos anidados son parciales: proporciona solo los valores que quieras cambiar.
import type { FlagClothOptions } from 'flag-cloth';
Ancho de la tela en unidades de simulación, no píxeles CSS.
height
number
2
Alto de la tela en unidades de simulación, no píxeles CSS.
segments.x
number
32
Cantidad de celdas horizontales. Hay x + 1 columnas de partículas.
segments.y
number
20
Cantidad de celdas verticales. Hay y + 1 filas de partículas.
attachment
Attachment
'left'
Borde, esquina, borde parcial, puntos personalizados o 'none'.
autoStart
boolean
true
Inicia la instancia inmediatamente y programa su bucle de animación propio.
Cambiar width, height o segments reconstruye la topología, pero conserva el canvas, el contexto WebGL2, el renderizador, los observadores y los controladores de eventos. Cambiar attachment solo reconstruye la máscara de puntos fijos. Consulta Sujeciones para ver todas las formas aceptadas.
Velocidad conservada durante un intervalo de 1/60 de segundo.
gravity
[number, number, number]
[0, 0, 0]
Aceleración en el espacio del mundo. Está desactivada por defecto para una bandera convencional.
fixedTimeStep
number
1 / 60
Paso estable del acumulador en segundos.
maxFrameDelta
number
0.1
Intervalo máximo entre frames aceptado por el acumulador, en segundos.
substeps
number
2
Subdivisiones de integración por paso fijo. Se redondea hacia abajo y nunca puede ser menor que 1.
constraintIterations
number
6
Pasadas de las restricciones estructurales, diagonales y de flexión por subpaso.
structuralStiffness
number
1
Rigidez de las distancias horizontales y verticales.
shearStiffness
number
0.9
Rigidez de las distancias diagonales.
bendStiffness
number
0.4
Rigidez de las distancias de dos celdas.
maxCorrection
number
0.25
Corrección máxima por restricción. Usa 0 para desactivar el límite.
mass
number
1
Masa total de la tela, independiente de la densidad de la cuadrícula.
El solver limita la rigidez entre 0 y 1 y la convierte en una corrección independiente de la cantidad de iteraciones. Consulta Simulación de tela antes de aumentar la resolución o el trabajo del solver.
La tabla muestra el perfil quality. El perfil performance cambia maxPixelRatio a 1, shadows a false y shadingUpdateInterval a 2. Los valores explícitos proporcionados junto al perfil tienen prioridad.
Propiedad
Tipo
Predeterminado
Función
preset
'quality' | 'performance'
'quality'
Selecciona un perfil de renderizado probado.
alpha
boolean
true
Solicita un contexto WebGL2 con alfa. Solo durante la construcción.
antialias
boolean
true
Solicita antialiasing multisample del navegador. Solo durante la construcción.
desynchronized
boolean
false
Solicita un contexto desincronizado cuando sea compatible. Solo durante la construcción.
powerPreference
WebGLPowerPreference
'high-performance'
Preferencia de GPU al crear el contexto. Solo durante la construcción.
maxPixelRatio
number
1.5
Limita la resolución interna; los valores menores que 0.5 se ajustan.
textureFiltering
'linear' | 'nearest'
'linear'
Modo de muestreo de la textura.
transparent
boolean
true
Limpia con alfa en lugar de backgroundColor.
backgroundColor
string
'transparent'
Color CSS utilizado cuando transparent es false.
shadows
boolean
true
Habilita la sombra suave de silueta con nueve muestras.
shadingUpdateInterval
number
1
Recalcula las normales cada N frames renderizados.
alpha, antialias, desynchronized y powerPreference no aparecen en FlagClothUpdateOptions.renderer, porque cambiar un atributo del contexto WebGL requiere una nueva instancia.
setOptions() es asíncrono porque puede cargar una textura nueva. Los cambios de viento, sujeción, simulación, interacción, renderizador, material, iluminación, cámara, visibilidad y depuración no recrean el contexto WebGL2.