- BrainTools - https://www.braintools.ru -

Из строителя в соло‑разработчики: как я за год создал мобильное приложение замены человека на 3D‑аватара

Меня зовут Владислав. По образованию и профессии я строитель — после получения диплома пошёл работать инженером на стройку, где и работаю по сей день (стаж более 12 лет). Я никогда не работал в IT и не писал код, но меня всегда тянуло к технологиям.

Всё началось с идеи, которая преследовала меня несколько лет:

Научить камеру телефона видеть человека и менять его на 3D‑персонажа.

С самого начала я понимал, что это очень сложный и глубоко технологичный проект, под который обычно нужна команда разработчиков и серьёзные бюджеты. Но летом 2025 года я узнал, что ИИ умеет писать код — не идеально, но достаточно хорошо и почти бесплатно. К октябрю я уже активно работал с Claude и другими моделями внутри Cursor.

Взяв в напарники ИИ‑ассистента, я приступил к работе. Спустя 12 месяцев бессонных ночей мое приложение Simulatra вышло в App Store и Google Play.

Из строителя в соло‑разработчики: как я за год создал мобильное приложение замены человека на 3D‑аватара - 1

Ниже — рассказ о том, как инженер‑строитель настроил локальный нейросетевой трекинг на смартфоне, с заменой человека на 3D персонажа и почему эпоха ИИ — это уже наше настоящее.

Проектирование
Как строитель, я привык к тому, что любая стройка начинается с проекта. Прежде чем писать код, я сформировал начальные требования к приложению.

1. Автономность. Никаких серверов. Гонять видеопоток в облако — дорого и неэффективно, а любые перебои с интернетом делали бы приложение бесполезным. Всё должно крутиться локально, на телефоне.

2. Комплектация. Трекинг тела, лица и рук. В идеале одновременный (был в проекте, но после множества тестов от него пришлось отказаться).

3. Визуал. Стопроцентное 3D — не картинки, не наклейки или псевдо-3D, а полноценное 3D из видеоигр.
Для себя я сразу определил приоритет: сначала отладить трекинг, потом — замена на аватара. Этапность работ: 1 — Трекинг; 2 — Аватары; 3 — Сайт; 4 — Платформа.

Этап 1. Компьютерное зрение [1] и локальный ИИ

Поскольку облачный инференс был отметён сразу, я погрузился в мир локальных нейросетей (Edge AI). Выбрать подходящую готовую архитектуру оказалось непросто. Поскольку у меня нет IT‑бэкграунда, на старте создания приложения я много советовался с ИИ‑ассистентом, он делал инструкции для всего, что я делаю. Именно он помог мне понять главное: чтобы человек в камере смартфона плавно и без задержек превращался в 3D‑персонажа, вся магия должна происходить с помощью нейросетей работающих локально прямо на телефоне.

Совсем кастомные нейронки‑трекеры я не испытывал, но несколько известных open‑source решений были протестированы досконально — MediaPipe, MoveNet, TensorFlow и YOLO (вес моделей варьировался от 1 МБ до 20 МБ). Углубляться в их разнообразие я не буду, скажу только, что существуют нейронки для распознавания текста, звука, движения и так далее, почти все они находятся в открытом доступе.

Полный идей, я пошел тестировать всё, до чего мог дотянуться: пробовал тяжелый TensorFlow, ковырял специализированный на позах MoveNet и популярную нейросеть Yolo. Каждую модель приходилось тестировать вручную, а на практике это означало проходку перед камерой телефона на штативе. Через несколько недель круг ИИ‑моделей сузился до нескольких от MediaPipe, которые сейчас отвечают за трекинг и являются частью финального пайплайна. Они идеально подошли для проекта: выдают отличную скорость и плавность.

Небольшое отступление: у меня была идея трекать и менять на 3D‑модели животных, машины, деревья и так далее. Но в процессе изучения темы стало ясно, что стабильный локальный 3D‑захват произвольных объектов в реальном времени — это пока экспериментальные технологии, которые текущее поколение мобильного железа и AR вряд ли потянут. Пришлось сфокусироваться исключительно на человеческой анатомии.

Этап 2. Привязка 3D‑персонажа к человеку

Это оказался самый большой и изнурительный этап, на который ушли вся весна и лето.

Нейросети выдают сырые координаты — перевёрнутые, отзеркаленные, смещённые и так далее. Они не предназначены для камеры и дисплея мобильных телефонов напрямую. Если передать такой трекинг в движок, то 3D‑персонаж не будет двигаться как человек. На этом этапе было набито огромное количество шишек: написана куча кода, фильтров сглаживания и алгоритмов. Тестирование превратилось в рутину, но, когда персонаж на экране смартфона наконец‑то начал двигаться вслед за мной — я понял, что — проект рабочий и получается именно так, как хотел.

От Android Studio к Unity

Изначально я пошёл по классическому пути мобильной разработки — открыл Android Studio. Логика [2] была простая: раз приложение мобильное, надо писать в родной среде, тем более у меня Android‑смартфон. Если получится на Android — на iOS разберусь потом. Почему не iOS первым? У меня тогда был только обычный ноутбук на Windows и китайский iQOO 11S; Mac и iPhone появились позже.
На архитектуру и первый рабочий прототип ушел месяц. Далее началась интеграция нейросетей. Но как только дело дошло до рендеринга полноценных 3D‑персонажей, работа со скелетом превратилась в бесконечные танцы с бубном. Android Studio и нативный SDK просто не созданы для высоконагруженного real‑time 3D со сложной анимационной логикой.

В декабре стало очевидно: проект зашел в тупик. Нужно было переносить все наработки на игровой движок. Из‑за высоких требований к производительности и жесткой привязки к ARCore и ARKit (интегрированные фреймворки дополненной реальности для Android и iOS) пришлось сразу отсечь поддержку старых устройств — комфортная работа приложения возможна на смартфонах, выпущенных после 2021–2022 годов.

Игровые движки

— Unreal Engine — эталон индустрии, кинематографичная графика, мощный инструмент для анимации. Но на практике оказался слишком тяжёлым: от 150 МБ размер сборки, в сравнении с Unity — 30–60 МБ. Для приложения, которому нужно быстро запуститься и прогонять через себя постоянный поток данных, это критично.

— Unity — для соло‑разработчика это единственный реальный движок для такого проекта. Android Studio не справляется с real‑time 3D. Unreal Engine слишком тяжёлый, а документации и примеров для мобильного AR в нём практически нет. Godot пока не дотягивает. Конечно, крупные компании могут сделать собственный движок под такие требования, но это уже совсем другая история. В итоге Unity дал всё, что мне было нужно, позволив сфокусироваться на главном — качестве захвата движения и синхронизации трекинга с персонажем.

Самое важное: Unity дал кроссплатформенность. Написав код один раз — получаешь проект, который одинаково собирается и под Android, и под iOS — пусть и со своими нативными частями.

На изучение Unity, пересборку архитектуры и повторную интеграцию нейросетей у меня ушло еще около двух месяцев.

Где взять 3D‑персонажей

Когда трекинг заработал, встал следующий вопрос: а где взять самих персонажей?
Сначала я попробовал несколько бесплатных моделей из открытых источников. Результат — разочарование. Именования костей не совпадали, оси были повёрнуты иначе, риг настроен под другие пайплайны. Персонажи оказывались перекошены, конечности выворачивались, а на подгонку каждой модели уходило непропорционально много времени. Через некоторое время от бесплатных моделей пришлось отказаться.

Важный момент — все известные персонажи мультфильмов, фильмов, игр и так далее находятся под защитой авторского права. Использовать их в коммерческом продукте бесплатно не получится.

На известном ресурсе я нашёл профессионального 3D‑художника и составил техническое задание на 10 листов, с точными требованиями к ригу. Благодаря детальному ТЗ приёмка моделей в основном проходила с первого раза. Через несколько дней я уже привязывал своих персонажей — с правильно настроенным ригом и осями — к скелету детекции.

К августу приложение наконец стало похоже на продукт: UI/UX, экраны настроек, меню выбора персонажей и калибровка. Обучался по ходу дела — через YouTube‑гайды, чтение документации и бесконечные сессии вопросов‑ответов со своим ИИ‑напарником.

Схема пайплайна:

[КАМЕРА СМАРТФОНА]

▼

┌─────────────────────────────────┐

│ Слой локального компьютерного зрения │

│ • Трекинг и детекция MediaPipe │

│ • Движок │

│ • AR/XR‑Интеграция │

└───────────────┬─────────────────┘

(Координаты в реальном времени)

▼

┌─────────────────────────────────┐

│ Драйвер, рендеринг, 3D‑модель │

│ • Apple ARKit (iOS) / Google ARCore (Android) │

│ • Шейдеры деформации │

│ • Скелетная анимация 3D │

└─────────────────────────────────┘

▼

[ЭКРАН СМАРТФОНА]

Производительность:

QOO 11S (Snapdragon 8 Gen 2): стабильные 32–35 FPS. Под нагрузкой корпус ощутимо греется через 5–10 минут работы, что ожидаемо из‑за постоянной работы нейросети параллельно с графическим рендерингом.

iPhone 16 Pro Max (Apple A18 Pro): выдает честные 56–60 FPS. Сказывается отличная оптимизация работы CoreML и графического API Metal.

Минимальные требования: Android 9+ | iOS 15+, 4 ГБ RAM. Для комфортной работы Android 11+ | iOS 16+ с 6 ГБ RAM или больше.

Подстава китайских производителей Android

Доля Android‑смартфонов с AR стремительно растет: на ноябрь 2026 года около 80% устройств поддерживают AR. Приложению на Android необходимы Сервисы Google Play для AR (на сертифицированных устройствах обычно уже установлены). Но есть один большой нюанс.

Китай выпускает кучу крутых телефонов со всеми наворотами, и почти все они есть в официальном списке Google (https://developers.google.com/ar/devices [3]) как поддерживающие AR. Однако на практике многие телефоны официально не сертифицированы — в коде стоит программная заглушка, а сами «Сервисы AR» не установлены. Так произошло с моим iQOO 11S (китайская версия), в списках модель есть, но из‑за отсутствия официальной сертификации телефон, при первом запуске приложения, потребовал «установить или обновить Сервисы Google Play для ARв магазине» чего с устройства сделать нельзя, так как телефон не видит AR‑приложения в сторе. Мне пришлось скачивать «Сервисы» на ПК и устанавливать на телефон через кабель. Только после этого камера приложения начала работать. Сейчас, когда приложение уже опубликовано, при заходе с этого «китайца» в Google Play я его предсказуемо не вижу и не могу скачать. На сайте будет добавлена возможность скачать apk файл приложения, но нужно будет пройти квест с установкой «Сервисов».

Перед покупкой Android смартфона лучше выяснить заранее про официальную поддержку AR.

Аккаунт разработчика

Создать аккаунт разработчика из России сейчас — задача на грани невозможного. Банковские карты, проверки документов, адреса регистрации — система отсекает заявки на дальних подступах, а покупать сомнительный акк, который могут забанить и без каких‑либо гарантий, показалось мне слишком рискованной идеей.

Выход нашелся благодаря близкому другу (он работает системным администратором в другой стране). Мы юридически зафиксировали наши договоренности, он вошел в проект в качестве технического сооснователя, взял на себя публикацию приложения под своим аккаунтом и сейчас помогает мне настраивать серверную инфраструктуру под будущие фичи.

В сентябре я начал готовиться к публикации в сторах. Подготовка скриншотов, описаний, «политика» и «условия», сборка релизных билдов — отдельное приключение. Сам процесс ревью преподнес сюрпризы:

Apple App Store проверил приложение быстрее. Ревьюер задал несколько уточняющих вопросов по функционалу, отклонил первый билд из‑за описания, но уже со второй попытки приложение одобрили. Google Play необходимо пройти обязательный 14-дневный марафон закрытого тестирования (с привлечением 12 тестеров). Зато опыт [4] общения с цензорами Apple помог мне отточить текстовое описание, и ревью Google Play пройдено с первой попытки. Для приложения, написанного соло‑разработчиком без опыта в IT, это было приятной неожиданностью.

Публикация
Релиз немного затянулся: в App Store приложение вышло 19 октября, а в Google Play 31. Проверка в App Store проходит быстрее и требования к публикации мягче.

Что доступно на старте

— Полностью бесплатный функционал. Скачиваешь, выбираешь аватара — танцуешь, прыгаешь перед камерой, шевелишь пальцами, снимаешь и делишься. Всё работает локально, без серверов и подписок. Это проверка технологии на прочность.

— В одной из следующих версий — платформа/маркетплейс моделей и подписка Pro. Внутри приложения появится магазин с готовыми и настроенными под трекинг 3D‑персонажами, которых можно будет скачать в один клик. А со временем — загружать собственных или покупать у других 3D‑художников на платформе.

Для тех, кому нужен рабочий инструмент, — сетевой стриминг в Unreal Engine, Unity и Blender, а также экспорт анимации в GLB, FBX и BVH. Инструменты уже реализованы, но будут доступны в одной из следующих версий.

Трекинг отлично работает при слабом освещении

Трекинг отлично работает при слабом освещении

Этап 3. Сайт

Задача, стартовавшая летом. Это тема для отдельного поста — здесь речь только о приложении. Сейчас сайт — это больше презентация технологии. Посмотреть — https://simulatra.com [5]

Этап 4. Платформа и фичи

Внешняя обвязка приложения: серверная часть и различные фичи для индустрии. На платформе можно будет выбирать и делиться 3D‑персонажами, публиковать своих аватаров и устанавливать в приложение. MoCap‑стриминг и экспорт анимации появятся в одной из следующих версий. Этот этап пока в разработке и настройке.

Попробовать приложение:

App Store — https://apps.apple.com/app/simulatra/id6807015089 [6]

Google Play — https://play.google.com/store/apps/details?id=com.simulatra.app [7]

Вместо заключения

ИИ размыл границы между профессиями. Если у вас есть идея, которая не даёт покоя — попробуйте.

Будучи соло‑разработчиком, без опыта в IT, я испытываю одновременно страх [8] и воодушевление.

Спасибо, что дочитали. Рад ответить на вопросы в комментариях.

Автор: Vladislav_True

Источник [9]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/38105

URLs in this post:

[1] зрение: http://www.braintools.ru/article/6238

[2] Логика: http://www.braintools.ru/article/7640

[3] https://developers.google.com/ar/devices: https://developers.google.com/ar/devices

[4] опыт: http://www.braintools.ru/article/6952

[5] https://simulatra.com: https://simulatra.com

[6] https://apps.apple.com/app/simulatra/id6807015089: https://apps.apple.com/app/simulatra/id6807015089

[7] https://play.google.com/store/apps/details?id=com.simulatra.app: https://play.google.com/store/apps/details?id=com.simulatra.app

[8] страх: http://www.braintools.ru/article/6134

[9] Источник: https://habr.com/ru/articles/1104360/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1104360

www.BrainTools.ru

Rambler's Top100