Создать 3d изображение: Как сделать 3D фотографию из любого изображения

Как сделать 3D фотографию из любого изображения

16 августа 2011Сделай самФото

Хотите сделать свои фотографии действительно необычными? Сделайте их трехмерными! И вы сможете рассматривать их бесконечно! Вам понадобятся несложные инструменты: 3D очки, Photoshop или GIMP.

Поделиться

0

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

Часть первая. Для новичков: простой 3D эффект

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

Использовать можно любое изображение, но вам обязательно нужно перейти в режим RGB Color. Если вы находитесь в режиме Grayscale, Indexed Color или CMYK, то нужно перейти в RGB (Photoshop: Image > Mode > RGB Color).

Примечание: Этот метод подходит для тех редакторов изображений, которые позволяют возиться с цветовыми каналами, например, Photoshop или GIMP. Photoshop Elements и Paint.NET не позволяют применять данный метод редактирования фото.

Для начала сделайте несколько копий фотографии (левый скриншот). Самый простой способ сделать это — кликнуть правой клавишей на «Background Layer» и нажать «Duplicate Layer». Сделав 2 копии, выберите верхнюю и перейдите на панель каналов. Увидеть её можно, нажав Window > Channels. В панели каналов выберите Red channel, как это показано на правом скриншоте.

Нажмите Ctrl+A (и в Photoshop, и в GIMP), чтобы выделить весь холст полностью. Фото должно получиться в серых тонах, если ваше фото выглядит, как на рисунке, значит вы движетесь в верном направлении.

Нажмите V, чтобы выбрать Move Tool (в GIMP нажмите М), и переместите слой красного канала влево, как показано на рисунке.

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

У GIMP похожие инструменты в Toolbox, почти как в Photoshop.

В Photoshop CS5 сочетание клавиш Ctrl+2 вернет вас в режим RGB. В других версиях просто вернитесь к панели слоёв и выберите новый активный слой. На этом можно остановиться, так как вы уже получили достойное 3D изображение, но можно ещё немного поработать и добавить ему глубины.

Часть вторая. Добавьте глубины вашей фотографии

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

Создайте маску, как показано на скриншоте справа, выбрав слой и кликнув на кнопку вверху панели слоёв. В GIMP кликните правой клавишей по слою и выберите «Add Layer Mask» и «White for Full Opacity».

Используйте soft brush для маскировки некоторых областей в верхнем слое. Цель — вернуть часть фона к исходному виду.

Вот фото до и после. В слое с 3D эффектом фон из слоя без 3D эффекта.

На картинке вы можете увидеть, как выглядит маска.

Теперь переходим к самому нижнему слою и отредактируем его. Выберем для этого слоя красный канал.

А теперь совершим похожие действия. Выделим весь холст (Ctrl+A), но применим немного другой эффект к фону.

Клавишами Ctrl+T выберем функцию «Free Transform». И свободно изменим слой красного канала. Можно искажать, увеличивать, вращать, в общем, нужно сделать так, чтобы передний план и фон отличались друг от друга.

В GIMP этот инструмент называется «Scale Tool», горячие клавиши: Shift + T.

Вот и всё! Фотография готова. Надевайте 3D очки и наслаждайтесь результатом! А если у вас их нет, то смотрите видео на Youtube о том, как сделать 3D очки самостоятельно.

3D объект из плоской картинки в фотошопе.

Содержание

быстрая навигация по статье

  • #1. Подготовка изображения с объектом
  • #2. Создание 3D объекта из изображения
  • #3. Подгоняем 3D объект под фоновое изображение
  • #4. Раздувание объекта с обеих сторон
  • Посмотреть видео-урок

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

    1. Подготовка изображения с объектом

    Для работы я нагуглил изображение жука, которого в народе называют «божьей коровкой», вид изображение я подбирал специально сверху. Объект на изображении должен быть именно плоским, то есть находиться в одной плоскости. Если изображение чуть сбоку, там чуть снизу и тому подобное, то оно не подойдет!

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

    Теперь необходимо данный объект вырезать с фона, в данном случае это сделать просто, с помощью инструмента «волшебный ластик». Выбираем данный инструмент и кликаем по белому фону.

    Теперь давайте немного уменьшим наш объект, для того чтобы было удобнее с ним в 3d работать и что бы вам было всё видно. Выберем в верхнем меню «Редактирование» — «Свободное трансформирование» и настроим нужный нам размер объекта.

    2. Создание 3D объекта из изображения

    При выделенном слое с объектом выбираем в верхнем меню «3d» — «новая 3d экструзия из выделенного слоя», нажимаем «да» и photoshop переключает нас в 3d редактор.

    Здесь, как мы видим, у нас уже произошло выдавливание. В панели справа можно увидеть «глубину экструзии».

    Мы убавим значение глубины экструзии до минимума и отключим тени, потому что наш 3d объект будет накладываться на какой-то коллаж и тени мы там сами сможем дорисовать.

    Далее, в наборе фигур, нам необходимо выбрать «раздувание». Называется оно «Раздувание в виде подушки». Кликаем и смотрим, сразу же у нас получается вот такой 3d объект.

    Здесь, как мы видим, текстуры у него что сверху, что снизу — одинаковые, но нам это не важно, потому что жук у нас будет все равно ползти на брюхе и нижние текстуры будет не видно. Даже если что-то там, где-то и будет видно, то это всегда можно подкрасить.

    Теперь надо его доработать, потому что «божья коровка» слишком плоской получилась. Мы переходим вот в эту вот вкладку, которая называется «Капитель» и здесь устанавливаем стороны, которые мы будем раздувать. Вместо значения «Спереди и сзади» устанавливаем «Спереди» и настраиваем угол с интенсивностью.

    Угол мы поставим на 90 градусов и интенсивность выставим на глаз, вот такой жук у нас получился.

    Ну и теперь ее можно поставить на какую-то композицию, допустим, на цветок и отрендерить. Нажимаем «3d» — «рендеринг слоя» и ждем.

    Объект отрендерился и теперь мы можем посмотреть что получилось. Если мы перейдем во вкладку «слои» и преобразуем этот 3d слой в смарт-объект, то увидим, что у нас вот такой вот жук получился на прозрачном фоне.

    3. Подгоняем 3D объект под фоновое изображение

    Давайте рассмотрим на примере, как посадить этого жука, допустим, на цветок. Я взял изображение цветка и с жуком мы проделываем все то же самое, что и при подготовке к 3d. То есть, снимаем блокировку слоя, удаляем задний фон инструментом «Волшебный ластик» и перетаскиваем его на это изображение с цветком. Далее настраиваем нужный размер насекомого «Свободным трансформированием». Размер можно будет подогнать и потом, я пока что оставлю вот такой размер, чтобы было удобно работать, а в дальнейшем еще немного уменьшу.

    При выделенном слое с жуком выбираем в верхнем меню «3d» — «новая экструзия», опять же выбираем «раздувание», убираем тени, настраиваем интенсивность и угол. Вообщем все тоже самое, что и делали до этого. Таким образом мы просто подгоняем под фон 3D объект. Оставим примерно вот такое положение.

    Ну и далее выбираем в верхнем меню «3d», делаем рендеринг, затем переходим во вкладку «слои» и преобразуем наш 3d объект в смарт-объект. В результате получаем вот такое изображение.

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

    4. Раздувание объекта с обеих сторон

    Как видите, достаточно просто из плоской картинки раздуть какой-то 3d объект. Теперь рассмотрим немного другой пример — это раздувание с обеих сторон. Мы жука раздували только сверху, рассмотрим вот такой объект, как груша и проделываем то же самое, то есть снимаем блокировку слоя, вырезаем грушу с нашего фона, так же немного уменьшаем, так же делаем «3d» — «новая 3d экструзия из выделенного слоя». У нас получается вот такой вот объект.

    Опять же убираем все тени и выбираем «Раздувание в виде подушки». У нас получается объект, переходим опять во вкладку «накопитель» и здесь мы оставляем спереди и сзади стороны, настраиваем угол на 90 и интенсивность прибавляем. Смотрим чтобы у нас груша была такая, пропорциональная, не плоская.

    Вот таким образом, мы сделали 3d грушу, которую так же можно использовать в каком-нибудь коллаже. Таким вот лёгким способом вы можете разнообразить свои работы какими-нибудь простыми 3d объектами.

    Поделиться:

    Создание 3D-моделей с помощью захвата объектов — WWDC21 — Видео

    Скачать

    ♪ Играет басовая музыка ♪ ♪ Майкл Патрик Джонсон: Привет! Меня зовут Майкл Патрик Джонсон, и я инженер в команде захвата объектов.

    Сегодня мы с моим коллегой Дэйвом Маккинноном покажем вам, как превращать объекты реального мира в 3D-модели с помощью нашего нового API фотограмметрии в macOS.

    Возможно, вы уже знакомы с созданием приложений дополненной реальности с использованием наших фреймворков ARKit и RealityKit.

    Возможно, вы также использовали Reality Composer и Reality Converter для создания 3D-моделей для дополненной реальности.

    А теперь, с помощью Object Capture API, вы можете легко превращать изображения реальных объектов в подробные 3D-модели.

    Допустим, перед вами на кухонном столе лежит свежеиспеченная пицца.

    Выглядит аппетитно, правда? Предположим, мы хотим запечатлеть пиццу на переднем плане в виде 3D-модели.

    Обычно вам нужно нанять профессионального художника на много часов для моделирования формы и текстуры.

    Но, подождите, ведь вы испекли его в собственной духовке всего за несколько минут! С Object Capture вы начинаете фотографировать свой объект со всех сторон.

    Затем вы копируете изображения на Mac, который поддерживает новый API захвата объектов.

    С помощью технологии компьютерного зрения, называемой «фотограмметрия», стопка 2D-изображений превращается в 3D-модель всего за несколько минут.

    Выходная модель включает в себя как геометрическую сетку, так и различные карты материалов, и готова для добавления прямо в ваше приложение или просмотра в AR Quick Look.

    Теперь давайте рассмотрим каждый из этих шагов более подробно.

    Сначала вы фотографируете свой объект со всех сторон.

    Изображения можно делать на iPhone или iPad, цифровую зеркальную камеру или даже дрон.

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

    Мы предоставим рекомендации по захвату позже в ходе сеанса.

    Если вы снимаете на iPhone или iPad, мы можем использовать данные стереофонической глубины с поддерживаемых устройств, чтобы позволить восстановить фактический размер объекта, а также вектор гравитации, чтобы ваша модель автоматически создавалась с правой стороны.

    После того, как вы создали папку с изображениями, вам нужно скопировать их на свой Mac, где вы сможете использовать API захвата объектов, чтобы превратить их в 3D-модель всего за несколько минут.

    API поддерживается на последних компьютерах Mac на базе процессоров Intel, но будет работать быстрее всего на всех новейших компьютерах Apple Silicon Mac, поскольку мы можем использовать Apple Neural Engine для ускорения наших алгоритмов компьютерного зрения.

    Мы также предоставляем HelloPhotogrammetry — пример приложения командной строки, которое поможет вам начать работу.

    Вы также можете использовать его непосредственно в папке с изображениями, чтобы попытаться построить модель для себя, прежде чем писать какой-либо код.

    Наконец, вы можете просмотреть выходные модели USDZ прямо на своем Mac.

    Мы можем предоставить модели с четырьмя уровнями детализации, оптимизированными для различных вариантов использования, которые мы подробнее обсудим позже.

    Уменьшенные, средние и полные детали готовы к использованию прямо из коробки, как пицца, показанная здесь.

    Raw предназначен для пользовательских рабочих процессов.

    Выбрав вывод USDZ на среднем уровне детализации, вы сможете просмотреть новую модель в AR Quick Look прямо на своем iPhone или iPad.

    Вот и все, что нужно для создания реалистичных объектов, оптимизированных для дополненной реальности! О, подождите, помните пиццу раньше? Мы должны признаться.

    Это изображение на самом деле не было фотографией, оно было создано с помощью захвата объектов на нескольких пиццах.

    Затем эти модели были объединены в эту сцену в инструменте постобработки и визуализированы с использованием трассировки лучей с расширенными картами материалов.

    Как видите, Object Capture может поддерживать различные целевые варианты использования, от приложений дополненной реальности на iPhone или iPad до готовых к съемкам производственных материалов.

    В оставшейся части этого занятия мы покажем вам, как начать работу с API захвата объектов, а затем предложим наши передовые методы для достижения результатов высочайшего качества.

    В разделе «Начало работы» мы более подробно рассмотрим API захвата объектов и представим основные концепции кода для создания приложения.

    Далее мы обсудим передовые методы захвата изображений, выбора объектов и выбора уровня детализации.

    Начнем с основных этапов использования API в macOS.

    В этом разделе вы узнаете об основных компонентах API захвата объектов и о том, как их объединить.

    Допустим, у нас есть новые крутые кроссовки, которые мы хотим превратить в 3D-модель для просмотра в дополненной реальности.

    Здесь мы видим графическую схему основного рабочего процесса, который мы рассмотрим в этом разделе.

    В этом процессе есть два основных шага: Настройка, когда мы указываем на наш набор изображений объекта; а затем процесс, где мы запрашиваем создание моделей, которые мы хотим построить.

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

    Как только у нас будет действительный сеанс, мы можем использовать его для создания наших моделей.

    Первое, что нам нужно сделать, это создать PhotogrammetrySession.

    Для создания сеанса предположим, что у вас уже есть папка с изображениями объекта.

    Мы предоставили несколько примеров папок захвата изображений в документации по API, чтобы вы могли быстро приступить к работе.

    PhotogrammetrySession — это основной класс верхнего уровня в API и главная точка управления.

    Сеанс можно рассматривать как контейнер для фиксированного набора изображений, к которым будут применяться алгоритмы фотограмметрии для создания итоговой 3D-модели.

    Здесь у нас есть 123 изображения кроссовок HEIC, сделанные с помощью iPhone 12 Pro Max.

    В настоящее время существует несколько способов указать набор используемых изображений.

    Самый простой — это просто URL-адрес файла в каталоге изображений.

    Сеанс будет принимать их один за другим и сообщать обо всех возникших проблемах.

    Если в изображения HEIC встроены данные о глубине, они будут автоматически использоваться для восстановления фактического масштаба объекта.

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

    PhotogrammetrySample включает изображение и другие необязательные данные, такие как карта глубины, вектор силы тяжести или пользовательская маска сегментации.

    После того, как вы создали сессию из источника ввода, вы будете делать запросы на реконструкцию модели.

    Сеанс будет выводить результирующие модели, а также сообщения о состоянии в своем потоке выходных сообщений.

    Теперь, когда мы узнали, что такое сеанс, давайте посмотрим, как его создать с помощью API.

    Здесь мы видим код для выполнения первоначальной настройки сеанса из папки изображений.

    Сеанс PhotogrammetrySession находится в среде RealityKit.

    Сначала мы указываем входную папку как URL-адрес файла.

    Здесь мы предполагаем, что у нас уже есть папка на локальном диске, содержащая изображения наших кроссовок.

    Наконец, мы создаем сеанс, передавая URL-адрес в качестве источника ввода.

    Инициализатор выдаст ошибку, если путь не существует или не может быть прочитан.

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

    Это все, что нужно для создания сеанса! Теперь, когда мы успешно создали объект сеанса, нам нужно подключить выходной поток сеанса, чтобы мы могли обрабатывать сообщения по мере их поступления.

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

    Мы используем AsyncSequence — новую функцию Swift в этом году — для обеспечения потока выходных данных.

    Выходные сообщения включают результаты запросов, а также сообщения о состоянии, такие как обновления хода выполнения.

    Как только мы выполним первый вызов процесса, сообщения начнут поступать в выходной поток сообщений.

    Последовательность выходных сообщений не завершится, пока сессия активна.

    Он будет продолжать выдавать сообщения до тех пор, пока сессия не будет деинициализирована или в случае фатальной ошибки.

    Теперь давайте подробнее рассмотрим типы сообщений, которые мы будем получать.

    После выполнения запроса мы ожидаем периодического получения сообщений requestProgress с оценкой доли выполненных запросов для каждого запроса.

    Если вы создаете приложение, которое вызывает API захвата объектов, вы можете использовать их для управления индикатором выполнения для каждого запроса, чтобы указать статус.

    После обработки запроса мы получаем сообщение requestComplete, содержащее результирующую полезную нагрузку, например модель или ограничивающую рамку.

    Если во время обработки что-то пошло не так, вместо этого для этого запроса будет выведена ошибка requestError.

    Для удобства после завершения обработки всех запросов в очереди выводится сообщение processingComplete.

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

    Получив это, мы посмотрим, как запросить модель.

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

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

    Мы используем цикл «for try await» для асинхронного перебора сообщений в session.outputs по мере их поступления.

    Основная часть кода — это диспетчер сообщений, который включает вывод сообщения.

    Вывод представляет собой перечисление с различными типами сообщений и полезной нагрузкой.

    Каждый оператор case будет обрабатывать отдельное сообщение.

    Давайте пройдемся по ним.

    Во-первых, если мы получим сообщение о ходе выполнения, мы просто распечатаем значение.

    Обратите внимание, что мы получаем сообщения о ходе выполнения каждого запроса.

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

    Сейчас мы увидим, как сделать такой запрос.

    Если запрос не выполнен из-за ошибки фотограмметрии, вместо этого мы получим сообщение об ошибке.

    После завершения обработки всего набора запросов от вызова процесса генерируется сообщение processingComplete.

    Для приложения командной строки здесь можно выйти из приложения.

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

    Вот и все для обработки сообщений! Эта задача обработки сообщений будет продолжать повторять и обрабатывать сообщения асинхронно до тех пор, пока существует сеанс.

    Хорошо, давайте посмотрим, где мы находимся в нашем рабочем процессе.

    Мы полностью завершили этап установки и готовы к работе.

    Теперь мы готовы делать запросы на обработку моделей.

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

    Существует три различных типа данных, которые вы можете получить из сеанса: ModelFile, ModelEntity и BoundingBox.

    Эти типы имеют связанный регистр в перечислении Request: modelFile, modelEntity и bounds; каждый с разными параметрами.

    Запрос modelFile является наиболее распространенным, и именно его мы будем использовать в нашем основном рабочем процессе.

    Вы просто создаете запрос modelFile, указав URL-адрес файла с расширением USDZ, а также уровень детализации.

    Существует необязательный параметр геометрии для использования в интерактивном рабочем процессе, но здесь мы его использовать не будем.

    Для более сложных конвейеров постобработки, где могут потребоваться выходные форматы USDA или OBJ, вместо этого можно указать URL выходного каталога вместе с уровнем детализации.

    Затем сеанс запишет файлы USDA и OBJ в эту папку вместе со всеми упомянутыми активами, такими как текстуры и материалы.

    Приложение с графическим интерфейсом также может запрашивать RealityKit ModelEntity и BoundingBox для интерактивного предварительного просмотра и уточнения.

    Запрос modelEntity также принимает уровень детализации и необязательную геометрию.

    Запрос границ вернет расчетный объем захвата BoundingBox для объекта.

    Это поле можно настроить в пользовательском интерфейсе, а затем передать в аргументе геометрии последующего запроса на настройку объема реконструкции.

    Чуть позже мы увидим, как это работает.

    Большинство запросов также имеют уровень детализации.

    Уровень предварительного просмотра предназначен только для интерактивных рабочих процессов.

    Очень низкое визуальное качество, но создается быстрее всего.

    Основные уровни детализации в порядке возрастания качества и размера: «Уменьшенный», «Средний» и «Полный».

    Все эти уровни готовы к использованию прямо из коробки.

    Кроме того, уровень Raw предназначен для профессионального использования, и для его правильного использования потребуется рабочий процесс постобработки.

    Мы обсудим это более подробно в разделе передового опыта.

    Хорошо, теперь, когда мы увидели, какие типы запросов мы можем делать, давайте посмотрим, как это сделать в коде.

    Теперь мы увидим, как одновременно сгенерировать две модели за один вызов, каждая с другим именем выходного файла и уровнем детализации.

    Здесь мы видим первый вызов процесса в сеансе.

    Обратите внимание, что он принимает массив запросов.

    Так мы можем запросить сразу две модели.

    Мы запросим одну модель с пониженным уровнем детализации и одну со средним уровнем детализации, каждая из которых будет сохранена в отдельный файл USDZ.

    Одновременный запрос всех желаемых уровней детализации для захвата объекта в одном вызове позволяет движку совместно выполнять вычисления и создавать все модели быстрее, чем их последовательный запрос.

    Вы даже можете запросить все уровни детализации одновременно.

    Процесс может немедленно выдать ошибку, если запрос недействителен, например, если невозможно записать местоположение вывода.

    Этот вызов возвращается немедленно, и вскоре в выходном потоке начнут появляться сообщения.

    И это конец основного рабочего процесса! Вы создаете сеанс с вашими изображениями, подключаете поток вывода, а затем запрашиваете модели.

    Время обработки каждой из ваших моделей будет зависеть от количества изображений и уровня качества.

    После завершения обработки вы получите выходное сообщение о том, что модель доступна.

    Вы можете открыть полученный файл USDZ кроссовок, которые вы создали, прямо на вашем Mac и просмотреть результаты в 3D под любым углом, включая низ.

    Позже в этом сеансе мы покажем вам, как добиться охвата всех сторон вашего объекта за один сеанс захвата, избегая необходимости объединять несколько захватов вместе.

    Отлично выглядит! Теперь, когда вы ознакомились с основным рабочим процессом, мы дадим общий обзор более сложного интерактивного рабочего процесса, который также поддерживает API захвата объектов.

    Интерактивный рабочий процесс позволяет внести несколько корректировок в предварительную модель перед окончательной реконструкцией, что может устранить необходимость редактирования модели после производства и оптимизировать использование памяти.

    Во-первых, обратите внимание, что этап настройки и этап обработки на обоих концах этого рабочего процесса такие же, как и раньше.

    Вы все равно создадите сеанс и подключите выходной поток.

    Вы также будете запрашивать окончательные модели, как и раньше.

    Однако обратите внимание, что мы добавили блок в середине, где представлен трехмерный пользовательский интерфейс для интерактивного редактирования модели предварительного просмотра.

    Этот процесс повторяется до тех пор, пока вы не будете удовлетворены предварительным просмотром.

    Затем вы можете продолжить делать окончательные запросы модели, как и раньше.

    Сначала вы запрашиваете предварительную модель, указав запрос модели с уровнем детализации предварительного просмотра.

    Модель для предварительного просмотра имеет низкое визуальное качество и создается максимально быстро.

    Вы можете запросить файл модели и загрузить его самостоятельно или напрямую запросить объект RealityKit ModelEntity для отображения.

    Как правило, одновременно выполняется запрос границ для предварительного просмотра и редактирования тома захвата.

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

    Вы также можете настроить корневое преобразование для масштабирования, перемещения и поворота модели.

    Свойство геометрии запроса, которое мы видели ранее, позволяет предоставить объем захвата и относительное корневое преобразование до создания модели.

    Выводит 3D-модель, готовую к использованию.

    Давайте посмотрим на этот процесс в действии.

    Здесь мы видим пример интерактивного приложения захвата объектов, которое мы создали с помощью API для демонстрации этого интерактивного рабочего процесса.

    Сначала выбираем папку Images, содержащую изображения декоративного камня, а также выходную папку, куда будет записан итоговый USDZ.

    Затем мы нажимаем «Предварительный просмотр», чтобы запросить предварительную модель и предполагаемый объем захвата.

    По прошествии некоторого времени появляется предварительная модель нашей скалы и ее объем захвата.

    Но предположим, что нам нужна только верхняя часть скалы на выходе, как если бы нижняя часть находилась под землей.

    Мы можем настроить ограничивающую рамку, чтобы избежать реконструкции нижней части модели.

    Когда мы довольны, мы нажимаем Refine Model, чтобы создать новый предварительный просмотр, ограниченный этим измененным томом захвата.

    Это также оптимизирует выходную модель только для этой части.

    Когда уточненная модель будет готова, появится новый предварительный просмотр.

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

    Это полезно для удаления ненужных элементов в кадре, таких как пьедестал, удерживающий объект.

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

    Через некоторое время полная детальная модель будет завершена и заменит предварительную модель.

    Теперь мы можем видеть полную детализацию реальной модели, которая выглядит великолепно.

    Модель сохраняется в выходном каталоге и готова к использованию без необходимости какой-либо дополнительной постобработки.

    Вот и все, что нужно для начала работы с новым API захвата объектов.

    Мы видели, как создать сеанс из источника ввода, такого как папка с изображениями.

    Мы увидели, как подключить асинхронный поток вывода для отправки сообщений.

    Затем мы увидели, как одновременно запрашивать две модели с разным уровнем детализации.

    Наконец, мы описали интерактивный рабочий процесс на примере приложения RealityKit GUI для ObjectCapture.

    Теперь я передам слово моему коллеге Дэйву Маккиннону, который расскажет о лучших методах захвата объектов.

    Дэйв Маккиннон: Спасибо, Майкл.

    Привет, меня зовут Дэйв Маккиннон, я инженер, работающий в группе захвата объектов.

    В следующем разделе мы расскажем о передовых методах, которые помогут вам достичь результатов высочайшего качества.

    Сначала мы рассмотрим советы и рекомендации по выбору объекта с нужными характеристиками.

    Затем последовало обсуждение того, как контролировать условия окружающей среды и камеру, чтобы получить наилучшие результаты.

    Далее мы рассмотрим, как использовать приложение CaptureSample.

    Это приложение позволяет делать снимки в дополнение к данным о глубине и гравитации, чтобы восстановить истинный масштаб и ориентацию вашего объекта.

    Мы иллюстрируем использование этого приложения как для захвата с руки, так и для захвата с поворотного стола.

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

    Первое, что нужно учитывать при сканировании, — это выбрать объект с нужными характеристиками.

    Для достижения наилучших результатов выберите объект с достаточной детализацией текстуры.

    Если объект содержит бестекстурные или прозрачные области, на результирующем скане может отсутствовать детализация.

    Кроме того, старайтесь избегать объектов с сильно отражающими областями.

    Если объект отражающий, вы получите наилучшие результаты, рассеивая свет при сканировании.

    Если вы планируете переворачивать объект во время захвата, убедитесь, что он жёсткий и не меняет форму.

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

    Сейчас мы продемонстрируем типичный процесс сканирования.

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

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

    Если вы хотите реконструировать нижнюю часть объекта, переверните его и продолжайте снимать изображения.

    При съемке старайтесь максимально увеличить часть поля зрения, захватывающую объект.

    Это помогает API восстанавливать как можно больше деталей.

    Один из способов сделать это — использовать портретный или ландшафтный режим в зависимости от размеров и ориентации объекта.

    Также старайтесь поддерживать высокую степень перекрытия между изображениями.

    В зависимости от объекта от 20 до 200 изображений крупным планом должно быть достаточно для получения хороших результатов.

    Чтобы помочь вам начать снимать высококачественные фотографии с глубиной и гравитацией на iOS, мы предоставляем приложение CaptureSample.

    Это можно использовать в качестве отправной точки для ваших собственных приложений.

    Написан на SwiftUI и является частью документации для разработчиков.

    Это приложение демонстрирует, как делать высококачественные фотографии для захвата объектов.

    Имеет ручной режим и режим затвора по времени.

    Вы также можете изменить приложение для синхронизации с проигрывателем.

    В нем показано, как использовать iPhone и iPad с двойной камерой для сбора данных о глубине и встраивания их прямо в выходные файлы HEIC.

    Приложение также показывает, как сохранять данные гравитации.

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

    Папки Capture сохраняются в папке «Документы» приложения, откуда их легко скопировать на Mac с помощью iCloud или AirDrop.

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

    Вы также можете найти эту информацию в документации для разработчиков.

    Мы рекомендуем захват поворотного стола, чтобы получить наилучшие возможные результаты.

    Чтобы начать работу, вам понадобится установка, как у нас.

    Содержит устройство iOS для захвата, но вы также можете использовать цифровую зеркальную фотокамеру; механический поворотный стол для вращения объекта; несколько осветительных панелей в дополнение к легкой палатке.

    Цель состоит в том, чтобы обеспечить равномерное освещение и избежать резких теней.

    Для этого подойдет легкая палатка.

    В этом случае приложение CaptureSample захватывает изображения, используя режим синхронизированного затвора, синхронизированный с движением поворотного стола.

    Мы также можем перевернуть объект и сделать несколько проходов поворотным столом, чтобы захватить объект со всех сторон.

    Вот результирующий файл USDZ из захвата поворотного стола, показанного в предварительном просмотре на macOS.

    Теперь, когда мы рассмотрели советы и рекомендации по захвату изображений, давайте перейдем к нашему последнему разделу о том, как выбрать правильный выход.

    Для сканирования доступно множество различных настроек детализации вывода.

    Давайте посмотрим.

    Вот таблица уровней детализации.

    Поддерживаемые уровни показаны слева.

    Уменьшенный и Средний оптимизированы для использования в Интернете и на мобильных устройствах, таких как просмотр 3D-контента в AR Quick Look.

    Они имеют меньше треугольников и материальных каналов и, следовательно, потребляют меньше памяти.

    Модели Full и Raw предназначены для высокопроизводительного интерактивного использования, такого как компьютерные игры или рабочие процессы постпродакшна.

    Они имеют высочайшую геометрическую детализацию и позволяют выбирать между обожженными и необожженными материалами.

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

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

    Оба уровня детализации, «Пониженный» и «Средний», содержат каналы материала PBR диффузного, нормального и окружающего затенения.

    Если вы хотите отобразить один скан с высокой детализацией, Medium максимизирует качество по отношению к размеру файла, чтобы дать вам больше геометрических и материальных деталей.

    Однако, если вы хотите отобразить несколько сканов в одной и той же сцене, вам следует использовать параметр «Пониженная детализация».

    Если вы хотите узнать больше о том, как использовать Object Capture для создания мобильных или веб-приложений дополненной реальности, см. сеанс «AR Quick Look, знакомство с Object Capture».

    Экспорт с полным выходным уровнем — отличный выбор для профессиональных рабочих процессов.

    В этом случае вы получаете максимально подробную информацию о вашем сканировании.

    Full оптимизирует геометрию скана и запекает детали в материал PBR, содержащий информацию о Diffuse, Normal, Ambient Occlusion, Roughness и Displacement.

    Мы думаем, что этот выходной уровень даст вам все необходимое для самых сложных рендеров.

    Наконец, если вам не нужно запекать материал или у вас есть собственный конвейер для этого, уровень Raw вернет максимальное количество полигонов вместе с максимальной детализацией диффузной текстуры для дальнейшей обработки.

    Если вы хотите узнать больше о том, как использовать Object Capture для профессиональных рабочих процессов в macOS, см. раздел «Создание рабочих 3D-процессов с помощью USD».

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

    Вот и все.

    Давайте вспомним, что мы узнали.

    Сначала мы рассмотрели на примере основные концепции API захвата объектов.

    Мы показали вам, как создать сеанс захвата объектов и использовать этот сеанс для обработки вашей коллекции изображений для создания 3D-модели.

    Мы показали вам пример того, как API может поддерживать приложение интерактивного предварительного просмотра, чтобы вы могли настроить объем захвата и преобразование модели.

    Далее мы рассмотрели рекомендации по сканированию.

    Мы обсудили, какие типы объектов использовать, а также среду, освещение и настройки камеры, которые дают наилучшие результаты.

    Наконец, мы обсудили, как выбрать правильные параметры детализации вывода для вашего приложения.

    Если вы хотите узнать, как добавить Object Capture в свое собственное приложение, ознакомьтесь с приложениями для захвата iOS и CLI для обработки macOS, чтобы начать работу.

    Наряду с этими приложениями поставляется множество примеров данных, которые воплощают передовой опыт и могут помочь при планировании того, как делать собственные сканы.

    Кроме того, ознакомьтесь с подробной документацией по передовым методам онлайн на сайте developer.apple.com, а также с сессиями WWDC.

    Единственное, что вам остается, это выйти и использовать Object Capture для собственных сканирований.

    Мы рады видеть, какие объекты вы будете сканировать и делиться ими.

    3D-фотокамера в App Store

    Скриншоты iPhone

    Описание

    PopPic позволяет делать потрясающие 3D-фотографии, которые можно просматривать и делиться с друзьями и семьей.

    PopPic работает как обычная камера, но вместо того, чтобы делать плоские фотографии, она также фиксирует дополнительное измерение: глубину.

    Фотографии, сделанные с помощью PopPic, можно просматривать в 3D. Наклоните телефон, чтобы изменить точку обзора. Сожмите, чтобы двигаться к объекту и от него. Добавьте эффекты глубины и движения, чтобы оживить ваши фотографии. Поделитесь своими творениями с друзьями и семьей в Instagram, Facebook или Snapchat или сохраните их в фотопленку.

    ОСОБЕННОСТИ:
    * Делайте 3D-фотографии, которые можно просматривать, поворачивая телефон.
    * Отрегулируйте фокус и глубину резкости после съемки.
    * Проявите творческий подход с эффектами глубины и фильтрами.
    * Добавьте движение, чтобы оживить ваши фотографии.
    * Поделитесь своими 3D-фотографиями с друзьями.
    * Импортируйте фотографии из фотопленки и просматривайте их в 3D.

    ЧТО ЛЮДИ ГОВОРЯТ О POPPIC:
    Более 20 000 человек поставили PopPic высшую оценку в 5 звезд в App Store. Вот что сказали некоторые из них:

    «Это потрясающее приложение. Оно делает такие уникальные и потрясающие вещи», — Keywiz
    «Мне нравится, делает красивые фото. » -Boogie724
    «Просто приятно и весело» -gordie06
    «Абсолютно безупречно.» -OxfordLawn

    POP PIC PRO:
    PopPic Pro — это обновление, позволяющее разблокировать нашу полную коллекцию из более чем 40 фильтров и эффектов, новых типов пользовательского движения, вывода HD-видео и обмена без водяного знака PopPic.

    PopPic Pro доступен в виде разовой покупки или ежемесячной подписки с бесплатной пробной версией.

    Мы думаем, вам понравится PopPic Pro, но даже если вы решите не обновляться, вы все равно сможете снимать, просматривать и делиться любым количеством 3D-фотографий, а ряд наших фильтров и эффектов глубины будут бесплатны навсегда. .

    ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:
    Посетите наш веб-сайт: https://poppic.cam
    Условия использования: https://poppic.cam/about/terms
    Политика конфиденциальности: https://poppic.cam/about/privacy
    Музыка : «Мечты» на bensound.com

    Версия 1.11.3

    Несколько небольших улучшений.

    Рейтинги и обзоры

    25,8 тыс. оценок

    Очень крутой эффект

    С тех пор, как вышел iPhone 7plus с двумя фронтальными камерами, я ждал подобного приложения. Я надеялся, что Apple это сделает. Теперь я надеюсь, что они купят это у вас и включат в свое приложение камеры по умолчанию. Несколько просьб. 1: Добавьте возможность сохранения в качестве «Динамических обоев», чтобы вы могли видеть эффект наклона на экране блокировки и в фоновом режиме! 2: Добавьте функцию общего доступа, которая сохраняет 3D-модель obj. 3: Добавьте функцию общего доступа, которая сохраняет 2D-изображение с информацией о глубине в альфа-канале. Спасибо!

    Классные функции, без бесплатного сохранения?

    Я не могу сделать это приложение сейчас, потому что оно мне было нужно, потому что я хотел посмотреть на него и попробовать. Я создал свое первое 3D-изображение, и оно получилось довольно хорошим, поэтому я поделился им в Твиттере, чтобы узнать, как мои друзья отреагируют на это любопытное 3D-фото. хотите платить… Либо за всю программу сразу, либо бесконечные $1,49 в месяц. Поэтому я подумал… зачем мне платить за приложение, если я даже не знаю, могут ли платформы социальных сетей, которые я использую, поддерживать эту функцию?
    Я также думаю, что разработчик приложения совершает ошибку, не разрешая по крайней мере 3 загрузки в социальных сетях бесплатно… Только подумайте о всей бесплатной прямой рекламе из уст в уста, которую он упускает!
    Затем я нажимаю кнопку «Назад», чтобы хотя бы сохранить изображение, которое я создал, в свою собственную фототеку… и вы поверите, что они даже ЭТО не разрешают бесплатно?
    😳
    Я удалил проклятое приложение со своего iPad. 🙄

    Это приложение довольно крутое

    НО это не дает вам возможности сохранять 3D-версии снимков в ваших картинках. Вы можете публиковать их только на Facebook, но не на своем устройстве. Он также не показывает изменения в вашем фотоальбоме. Я временно удалил более 100 снимков из своего iCloud, чтобы упростить создание 3D-изображений. Мне все еще приходится прокручивать их, хотя я их удалил. Это очень раздражает. Другая проблема заключается в том, что некоторые пользовательские параметры обрезают большую часть снимка при его кадрировании. Наконец, светлые шрифты, добавленные к снимкам, не переносятся. Они размыты, и вы не можете их увидеть. В противном случае он в основном делает то, что я хочу.

    Разработчик, PopPic 3D LLC, указал, что политика конфиденциальности приложения может включать обработку данных, как описано ниже. Для получения дополнительной информации см. политику конфиденциальности разработчика.

    Данные, связанные с вами

    Следующие данные могут быть собраны и связаны с вашей личностью:

    • Контактная информация

    • Пользовательский контент

    • Идентификаторы

    Данные, не связанные с вами

    Могут быть собраны следующие данные, но они не связаны с вашей личностью:

    • Данные об использовании

    • Диагностика

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