В то время как macOS Monterey (также известный как macOS 12) предоставляет пользователям несколько новых функций, обновление также содержит значительные улучшения для разработчиков с новыми API-интерфейсами, которые открывают новые возможности для сторонних приложений. Одним из новых API-интерфейсов является «Захват объектов», который позволит пользователям легко создавать 3D-модели любого объекта с помощью камеры iPhone.
Apple уже некоторое время настаивает на внедрении технологий AR, но создание 3D-модели может оказаться для некоторых не самым простым делом в мире. Обычно вам нужны продвинутые камеры, чтобы делать 3D-снимки, а затем обрабатывать их все в специальном программном обеспечении. Но это изменится с выходом macOS Monterey и iOS 15.
Apple заявляет, что с помощью Object Capture API весь процесс захвата и рендеринга 3D-моделей займет всего несколько минут. Хотя в App Store еще нет приложения с этой новой функцией, Apple предоставляет несколько примеров того, как скомпилировать приложение с использованием этого нового API, и, конечно же, мне пришлось протестировать его сам.
Требования
Во-первых, вам понадобится iPhone или iPad с задней камерой с двумя объективами (и желательно сканером LiDAR, хотя и не обязательным) для захвата данных о глубине. Для этой демонстрации я использовал свой iPhone 12 Pro Max с бета-версией iOS 15. С помощью примера приложения, предоставленного Apple, мне пришлось сделать несколько изображений объекта под разными углами, чтобы затем API мог визуализировать 3D-объект на 360 градусов.
Для создания 3D-модели вам понадобится около 30 фотографий, но Apple рекомендует использовать гораздо больше, чтобы получить качественный результат. В реальной жизни у вас также должны быть оптимальные условия освещения, штатив и механизм для автоматического поворота объекта без изменения его положения. У меня их нет, поэтому, конечно, это повлияет на качество.
После съемки фотографий я отправил их на свой Mac под управлением macOS Monterey, чтобы затем визуализировать 3D-модель. Как только iOS 15 и macOS 12 станут общедоступными, появятся приложения, которые упростят этот процесс, но пока мне пришлось использовать другой образец кода, предоставленный Apple для этого шага.
API захвата объектов позволяет разработчикам и пользователям визуализировать объекты в низком или высоком качестве, и они могут выбирать, обрабатывать ли изображения последовательно или использовать ИИ для определения порядка каждого из них (что займет больше времени). Интересно, что Apple утверждает, что для этого API-интерфейса 3D-обработки требуется Intel Mac с 16 ГБ ОЗУ и графическим процессором AMD с объемом видеопамяти не менее 4 ГБ или просто любой Mac с чипом M1.
Результат
Через 3 минуты 43 секунды мой MacBook Air M1 начального уровня визуализировал 40 изображений в 3D-объект в формате USDZ, который широко используется для контента AR на устройствах Apple. В общей сложности процесс захвата изображений на iPhone и их рендеринга на Mac занял не более 10 минут.
Результат меня удивил. Как я уже сказал, у меня были далеко не идеальные условия при съемке фотографий, но API захвата объектов создал 3D-модель, которая выглядит очень реалистично. Вы можете увидеть сравнение с реальным объектом на видео ниже:
Меня поражает не только новый API Apple, но и тот факт, что и iPhone, и Apple Silicon Mac имеют достаточно мощное оборудование, позволяющее создавать такой контент.
Apple определенно работает над созданием нового мира дополненной реальности, и у компании уже есть все необходимое для этого. Я уверен, что новый Object Capture API не только упростит создание 3D-моделей, но и будет стимулировать внедрение дополненной реальности.
Дополнительные сведения о новом API захвата объектов см. В сеансе WWDC 2021 «Создание 3D-моделей с помощью захвата объектов».