Как сделать 3d модель из объекта на фотографии? - Фотопедия
10 голосов
/ 04 декабря 2014

Это мой диван: enter image description here

Я хочу сделать 3D-модель, чтобы применять разные шаблоны при постобработке; увидеть Как мне обернуть новый рисунок вокруг 3D-объекта на фотографии?

Синяя область указывает, где я хочу сделать 3d модель. Я хочу сделать из него УФ-карту и наложить на нее текстуру.

Для этого, я думаю, сначала нужно сделать 3d модель из этой области. Я прав ? Если да, то как из него сделать 3d модель?

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

Ответы [ 2 ]

23 голосов
/ 04 декабря 2014

Для этого вы можете использовать фильтр Точка исчезновения в Photoshop .

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

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

Лучший способ получить прямолинейную фотографию - использовать объектив с низким уровнем искажений для съемки. База данных объективов DxO может помочь вам выбрать один. Кроме того, вам следует использовать объектив, поддерживаемый функцией коррекции объектива Lightroom или ACR , а затем использовать эту автоматическую коррекцию на фотографии, прежде чем пытаться построить из нее 3D-модель.

Вот как это сделать:

  1. Откройте свою фотографию в Photoshop, затем произнесите Filter & rarr; Точка схода. С помощью инструмента «Создать плоскость» нарисуйте рамку вокруг посадочной поверхности двух полностью видимых подушек.

    Вы должны быть достаточно точными в том, как установить эту плоскость, поскольку любые ошибки здесь будут распространяться на остальную часть 3D-модели. Photoshop поможет вам в этом: сетка внутри плоскости меняет цвет, чтобы указать, насколько правдоподобна эта плоскость. Вы хотите увидеть синюю сетку, а не желтую или красную. Синяя сетка не гарантирует, что она подходит для вашей сцены, однако, только то, что она может быть правильной.

  2. Удерживая нажатой клавишу «Command» (Mac) или «Control» (Windows), перетащите вниз из поля изменения размера на переднем крае этой плоскости, чтобы опустить новую вертикальную плоскость над передним краем этих дальних подушек.

    Теперь повторите, что Cmd / Ctrl-Drag перемещаются еще 4 раза, чтобы создать плоскости, которые покрывают подушку, ближайшую к камере: сначала вертикальную, чтобы покрыть скрытый фронт подушки, затем горизонтальную, покрывающую зону сидения, затем еще две вертикальные, чтобы закрыть стороны, обращенные к камере.

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

    Размер этих плоскостей, чтобы покрыть всю видимую поверхность, даже если это требует покрытия некоторых областей фотографии, которые не являются частью подушки: ²

    numbered planes

    Мы скорректируем покрытие самолета позже.

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

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

  3. Скажите фильтру Vanishing Point, что вы хотите, чтобы он возвращал 3D-слой в Photoshop:

    Vanishing Point setting

    Если в вашей версии Photoshop отсутствует эта функция, оставайтесь в фильтре Vanishing Point пока. Мы сделаем следующий шаг немного иначе, чтобы обойти это отсутствие прямой поддержки 3D.

    В противном случае скажите «ОК», и вы получите новый 3D-слой с примитивной моделью обведенных вами поверхностей дивана.

    Это в значительной степени отвечает на ваш первоначальный вопрос. Да, это только 6 поверхностей в 3D, не совсем детальная модель, но, как вы увидите, для некоторых целей этого достаточно.

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

  4. Когда вы возвращаете 3D-слой в Photoshop из диалогового окна фильтра «Точка исчезновения», он может спросить вас, хотите ли вы перейти к рабочему пространству 3D; ³ принять предложение.

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

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

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

    step 1, surfaces filled

    Обратите внимание, что рисунок находится в правильной перспективе, сужается на расстояние. Это происходит потому, что мы рисуем на трехмерной поверхности, которая соответствует грубой геометрии нашей 2D-сцены.

    Если вы используете версию, в которой отсутствует эта возможность для создания трехмерного объекта из плоскостей точки схода, вы можете использовать инструмент «Штамп» в диалоговом окне «Точка исчезновения» для копирования плоских текстур на плоскости. Это имеет тот же эффект, что и рисование на 3D-модели, которая заключается в применении вашей текстуры к сцене в правильной перспективе.

  5. Добавьте черную маску слоя в 3D-слой, щелкнув Option / Alt, щелкнув значок маски слоя, а затем закрасьте белыми области, в которых вы хотите отобразить рисунок:

    step 2, surfaces masked off

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

  6. Уменьшите непрозрачность слоя примерно до 50%, чтобы вы могли видеть нижележащую фотографию достаточно хорошо, чтобы видеть края подушки, а затем осторожно уточните края маски, чтобы покрыть только те части 3D-модели, которые вы хотите показать шаблон.

    Совет от профессионала: один клик с помощью кисти Photoshop с последующим щелчком Shift в другом месте дает вам хороший прямой штрих, который вы не можете легко скопировать вручную. Здесь вы можете щелкнуть маску слоя возле одного угла подушки жесткой кистью, чтобы кисть едва касалась края подушки, а затем нажать Shift и щелкнуть на том же расстоянии от другого угла вдоль этого края подушки. , Это позволяет быстро и точно обрезать отклонения маски за прямыми краями.

  7. Увеличьте непрозрачность 3D-слоя до 90-100% и переключите режим смешивания на что-нибудь подходящее. Для этой комбинации текстур и фоновых фотографий хорошо работает Linear Burn: 110

    step 3, blend complete

    Voilà, электронная обивка!

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

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

Если вам действительно нужна точная модель или файл 2D-карты UV для автоматической замены текстур, у вас есть несколько вариантов:

  • Выполните шаги 1 и 2 выше. Затем, вместо выбора «Вернуть 3D-слой в Photoshop» из всплывающего меню, скажите Photoshop экспортировать в 3DS ...

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

  • В Photoshop CS4 Extended или более поздней версии вы можете перейти к шагу 3 выше, чтобы вернуть 3D-слой в Photoshop из диалогового окна фильтра «Точка исчезновения», а затем сказать «3D & rarr; Экспорт 3D-слоя ...

    Как ни странно, формат 3ds Max здесь не подходит. Из тех, что дает вам Photoshop, я рекомендую Wavefront OBJ. Это примерно так же широко, как *.3ds. Многие 3D-программы откроют обе, а другие откроют только одну или другую.

    COLLADA - открытый стандарт, поэтому теоретически это должен быть лучший вариант, но я считаю, что импортеры часто изменяют геометрию. Тем не менее, вы можете попробовать это, если *.3ds и *.obj опции не работают для вас.

    Photoshop также может экспортировать в STL и DXF, которые широко поддерживаются, но не подходят для такого рода работы. Это реальные форматы САПР, а не форматы творческих изображений. Вы можете использовать их при изготовлении настоящих диванов.

    Все остальные параметры являются «стандартами» в смысле XKCD . Избегайте их.

Теперь вам «просто» нужно открыть этот файл модели в настоящем 3D-моделе и уточнить его. Полнофункциональный 3D-пакет также позволит вам работать с УФ-картой напрямую, если вам нужно.

Это выводит нас за рамки этого сайта. Даже если бы здесь было 3D-моделирование, чтобы пойти дальше, мне бы пришлось ответить на вопрос: «Как вы занимаетесь 3D-моделированием?». Эта тема требует целых книг, чтобы объяснить. Вам нужны месяцы практики, чтобы приобрести компетенцию, и около 10000 часов целенаправленной практики повышения квалификации , чтобы достичь определенной степени экспертизы. Это умение достаточно редкое, достаточно сложное и достаточно ценное, чтобы вы могли зарабатывать этим на жизнь.

Если у вас есть подробная 3D-модель, вы можете вернуть ее в Photoshop, если хотите. Photoshop - довольно хороший инструмент для рисования текстур в 3D. Также есть специальные инструменты, такие как MARI , 3D-Coat и BodyPaint 3D . Высококачественные 3D-пакеты часто включают функции рисования текстур, которые конкурируют или превосходят Photoshop в своей более специализированной области: CINEMA 4D , modo , Blender и т. Д.

Если вы подписаны на полную Creative Cloud , у вас уже есть CINEMA 4D Lite , урезанная, но достаточно функциональная версия C4D. Вы не получаете функции рисования текстур, но у вас есть Photoshop для этого. То, что вы получаете, - это большинство инструментов моделирования и многое другое. Основное практическое ограничение заключается в том, что вы должны использовать его через After Effects, что неудобно, если вы еще не использовали AE для своего проекта. С положительной стороны, вы можете добраться до AE прямо из фильтра Vanishing Point:

AE Export from Vanishing Point


Примечания:

  1. Это означает, что CS3 Extended - CS6 Extended или любая из версий Creative Cloud. Я тестировал эту технику в CS3 Extended и в CC 2014.2.

  2. Вы увидите синие сетки, а не сплошные пронумерованные плоскости. Я раскрасил и пронумеровал самолеты, чтобы проиллюстрировать пример.

    Если вы ищете желтую третью плоскость, она направлена ​​в сторону от камеры. Мы только построили его, чтобы обойти угол формы дивана L.

  3. Все версии Photoshop с поддержкой 3D имеют функцию «Рабочие пространства», но более ранние версии не делали этого автоматического переключения режима рабочего пространства. Трехмерное рабочее пространство не было добавлено в Photoshop до CS4. Кроме того, версиям, предлагающим переключить вас в трехмерное рабочее пространство, можно сказать, чтобы они запомнили выбор, поэтому он может просто переключать рабочее пространство без запроса.

  4. Строго говоря, это не дает вам UV-карту , о которой вы просили, но в большинстве случаев вам действительно нужна прямая окраска модели. Если вам действительно нужен отдельный файл UV-карты, вам необходимо экспортировать 3D-модель Photoshop в другое приложение, как описано выше.

    Текстурная живопись работает по-разному в Photoshop CS3 Extended. В CS4 добавлена ​​возможность рисовать непосредственно на модели, тогда как в CS3 вы должны открывать и редактировать каждую текстуру отдельно. Для этой техники разница действительно не имеет значения.

  5. Режим смешивания Multiply также может хорошо работать для такого рода комбинаций. Для других текстур и базовых фотографий может потребоваться еще один режим наложения.

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

3 голосов
/ 06 декабря 2014

Если вы выполняете большую часть такой работы, я бы серьезно предложил вам инвестировать время в Blender 3D - , это не будет стоить вам больше времени, и пот на вашем лбу, поскольку он совершенно бесплатный (как без затрат, так и с открытым исходным кодом), чтобы получать и использовать для любых целей . Он кроссплатформенный, но, очевидно, требует разумного количества ресурсов для хранения и обработки ( не так много, как можно было бы ожидать ).

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

Существует множество онлайн-учебников, этот , который стоит посмотреть , бета-сайт Stack Exchange , бесплатный и платный за книги и т. Д. .

Вот пара примеров (все сделано полностью в Blender), которые я спешу добавить, были не , произведенные мной: Sofa LivingRoom

...