Как делать camera mapping в Blender

blender camera mapping

В этом уроке вы научитесь применять в Blender технику «camera mapping», которая позволяет создавать анимацию из двухмерных изображений, снятых с одной точки.

Суть техники состоит в том, чтобы быстро смоделировать объекты сцены по фотографии (обычно, с ярко выраженной перспективой) и натянуть на них текстуры, взятые с этой же фотографии, а затем анимировать камеру и/или добавленные в сцену объекты.

Результат выглядит вот так:

Можете сразу скачать готовый файл .blend.

Исходные материалы

Достаточно ровно одного: фотография Old Factory

Видеоверсия урока

Если вы нормально воспринимаете на слух английский язык, то можно просто посмотреть оригинальный видеоурок Эндрю Прайса:

Если же с английским не всё ОК, то вот расшифровка.

Настройка сцены и камеры

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

2. Добавьте исходную фотографию в фон:

3. Сделайте размер кадра равным размеру фотографии:

4. Установите фокусное расстояние объектива камеры равным фокусному расстоянию, с которым была снята оригинальная фотография. Если в Exif этих данных нет, придётся поэкспериментировать.

5. Скорректируйте положение и вращение камеры так, чтобы сетка совпадала с полом на фото. В данном случае использованы вот такие параметры:

Базовые объекты

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

2. Сделайте каждую грань отдельным объектом и удалите крышу.

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

Пол

1. Откройте изображение в графическом редакторе (GIMP и Photoshop одинаково подходят) и выделите пол при помощи Лассо. В GIMP проще всего использовать многоугольное выделение, встроенное в этот инструмент.

2. Скопируйте и вставьте выделение с полом в изображение с альфа-каналом в фоновом слое:

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

Должно получиться примерно так:

Результат экспортируйте в файл PNG с прозрачностью.

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

5. Перейдите на просмотр с позиции камеры, нажмите U и выберите Project from View.

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

Если на этом этапе выполнить рендеринг, получится следующее:

С первым объектом покончено. Займёмся стенами.

Стены

1. Вернитесь в GIMP с исходному изображению и при помощи многоугольного выделения в Лассо выделите левую стену:

2. Снова скопируйте и вставьте выделенное в новое изображение с альфа-каналом:

3. Фрагмент стены на переднем плане придётся подправить. Выделите вот фрагмент:

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

Совместите верхний слой с предыдущим, экспортируйте в новый файл PNG.

5. Повторите ту же процедуру с правой стенкой:

6. Затем с задней стенкой:

7. Вернитесь в Blender, выберите стену, снова примените Subdivide и выполните развёртку с  “Project from View”.

8. Повторите то же с правой стенкой:

9. Затем с задней стенкой:

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

Теперь у вас должно получиться примерно следующее:

Дверные проёмы

1. Переключитесь в графический редактор, перенесите лицевую стенку в новое изображение с полупрозрачностью, сохраните результат в PNG.

2. Вернитесь в Blender, добавьте плоскость и спозиционируйте её так, чтобы она совпадала со стеной на фото:

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

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

5. В результате должно получиться примерно следующее:

6. Сделайте циклические сечения (loop cuts) в меше и выполните развертку с «Project from View»:

7. Выделите объект лицевой стены и назначьте ему созданную ранее текстуру:

Рендерим ещё раз:

Потолок

1. Теперь смоделируйте арочный потолок. Добавьте цилиндр и разместите его примерно так:

2. Удалите незначимые части меша и подгоните оставшееся под фоновое изображение:

3. Сделайте циклические сечения и выполните развёртку с «Project from View»:

4. В графическом редакторе изолируйте потолок и уберите балки.

Это самая сложная часть. поскольку балок немало.

5. Назначьте мешу текстуру по уже знакомому образцу:

Новый промежуточный результат:

Поменяйте размер изображения на 1920×1080, и вот что у вас выйдет:

Чтобы завершить полноту иллюзии, добавьте опорные балки, куски проводов и прочее. Делать это необязательно, но если вы хотите добиться реалистичности, то лениться не стоит.

Итого получаем:

Вам остаётся лишь анимировать камеру.

Для дальнейшего изучения

  • Ролик «Deserted» – Эндрю утверждает, что это лучший пример маппинга камеры, который он когда-либо видел.
  • Демонстрация маппинга с подробным разбором.

Оригинал статьи опубликован в блоге Эндрю Прайса: How to do Camera Mapping

2 Комментарии

  1. Что за дикий ******?
    Я почти со словарем смотрю туториал на английском и почерпнул оттуда намного больше инфы чем здесь у вас на сайте.
    Никуда не годится такое, анимируйте камеру, создайте нод, создайте меш. ***** как? как я это все сделаю, вы хотя бы хоткеи выложили бы и подробнее расписали все. Автор статьи ленивая задница. Переводы а-ля сделайте так, а потом так, затем вот так может быть и помогут опытным пользователям быстро сориентироваться, что да как. Но новичкам это ****** как тяжко освоить.

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

    П.П.С.С. Всем насрать на мое мнение, и наврятле этот коммент появится, после модерирования. Возможно и вы можете сказать в мой адрес — «Учи матчасть дно!!!», но мне насрать на Вас.

    • Автор статьи — Эндрю Прайс. Перевод полный. Если вас не устраивает детализированность материала, напишите про это Эндрю :)

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*


Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.