Repolode
elijah-semyonov

elijah-semyonov/DuoLikeAnimation

Demo para iOS que usa shaders de Metal de SwiftUI y Core Motion para imitar la animación de plegado de un iPhone plegable y dar a la pantalla un aspecto de vidrio esmerilado.

Estrellas
158
Forks
40
Issues abiertos
0
Último commit
el mes pasado

¿Qué es?

DuoLikeAnimation es un proyecto de demostración para iOS que imita la animación de plegado del iPhone Duo usando únicamente shaders de SwiftUI y Core Motion. Una capa Metal `layerEffect` recibe la actitud del dispositivo en tiempo real, de modo que un teléfono plano parece plegarse como una mitad de un dispositivo plegable.

El efecto trata la pantalla como un panel de vidrio esmerilado. La interfaz permanece fija en el espacio del mundo mientras el dispositivo se inclina alrededor de su eje vertical. El shader reproyecta la vista en perspectiva, la desenfoca y oscurece en proporción a la distancia entre el vidrio y el plano de la interfaz, y muestra negro donde los rayos no alcanzan la interfaz. De forma predeterminada, el punto de vista se modela a una distancia de 320 mm, como cuando se sostiene el dispositivo en la mano.

El proyecto incluye el shader, un modificador de SwiftUI con parámetros ajustables, un modelo de Core Motion que calibra la postura de inclinación cero y una vista de demostración con un panel para recalibrar y ajustar manualmente la inclinación. En el simulador, donde no hay datos de movimiento disponibles, la inclinación manual está habilitada de forma predeterminada.

Funciones clave

  • 01El shader Metal `layerEffect` realiza una reproyección en perspectiva, desenfoque y oscurecimiento según la distancia.
  • 02Core Motion proporciona la actitud del dispositivo y calibra la postura de inclinación cero a partir de la primera muestra.
  • 03El modificador `.foldEffect(angle:parameters:)` expone parámetros ajustables.
  • 04Un panel flotante permite recalibrar y ajustar manualmente la inclinación.
  • 05La inclinación manual está habilitada de forma predeterminada en el simulador.

Casos de uso

  • Aprender a escribir shaders `layerEffect` de SwiftUI con Metal.
  • Crear prototipos de efectos de interfaz para dispositivos plegables o de inclinación 3D en iOS.
  • Estudiar cómo usar los datos de actitud de Core Motion para controlar efectos visuales.

Inicio rápido

  1. 1

    Abre DuoLikeAnimation.xcodeproj en Xcode

  2. 2

    Ejecuta la app en un dispositivo iOS (el simulador no tiene datos de movimiento y el control de la inclinación es manual)

Antes de usarlo

  • Está diseñado solo para iOS. Para obtener el efecto de inclinación real, se necesita un dispositivo físico con sensores de movimiento.
  • Es un proyecto de demostración, no una biblioteca reutilizable.

Temas

Preguntas frecuentes

¿Qué es DuoLikeAnimation?
Demo para iOS que usa shaders de Metal de SwiftUI y Core Motion para imitar la animación de plegado de un iPhone plegable y dar a la pantalla un aspecto de vidrio esmerilado. DuoLikeAnimation es un proyecto de demostración para iOS que imita la animación de plegado del iPhone Duo usando únicamente shaders de SwiftUI y Core Motion. Una capa Metal `layerEffect` recibe la actitud del dispositivo en tiempo real, de modo que un teléfono plano parece plegarse como una mitad de un dispositivo plegable.
¿DuoLikeAnimation es gratuito? ¿Qué licencia tiene?
DuoLikeAnimation es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿DuoLikeAnimation sigue mantenido?
Actualizado en los últimos 6 meses. El último commit de DuoLikeAnimation fue el 11 sept 2026.
¿Para qué puedo usar DuoLikeAnimation?
Aprender a escribir shaders `layerEffect` de SwiftUI con Metal. Crear prototipos de efectos de interfaz para dispositivos plegables o de inclinación 3D en iOS. Estudiar cómo usar los datos de actitud de Core Motion para controlar efectos visuales.
¿Cómo se instala DuoLikeAnimation?
Abre DuoLikeAnimation.xcodeproj en Xcode Ejecuta la app en un dispositivo iOS (el simulador no tiene datos de movimiento y el control de la inclinación es manual)
¿Dónde consigo DuoLikeAnimation?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/elijah-semyonov/DuoLikeAnimation

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados