- 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>
77 lines
3.5 KiB
Markdown
77 lines
3.5 KiB
Markdown
# 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](#limitaciones).)
|
||
|
||
## En 4 pasos
|
||
|
||
1. Elige un motor que **no** sea projectM (Butterchurn, Hydra, Shaders o Mezcla).
|
||
2. En el panel, sección **Mapping**, marca **Activar mapping**.
|
||
3. Pulsa **+ Superficie**. Aparece un recuadro con las visuales en la
|
||
previsualización del panel (y en el proyector).
|
||
4. 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**:
|
||
|
||
1. Selecciona la superficie (toca dentro de ella en la previsualización).
|
||
2. Aparece **− malla / + malla**: cada **+ malla** la subdivide (2×2, 3×3…
|
||
hasta 6×6).
|
||
3. 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.
|