Как создать 3 д модель: Как сделать свою первую 3D-модель? / Хабр
Содержание
Как строить 3D-модели | Лайфхаки
Люди давным-давно научились изображать разнообразные предметы, которые встречаются в повседневной жизни. Чтобы в точности передавать все геометрические параметры объектов, были разработаны правила составления чертежей, на которых объемные фигуры получают свое отображение в многочисленных проекциях.
В течение многих лет объем изображали художники, однако полотно, на котором писались картины, всегда оставалось двумерным, и на объект можно было смотреть только с одного ракурса. С развитием технологий появилось значительно больше возможностей в области моделирования.
При помощи компьютерных программ можно строить 3D-модели, которые более наглядно представляют объекты и даже окружающее пространство:
О построении таких моделей и пойдет речь в данной статье.
- Сведения о 3D-моделях
- Компьютерное 3D-моделирование
- 3D-моделирование из фотографий
Понятие 3D, так прочно обосновавшееся в нашей жизни, является сокращением от английского 3-dimensional (в трех измерениях). Как известно еще со школьных уроков геометрии, чтобы квадрат стал кубом, к обычной длине и ширине необходимо добавить высоту, которая и выступает в качестве третьего измерения.
За 3D-модель можно смело принимать любую скульптуру, а этот жанр искусства появился несколько тысячелетий назад. Архитекторы очень часто прибегают к построению макетов, чтобы более точно представлять конструкцию здания.
В современном мире, где технологии с каждым днем упрощают человеческую жизнь, 3D-моделированием занимаются компьютеры. Строить объемные изображения можно буквально на «пустом месте», руководствуясь приблизительными данными о визуализации объекта (к примеру, спроектировать персонажа видеоигры, у которого нет прототипа в реальном мире). Данный прием называется компьютерным моделированием.
Существует еще такой вариант, как создать 3D-модель, основываясь на многочисленных фотографиях объекта с различных ракурсов.
3D-моделирование применяется во многих областях человеческой жизни. Перечислим некоторые из них:
- Архитектура. Никто не отрицает преимуществ макетов, однако, если заказчик вдруг пожелает увеличить размер комнаты или добавить пару-тройку этажей, архитектору придется заново конструировать картонную модель. А используя компьютерные программы, можно управиться за несколько кликов;
- Игры и кино. Анимация в наше время по своему качеству начинает превосходить реальный мир (смотрите на фильм «Аватар»). Любого человека можно сделать персонажем компьютерной игры, перенеся все особенности реальной внешности в виртуальный мир;
- Военная тактика. 3Д-моделирование местности помогает стратегам лучше спланировать маневры, соотнести риски и принять наиболее правильное решение;
- Дизайн. Здесь можно представлять все, что угодно: от модных платьев и украшений до интерьеров помещений. Так как творец по своей природе – очень беспокойная и переменчивая натура, то перед непосредственным созданием дизайнер должен быть на 100% уверен, что точно представляет готовое изделие. А 3D-моделирование выступает лучшим помощником в этом деле.
Для того чтобы создать 3D-объект, необходимо воспользоваться компьютерной программой, которая предоставит необходимый инструментарий и шаблоны для проектировщика. Рассмотрим некоторые программы, которые позволяют осуществить компьютерное моделирование.
- Blender. Бесплатный 3D-редактор, вклад в совершенствование которого может сделать любой разбирающийся программист:
К преимуществам данного программного продукта можно отнести кроссплатформенность и низкие требования к аппаратному обеспечению (железу). Обладает достаточно широкими (для бесплатного редактора) возможностями, включая моделирование движущихся объектов.
- 3ds Max. Данный редактор имеет обширный функционал, ориентированный, прежде всего, на проектирование архитектурных сооружений и интерьеров помещений:
Имеет внушительное количество различных дополнений (в том числе и для визуализации природных катаклизмов). Для новичка, к сожалению, редактор достаточно сложен в освоении.
- CINEMA 4D. Программа, главным образом, ориентирована на создание 3D-моделей в играх и фильмах, при этом на удивление легко осваивается новичками. Последняя версия приложения вышла в 4 вариантах, каждый из которых «заточен» под определенный вид трехмерной разработки (анимация, дизайн и т. д.):
Цена этого редактора, по сравнению с конкурентами, также приятно удивляет.
- Maya. Мощнейший инструмент в руках профессионала, который позволяет моделировать практически любой объект:
Многие известные киностудии используют данный редактор при создании анимации.
Если вам требуется создать объемную копию объекта из реального мира, не следует конструировать всё с нуля, ведь можно воспользоваться фотографиями, на которых четко запечатлены основные детали. В серьезных проектах профессионалы для такой работы используют множество фотографий с различных ракурсов, а затем с помощью сложных программ комбинируют полученные данные в одно изображение.
Но как быть, если вы не обладаете необходимым опытом и знаниями, но хотите получить, например, трехмерную модель головы человека?
Создание 3D-моделей из фотографий возможно и без специальных знаний с помощью простых в освоении программ. Ниже приведены некоторые подходящие редакторы:
- FaceGen Modeller. Данная программа активно применяется при разработке лиц персонажей для малобюджетных компьютерных игр. После того, как пользователь выберет подходящие параметры головы и лица, можно «наложить» фотографию человека:
При этом, для хорошего результата работы понадобится 3 изображения: 2 в профиль и 1 анфас.
- FaceShop. Редактор используется для создания трехмерных лиц на основе фотографии. После загрузки качественного изображения, пользователю необходимо расставить опорные точки (кончик носа, уголки рта, зрачки):
После того, как программа сгенерирует 3D-лицо, есть возможность дальнейшего редактирования и наложения фильтров.
- Strata Foto 3D. Программа автоматически создает трехмерные объекты на основе нескольких фотографий:
Все, что нужно от пользователя перед тем, как сделать 3D-модель – сфотографировать объект с нужных ракурсов и загрузить снимки в редактор.
- Project Photofly. Данное решение отличается тем, что перевод фотографий в трехмерные изображения производится не на компьютере пользователя, а на удаленном сервере, что позволяет решать проблему низких возможностей аппаратного обеспечения клиентов:
Таким образом, 3D-моделирование позволяет с помощью компьютерных программ как создавать реалистичные копии объектов реального мира, так и осуществлять проектирование абсолютно новых предметов, ландшафтов и персонажей.
Существуют 3D-редакторы различной сложности и с отличающимся набором возможностей, поэтому как новички, так и профессионалы смогут подобрать для себя подходящую программу.
АРАлиса Рукинаавтор
Простой способ, как сделать 3д модель человека онлайн
Дата обновления:
08 ноября, 2022
Категория:
Другое
Время чтения:
4 минуты
На примере онлайн-программы FaceMaker вы узнаете, как создавать 3д модели лица человека. Однако это упрощенный по функционалу сервис, где редактируется исходная модель — даже не по вашей картинке. Чтобы увидеть полный обзор программ для 3D моделирования, в которых можно создавать модели объекта или человека, отдельной комнаты или целой квартиры. Чтобы выбрать было проще, все приложения разбиты на категории.
Как создавать 3д модели в сервисе FaceMaker
В FaceMaker вы можете спроектировать черты лица виртуального персонажа до мельчайших деталей, однако готовую работу нельзя отправить на печать в 3D-принтер и использовать в дальнейшем — только сохранить как изображение.
Сервис открывается прямо в браузере, разработчик предупреждает: понадобится видеокарта с хорошей производительностью, процессор с частотой ядра 2 ГГц и 4Гб оперативной памяти. Слабые ПК и ноутбуки могут не потянуть.
Как сделать 3д модель персонажа: основные этапы
Программа представлена на английском языке, однако для комфортной работы вы можете пользоваться встроенным онлайн-переводчиком браузера.
- Зайдите на официальный сайт — https://facemaker.uvrg.org/.
- Заполните небольшую анкету. Укажите год своего рождения, пол и страну проживания. Вас также попросят ответить на вопросы: «Как часто вы играете в видеоигры» и «Как часто смотрите фильмы?».
- Согласитесь с правилами. Сервис предлагает изучить, как изменять параметры лица с помощью бегунков и как поворачивать лицо на 180°. Затем перед вами появится редактор с уже загруженной исходной моделью, которую и предстоит изменять.
- Для редактирования лица предусмотрено 8 блоков. Возле каждого из них вы найдете иконку вопросительного знака, нажав на которую открывается подсказка. Заполните блок «Общая информация» («General») — базовые параметры. Меняйте пол персонажа, цвет кожи и волос. Текстура кожи может быть гладкой или неоднородной. Передвигая ползунок «Стиль», вы сделаете черты лица либо приближенными к реальности, либо мультяшными.
- Измените «Внешние части лица» («Outer face Parts»). Делайте лоб высоким или низким, горло более широким или узким, а еще меняйте размер ушей.
- Скорректируйте «Нос» («Nose»). Как только вы начнете перемещать бегунки, редактор автоматически приблизит область редактирования. Настраивайте форму, ширину и длину носа, корректируйте носовой хрящ, а переносицу делайте тоньше или толще.
- Настройте «Щеки и челюсть» («Cheeks and Jaw»). Челюсть можете сделать более заостренной или полной, а щеки пухлыми или худыми, перемещая соответствующие бегунки. Можно изменить длину и форму подбородка.
- Исправьте «Брови» («Eyebrows»). Настраивайте густоту, цвет и форму бровей. Перемещайте ползунки, чтобы увидеть изменения на модели.
- Отредактируйте параметры в блоке «Рот» («Mouth»). Для изменений доступно 6 параметров. Вы можете увеличить или уменьшить глубину, ширину и высоту рта, сделать губы объемными или более худыми, а еще изменить соотношение верхней и нижней губы.
- Измените «Глаза» («Eyes»). В этом блоке собрано наибольшее количество параметров: настраивайте на свое усмотрение форму и высоту глаз, расстояние между ними. Цвет варьируется от черного до серого.
- Внесите правки в «Макияж» («Make-Up»). Завершающий этап — нанесение косметики на персонажа. Изменить цвет теней или губной помады не получится, но можно настроить глубину: от параметра «ничего» до «сильного».
- Завершите редактирование. Кликните кнопку «Finished», после чего система отобразит готовую работу и предложит ответить на пару вопросов.
Чтобы сохранить изображение к себе напрямую в папку, кликните правой кнопкой мыши и выберите пункт «Сохранить изображение как». Другой способ — сделать скриншот, чтобы качество изображения было выше.
В заключение
Дизайнеры, архитекторы, производители мебели, инженеры знают, как делать 3д модели в профессиональных программах: Автокад, Компас-3D, Blender. Специалисты выполняют точные расчеты, составляют сметы, рисуют чертежи, загружают собственные проекты из других программ.
Любители обычно создают простые проекты, не выходя из дома: рисуют черепа, анимированных персонажей, аватаров. Тем, кто только приступает к изучению трехмерного моделирования, стоит начинать с онлайн-сервисов, мобильных приложений или несложных программ для ПК.
FaceMaker не является профессиональным инструментом, но позволяет быстро создать реалистичное или мультипликационное лицо человека.
#Реклама
Назар Иванов
SEO-специалист
Дискурс
0
Читайте также
Создание 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 может поддерживать приложение интерактивного предварительного просмотра, чтобы вы могли настроить объем захвата и преобразование модели.
Далее мы рассмотрели рекомендации по сканированию.
Мы обсудили, какие типы объектов использовать, а также среду, освещение и настройки камеры, которые дают наилучшие результаты.
Наконец, мы обсудили, как выбрать правильные параметры детализации вывода для вашего приложения.
Если вы хотите узнать, как внедрить функцию захвата объектов в собственное приложение, ознакомьтесь с приложениями для захвата данных iOS и интерфейсом командной строки macOS, чтобы начать работу.
Наряду с этими приложениями поставляется множество примеров данных, которые воплощают передовой опыт и могут помочь при планировании того, как делать собственные сканы.
Кроме того, ознакомьтесь с подробной документацией по передовым методам онлайн на сайте developer.apple.com, а также с сессиями WWDC.
Единственное, что вам остается, это выйти и использовать Object Capture для собственных сканирований.
Мы рады видеть, какие объекты вы будете сканировать и делиться ими.
♪
Как создать 3D-модель из фотографий (шаг за шагом)
Автор: ExpertPhotography
А-
А+
Скачать как PDF
Подпишитесь ниже, чтобы скачать статью немедленно
Вы также можете выбрать свои интересы для бесплатного доступа к нашему обучению премиум-класса:
Основы бизнеса
Шпаргалки
Детская фотография
Красочные городские пейзажи
Состав
Творческая фотография
Креативные концепции портрета
Цифровые фотоколлажи
Сказочная портретная фотография
Фотография еды
Интерьерная фотография
Редактирование ландшафта
Пейзажная фотография
Обработка Lightroom
Пресеты Lightroom
Длинная выдержка
Макрофотография
Фотография Млечного Пути
Моя камера и фотография
Органический маркетинг
Домашние животные
Фотография товара
Фотография неба
Социальные сети
Натюрморт
Интервальная съемка
Туристическая фотография
Городская фотография
Фотография дикой природы
Ваша конфиденциальность в безопасности. Я никогда не поделюсь вашей информацией.
В этой статье показано, как подойти к фотографии и создать 3D-модель из фотографий… С незапамятных времен художники пытались воспроизвести окружающий нас мир. В наши дни 3D-моделирование и печать могут быть самым близким способом сделать это.
Трехмерная модель именно такая. Это трехмерная модель. Когда вы создаете 3D-модель, вы позволяете зрителям видеть высоту, ширину и глубину. Процесс превращения серии изображений в 3D-модель называется фотограмметрией. Во-первых, давайте посмотрим, что вам нужно для этого.
[ Примечание: ExpertPhotography поддерживается читателями. Ссылки на продукты на ExpertPhotography являются реферальными ссылками. Если вы воспользуетесь одним из них и купите что-нибудь, мы немного заработаем. Нужна дополнительная информация? Посмотрите, как это все работает здесь. ]
Что нужно для создания 3D-моделей из фотографий
Для создания 3D-моделей из фотографий вам понадобится камера, программное обеспечение и 3D-принтер.
Камера
Цифровая зеркальная фотокамера, такая как Canon или Nikon, обеспечивает необходимые настройки. Подойдет и беззеркальная камера от Sony или Fujifilm. Они должны позволять вам фотографировать изображения в формате RAW и предоставлять изображения высокого качества. Значит, это должна быть камера с высоким разрешением.
Лучше всего иметь широкоугольный объектив без огромных искажений. Например, идеально подойдет объектив 24–70 мм. Также вам понадобится прочный штатив. Хороший штатив позволяет снимать с высоты головы в полностью выдвинутом состоянии.
Программное обеспечение для 3D-моделирования
Для создания 3D-модели из фотографий необходимо использовать программное обеспечение. Для 3D-моделирования в этой статье мы будем использовать Agisoft Metashape. Вот еще две альтернативы, которые вы можете использовать:
- Regard3D: Это программа создания структуры из движения. Он создает 3D-модель из серии фотографий.
- VisualSfM: это еще одно приложение с графическим интерфейсом пользователя. Он делает 3D-реконструкции, используя серию изображений.
Для создания мешей и очистки 3D-изображения есть и другие варианты. AutoDesk Maya — отличная альтернатива, как и Mesh Mixer (теперь часть Fusion 360).
3D-принтер (дополнительно)
Создав 3D-модель, вы захотите воплотить ее в жизнь с помощью 3D-печати. Если у вас нет 3D-принтера, есть веб-сайты для 3D-печати. Одним из таких сайтов является i.materialise. На этих сайтах вы можете загрузить свою 3D-модель. И вы можете выбрать его размер и материал!
Как создать 3D-модель из фотографий (шаг за шагом)
Давайте выполним пять шагов, чтобы создать 3D-модель. Затем в самом конце я прохожусь по некоторым пунктам устранения неполадок.
Шаг 1. Выберите тему
Тщательно выберите тему. Фотосъемка огромного здания или памятника в 3D может вызвать много проблем.
Выбирая что-то слишком большое, вы рискуете не поместить весь объект в кадр. Вы также можете обнаружить, что не можете легко передвигаться по нему. Для больших конструкций также требуется гораздо больше изображений для создания 3D-моделей.
Мой совет — сначала разведать местоположение. Выходите со своей камерой. И подумайте о том, чтобы оставить свой штатив. Найдите объект и сделайте несколько эталонных снимков.
Для этой статьи я попытался запечатлеть будапештскую статую Гарри Хилла Бандгольца. Он был достаточно мал, чтобы сделать менее 100 снимков. И я мог перемещаться вокруг него на 360 градусов.
Аэрофотоснимок достопримечательностей Будапешта с помощью Google Maps
Шаг 2. Настройка параметров камеры
Для настройки камеры я рекомендую использовать ручной режим. Это позволяет вам изменять любые значения, которые вы хотите, не влияя на другие настройки.
Используйте минимально возможное значение ISO. Он обеспечивает наилучшее качество изображения. Далее установите диафрагму. Глубина резкости должна быть как минимум на среднем уровне. Небольшая глубина резкости помещает в фокус только небольшую область вашего объекта. Эти две настройки дают вам значение скорости затвора.
Вот настройки, которые я использовал для моего примера изображения.
ISO (100), диафрагма (f/5,6) и выдержка (1/80 с)
Шаг 3. Сделайте снимки
Чтобы создать 3D-модель из фотографий, вам нужно подумать о создании панорамы.
Панорамы создаются путем фотографирования сцены с разных ракурсов камеры без движения. Вы делаете снимок, перемещаете камеру по той же оси и снова фотографируете. Вы повторяете этот процесс, пока не захватите всю сцену. Он может охватывать поле зрения на 360 градусов.
Когда вы соединяете эти изображения вместе, вы получаете одно изображение, показывающее всю сцену. Вам нужно перекрытие около 80%. Каждое новое изображение, которое вы снимаете, должно показывать на 20% больше сцены, чем предыдущее изображение. Это позволяет программному обеспечению 3D правильно сопоставлять изображения.
Вот почему вам следует снимать в портретной ориентации. Это позволяет получить высоту предмета целиком.
На каждый предмет нужно сделать мини-панораму. Это дает вам длину предмета. Это также обеспечивает перекрытие, необходимое для создания 3D-модели. Вы должны переместить камеру, сделать три изображения и снова переместить камеру.
Три изображения следуют простому процессу. На первом изображении объект находится посередине. Субъект опирается на левое пересечение правила третей на втором изображении. А в третьем предмет упирается в правый перекресток.
Используйте сетку правила третей в режиме Live View камеры. Таким образом, вы можете выровнять все. Затем вы можете использовать спиртовой уровень на камере, чтобы убедиться, что снимки ровные.
Измените свое местоположение, сделав два средних шага из последнего местоположения. Повторите три шага, описанных выше, по всему периметру вашего объекта. В каждой позиции сделайте по три изображения.
Ниже приведен рисунок моего процесса. Он показывает, сколько изображений я сделал и под каким углом. Всего я сделал 132 изображения с 44 разных позиций. Он охватывал полный 360-градусный обзор статуи.
Шаг 4: Установите программное обеспечение для 3D-моделирования
Перейдите на веб-сайт Agisoft Metashare, загрузите, установите и запустите его программное обеспечение для 3D-моделирования.
Шаг 5. Добавьте и выровняйте изображения
Нажмите Рабочий процесс > Добавить фотографии . Найдите папку, в которой хранятся ваши файлы JPEG. Затем выберите каждое изображение в левом окне браузера. Вы можете сделать это с помощью Ctrl+A (Command+A).
Вернитесь к Рабочий процесс > Выровнять фотографии. Установите для точности значение «Наивысшая», а для параметра «Общий предварительный выбор» — значение «Отключено». В разделе «Дополнительно» установите лимит ключевых точек на 100 000, а лимит связующих точек на 40 000.
Затем нажмите OK. Этот процесс может занять более часа, в зависимости от скорости компьютера и количества изображений.
Советы по устранению неполадок
У меня возникла проблема с размещением камер, которое Agisoft Metahsare использует по умолчанию. Когда я впервые посмотрел на модель, я был разочарован тем, что статуя не была такой резкой и «полной», как я надеялся. В кадре появились деревья и окружающие предметы.
Частично это произошло из-за программного обеспечения для 3D. Он читал неправильное размещение от шести до восьми ракурсов камеры. Я пытался перемещать их самостоятельно. Но вместо этого я решил переименовать файлы во что-то более последовательное. Имена файлов имели исходные имена, данные камерой.
Я изменил имена файлов и воссоздал 3D-модель. И программа расставила камеры правильно. Вы можете увидеть разницу на изображении ниже.
Другой способ — попробовать снова выровнять фотографии. Добавьте фотографии. И затем перейдите к Рабочий процесс > Выравнивание фотографий .
В диалоговом окне в разделе «Предварительный выбор пары» измените его с «Отключено» на «Общий». Затем программное обеспечение 3D тратит больше времени на рассмотрение размещения камер и наложения изображений.
Всего комментариев: 0