- docs/mapping.md: guia del projection mapping (activar, superficies con malla para curvar, mascaras, editar arrastrando desde el panel, dónde se guarda, limitaciones). Enlazada desde docs/README.md y el README principal. - .gitignore: ignora data/pm-fijado/ (runtime de projectM). El mapper funcional (esquinas + malla + mascaras, para Butterchurn/Hydra/ Shaders/Mezclador) ya estaba en main (Fase 1 y 2). La via de captura para projectM nativo se retira por ahora; se retoma mas adelante. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
3.5 KiB
Projection mapping
FOSFENO puede deformar las visuales para encajarlas en superficies físicas (una pared en ángulo, cajas, un objeto, varias zonas de una fachada) en vez de proyectar un simple rectángulo. Todo se hace desde el panel, arrastrando con el ratón o el dedo, y se guarda solo.
Se aplica a los motores que corren en el navegador: Butterchurn, Hydra, Shaders y Mezclador. (projectM nativo aún no; ver Limitaciones.)
En 4 pasos
- Elige un motor que no sea projectM (Butterchurn, Hydra, Shaders o Mezcla).
- En el panel, sección Mapping, marca Activar mapping.
- Pulsa + Superficie. Aparece un recuadro con las visuales en la previsualización del panel (y en el proyector).
- En la previsualización del panel, arrastra los puntos para encajar la forma sobre tu superficie real. Se ve en el proyector al instante.
La sección Mapping del panel
- Activar mapping — enciende/apaga la deformación.
- Modo edición — muestra u oculta los tiradores en la ventana de las visuales (por si prefieres ajustar ahí con un ratón). Para el uso normal no hace falta: con la previsualización del panel basta.
- + Superficie — añade una superficie nueva (un cuadrilátero).
- + Máscara — añade una máscara: un recuadro negro que tapa una zona (útil para recortar el derrame de luz fuera de la superficie física).
- Reset — borra todas las superficies y máscaras.
- Previsualización — el recuadro donde arrastras los puntos (ratón o dedo). Muestra una rejilla dentro de cada superficie para que veas cómo se deforma.
- Lista — cada superficie y máscara con su tamaño de malla y un botón ✕ para borrarla.
Superficies con malla (curvar)
Una superficie nueva es un cuadrilátero de 4 esquinas (corrección de perspectiva / keystone). Para superficies curvas:
- Selecciona la superficie (toca dentro de ella en la previsualización).
- Aparece − malla / + malla: cada + malla la subdivide (2×2, 3×3… hasta 6×6).
- Ahora puedes arrastrar cualquier punto de la rejilla (no solo las esquinas) para curvarla y adaptarla a superficies no planas.
Puedes crear varias superficies y mapear la misma imagen en distintas zonas.
Máscaras
Una máscara es un cuadrilátero negro que se pinta encima de todo. Sirve para tapar lo que no quieres que se vea (bordes, derrames de luz, huecos entre superficies). Añádelas con + Máscara y arrastra sus esquinas igual que una superficie.
Dónde se guarda
La configuración se guarda sola en data/mapping.json y se mantiene al
reiniciar. Es por instalación (no se sube al repositorio). Para empezar de
cero, usa Reset o borra ese archivo.
Editar en la ventana de las visuales (opcional)
Con Modo edición activo, los tiradores también aparecen sobre las propias visuales. Ahí, además, funcionan atajos de teclado:
- doble clic en un hueco: crea una superficie nueva.
- + / −: subdivide/reduce la malla de la superficie seleccionada.
- Supr: borra la superficie o máscara seleccionada.
Limitaciones
- projectM nativo no se mapea todavía. projectM corre en su propia ventana fuera del navegador, así que el mapper (que trabaja sobre las visuales web) no lo alcanza. Para mapear el mismo tipo de gráficos, usa Butterchurn (MilkDrop en el navegador). El soporte de projectM está en estudio.
- El mapping es una capa de deformación sobre la imagen final; no cambia el contenido de cada motor.