Сделал новогодние живые обои для Android
Привет всем и с наступающим всех Новым Годом!
Сегодня речь пойдет про живые обои для Android. Именно с них я начинал свой путь в мобильной разработке в далёком 2012 году. Уже тогда можно было создавать крутые 3D обои с использованием движка Unity. Со временем мода на Live Wallpaper поугасла, но вот буквально на днях мне захотелось узнать - реально ли сделать живые обои в Unity в 2025 году.
Ответ - да. Результат своего труда я выложил в RuStore:
Это 3D живые обои для создания новогоднего настроения)
Процесс создания живых обоев остался прежним - нужно эскпортировать Unity проект в Android Studio, поставив галочку Export Project в Build Settings. Лучше использовать Android Studio и Unity примерно одного года во избежание несовместимости.
Далее нужно добавить в AndroidManifest.xml службу для живых обоев и соотествующее Activity, унаследованное от WallpaperService. На github есть примеры всех файлов с настройками, которыми любезно поделился PavelDoGreat:
События из WallpaperService в Unity передаются через метод UnitySendMessage, где параметрами указывается название GameObject, название метода и параметр типа string. Даже если Вам нужно передать число или boolean - нужно конвертировать их в строку, а в Unity парсить из строки в соответсвующий тип данных.
Сами настройки обоев можно делать в Unity через Unity UI, отображая их когда обои находятся в режиме превью.
И самое главное: лучше написать свой лаунчер для установки обоев, т.к. не на всех моделях устройств живые обои можно установить средствами системы. Например в самсунговском One UI такой возможности нет. Нужен либо свой лаунчер, либо установить приложение Обои от Google, которое позволяет устанавливать живые обои.
Всем спасибо за внимание, вопросы приветствуются)