Трехмерные уроки

информация | полезности | levaleva.ru

Вписывание трехмерной модели в фотографю (экстерьер)


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

Подготовка фотографии
Обработка. Так как съемка в большинстве случаев ведется с рук, то «горизонтальность» камеры дело относительное. Горизонт выправляется в Фотошопе путем двух операций: Ctrl-T (Free transform) — Perspective (компенсация «продольной качки») и Rotate (компенсация «бортовой качки»). Первой операцией выправляется «сход/развал» вертикальных линий. После того, как вертикали стали параллельны друг другу, разворачиваем их вертикально, при этом должен автоматически получится «истинный» горизонт. То есть, перемещая направляющую линии (guideline) вверх-вниз отыскиваем наш горизонт, который пригодится в дальнейшем. Помощь при коррекции перспективы оказывают вертикальные направляющие, к которым подгоняются заведомо вертикальные линии (края высоких домов и т.п.) Но, надо заметить, столбы (опоры освещения) не всегда бывают вертикальны суровые условия жизни пригибают порой в какую-нибудь сторону.

Затем, если необходимо, собираются обработанные фото в маленькую развертку (панораму), которая дает охват около 90°. К сожалению, геометрией каких-то фрагментов приходится пренебрегать, основное внимание на центральную область, где будет располагаться вписываемый объект. Цветокоррекцию, стирание проводов, подгон бордюров здесь не упоминаю.

Подготовка бэкграунда
На подготовленной фотографии уже обозначена линия горизонта. Для упрощения своей работы находим еще две вертикальных линии, которым обозначаются боковые габариты будущего здания. Они вычисляются из почеркушечек на генплане. «Линия от камеры мимо крайней левой выступающей части здания упирается вон в тот дом сзади ровно посередине, справа линия проходит в метре от столба и т.д.» Линии наши обозначаем чем-нибудь красным, чтобы во вьюпорте Макса они были видны хорошо. Затем обрезаем (Crop) квадратной (!) рамкой таким образом, чтобы центр находился на нашем горизонте, а края этого квадрата выступали процентов на 20–30 от вертикальных линий — боковых габаритов объекта. Обрезается обычно сверх существующих границ файла.

Вот пример:


Затем скалируем до разрешения 1024*1024. На выходе у нас ряд файлов (или один), квадратных, с красными линиями-маркерами  большинство из них содержат картинку в верхней половине. Их-то и будем подставлять во вьюпорт бэкграунд в Максе. Если картинок ряд — использую секвенцию .ifl, потому как камеру использую одну, но анимированную, на все необходимые виды по кадрам.

Макс, камера
Тип: Free. Rotate absolute world coordinates: X=90, Y=0, Z переменна. Это означает то, что все вертикали у нас будут вертикальными, без использования коррекции. Соотношение сторон картинки рендера в этом случае (чтобы все помещалось) — 1:1. Но это же означает, что рендеруемые объекты будут расположены только в верхней части (95%), да ну на это есть Crop Render. А если нет (в случае, например, Distributive render), то «воздух» считается быстро.

Далее подключается бэкграунд. Утилиту Camera Match я не использую в данном случае, все становится правильно и так.

Координаты X, Y известны из плана (иногда в этом оказывает большую помощь map.google), Z получаем следующим образом: поскольку камера горизонтальна, а на фото мы нашли горизонталь и выставили посередине, то, выставив вертикальную координату на свой рост (с учетом местного рельефа, кончено) мы получим уже одно совпадение. Вращением камеры по оcи Z добиваемся попадания модели в центр между красных вертикальных маркеров на бэкграунде. Теперь осталось определить FOV. Поскольку мы обрезали для бэкграунда фотографии, то от реального фокусного расстояния ничего не осталось. Регулируя FOV добиваемся «вписываемости» объекта в фото.
Все.

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

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

Результат:



Опубликовано 20.09.2005 на форуме портала 3dcenter.ru

Александр Львов | LevaLeva | © 1996-2010 | Трехмерные полезности