Библиотека Swift для разработки приложений на платформах Apple с согласованным управлением состоянием, композиционными функциями, контролем побочных эффектов и широкими возможностями тестирования.
elijah-semyonov/DuoLikeAnimation
Демо для iOS, в котором шейдеры SwiftUI Metal и Core Motion имитируют складывание iPhone и создают эффект матового стекла.
- Звёзды
- 158
- Форки
- 40
- Открытые issues
- 0
- Последний коммит
- в прошлом месяце
Что это?
DuoLikeAnimation — демо-проект для iOS, имитирующий складывание iPhone Duo с помощью только шейдеров SwiftUI и Core Motion. Слой Metal layerEffect получает данные о текущем положении устройства, поэтому плоский телефон выглядит так, будто складывается пополам.
Эффект превращает экран в панель из матового стекла. Интерфейс остаётся неподвижным в мировом пространстве, пока устройство наклоняется вокруг вертикальной оси. Шейдер проецирует изображение с учётом перспективы, размывает его и затемняет пропорционально расстоянию между стеклом и плоскостью интерфейса, а там, где лучи не попадают на интерфейс, отображает чёрный цвет. По умолчанию глаз зрителя моделируется на расстоянии 320 мм — как при просмотре телефона в руке.
В проект входят шейдер, модификатор SwiftUI с настраиваемыми параметрами, модель Core Motion, калибрующая положение с нулевым наклоном, и демонстрационное представление с панелью перекалибровки и ручного наклона. В симуляторе, где данные о движении недоступны, ручной наклон включён по умолчанию.
Ключевые возможности
- 01Шейдер Metal layerEffect выполняет перспективное перепроецирование, размытие и затемнение в зависимости от расстояния.
- 02Core Motion передаёт данные о положении устройства и калибрует положение с нулевым наклоном по первому измерению.
- 03Модификатор .foldEffect(angle:parameters:) предоставляет настраиваемые параметры.
- 04Во всплывающей панели доступны перекалибровка и ручное управление наклоном.
- 05В симуляторе ручное управление наклоном включено по умолчанию.
Сценарии использования
- Изучение написания шейдеров SwiftUI layerEffect с помощью Metal.
- Создание прототипов интерфейсных эффектов для складных устройств и 3D-наклона на iOS.
- Изучение того, как использовать данные о положении устройства из Core Motion для управления визуальными эффектами.
Быстрый старт
- 1
Откройте DuoLikeAnimation.xcodeproj в Xcode
- 2
Запустите приложение на устройстве iOS (в симуляторе нет данных о движении, поэтому наклон задаётся вручную)
Что важно знать
- Проект предназначен только для iOS. Для реального эффекта наклона требуется физическое устройство с датчиками движения.
- Это демонстрационный проект, а не библиотека для повторного использования.
Темы
Частые вопросы
- Что такое DuoLikeAnimation?
- Демо для iOS, в котором шейдеры SwiftUI Metal и Core Motion имитируют складывание iPhone и создают эффект матового стекла. DuoLikeAnimation — демо-проект для iOS, имитирующий складывание iPhone Duo с помощью только шейдеров SwiftUI и Core Motion. Слой Metal layerEffect получает данные о текущем положении устройства, поэтому плоский телефон выглядит так, будто складывается пополам.
- DuoLikeAnimation можно использовать бесплатно? Какая у него лицензия?
- DuoLikeAnimation распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- DuoLikeAnimation всё ещё поддерживается?
- Обновлялся за последние 6 месяцев. Последний коммит в DuoLikeAnimation — 11 сент. 2026 г..
- Для чего можно использовать DuoLikeAnimation?
- Изучение написания шейдеров SwiftUI layerEffect с помощью Metal. Создание прототипов интерфейсных эффектов для складных устройств и 3D-наклона на iOS. Изучение того, как использовать данные о положении устройства из Core Motion для управления визуальными эффектами.
- Как установить DuoLikeAnimation?
- Откройте DuoLikeAnimation.xcodeproj в Xcode Запустите приложение на устройстве iOS (в симуляторе нет данных о движении, поэтому наклон задаётся вручную)
- Где скачать DuoLikeAnimation?
- Исходный код и инструкции по установке — на GitHub: https://github.com/elijah-semyonov/DuoLikeAnimation
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Запускатель iOS-приложений, который запускает IPA внутри себя без установки и поддерживает несколько контейнеров данных для каждого приложения.
Нативный видеоклиент для iOS и tvOS, подключающийся к медиасерверу Jellyfin и написанный на Swift и SwiftUI.
Библиотека Airbnb для iOS, которая нативно отображает в реальном времени векторные анимации After Effects, экспортированные в формате bodymovin JSON.
Интеграция GitHub Copilot с Xcode: автодополнение кода, чат, режим агента и проверка кода в проектах на Swift и Objective-C.
Навык для AI-ассистентов разработчика, который учит Claude Code, Codex и другим инструментам писать современный и корректный код на SwiftUI.