c7640ce8896b51008b833fc80534a29d.jpeg

Привет всем. Сегодня мы рассмотрим возможность интеграции 3д модели в панорамы 360° от Google, с последующей визуализацией в них, и выкладыванием на ресурсы с их просмотром.

Итог того о чём будет здесь идти речь, можно посмотреть тут:

https://kuula.co/post/7Y1fb

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

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

Итак, начнём. Для начала гуглим "street view download 360" и находим ссылку https://svd360.istreetview.com/.  Заходим туда и скачиваем программку "Street View Download 360". Устанавливаем её и запускаем. Там всё просто. Там же на странице загрузки идём по ссылке iStreetView.com, там жмякаем кнопку "Continue to the website" и мы попадаем в просмотр карт и панорам. На карте выбираем панораму интересующую нас. Выбираем её и находим её ID.

421be966d15a255a6f20b20c9b9f93d3.jpeg

Открываем программу Street View Download 360.

1. Прописываем путь куда сохраниться панорама.

2. Вставляем её ID

3. Выставляем максимальное разрешение.

4. Скачиваем её.

07445452c3ac9ddd78801006da363253.jpeg

!!!Теперь сделаю небольшое пояснение по по поводу этих панорам. Панорамы сделанные гугломобилем имеют много недостатков: Есть логотипы гугла, кривые сшивки автоматические и прочие недостатки. Лучшие панорамы с гугла заливаются обычными людьми. Разница в них думаю понята. Обозначение их на карте можно увидеть на скрине.

032ec6a19a334e201df22cfe02f2e56a.jpeg

По поводу панорам от Google Street View. При просмотре улиц, существует возможность смотреть более ранние снимки.

Допустим вы выбрав место, недовольны качеством и освещением последней съёмки. Но просмотрев более ранние фото нашли то что вас устраивает. Как узнать их ID? Всё просто. ID всегда можно достать у "уличных панорам" прямо из ссылки. ID пишется после символов "!1s" и до символа "!" . Выбрав нужное время, всегда можно брать ID и скачивать через программу любую панораму.

89e7afee05fa308de31416d07eb4c484.jpeg

9c4de7612bfb337131fa27a228b938d0.jpeg

Вернёмся к нашей панораме. Разберёмся с масштабом. Открываем вид карты в браузере. Находим точку съёмки панорамы и проводим линейкой с целыми значениями для масштаба.Сохраняем её как текстуру скриншотом.

b57ed82e2241cee58b7ebccb78a70f89.jpeg

Далее открываем нашу сцену. Ставим бокс размером исходя из размера нашей линейке со скриншота. В моём случае это 200 метров. Далее создаём плоскость с размером нашего скриншота. У меня он 843х1041 пикселей. Я создаю плоскость 84300 х 104100 в миллиметрах. В общем, главное сохранить пропорции с текстурой. Далее создаём материал и цепляем на него наш скриншот-текстуру и масштабируем плоскость по нашему боксу и линейки. Материалу делаем прозрачность, что бы в дальнейшем видеть наш фон во вьюпортах. Для удобства масштабирования, можно пивот поставить в начало линейки на текстуре.

b488eb5b511cc449b5dee3ebafaafdc2.jpeg

33710749c3ac879713a94e587cc10d1a.jpeg

Тут на GIFках показано подробнее

https://i.gifer.com/3Nrxy.gif

https://i.gifer.com/3Nrxz.gif

Создаём камеру в центре координат и на высоте примерно человеческого роста. !!!Внимание. Камера никогда не должна выходить из центра координат. Далее создаём текстуру с нашей панорамой для Environment Map в редакторе материалов. Зеркалим её (Tiling U: -1). Помещаем в слот для фона в Environments и устанавливаем её фоном во вюьпорте (Views - Viewport background - Environment background). Выставляем значения угла обзора камеры, для большего обхвата вида и смещение отображения по вертикали.

cf1da254516a20b5268f41d945248806.jpeg

Далее уже начинается шаманство небольшое:

Уточняем расположение нашей камеры:

Делаем это направляя Target камеры (Камера должна быть начале координат) на объекты на плане-текстуре, и смотрим на вид из камеры с панорамой. Двигаем положение нашего плэйна если нужно. Абсолютной точности не получится. Кстати не забываем о том, что панорама и текстура "карта" может отличаться из за разницы во времени. Например у меня уровень воды в озере.

29b53d502bb522e1885d4317e3b88e21.jpeg

Тут на GIFках показано подробнее:

https://i.gifer.com/3Nry2.gif

Теперь можно располагать модели. Вот тут уже чистый шаманизм. Точных объяснений уже дать не получится, ибо всё индивидуально. В помощь есть текстура карта. Не забываем о высоте камеры объектов относительно её. Передвигаем Target камеры и "подбиваем" модели. Тут уже играем воображением. Для примера я полез на 3ddd и купил когда то пару хороших моделек от concept61 и 3d-andrew и разместил их.

b77efe5ddb5aa62c7cee471110b7a744.jpeg

Подробно о настройках архитектурной визуализации не буду, благо в интернетах полно информации. Остановлюсь лишь на моменте освещения сцены HDRI. Для начала находим хдрку с похожим небом и высотой расположения солнца. Ещё нужно иметь превью этой HDRI который мы вставим взамен нашему фону панораме. Для этого вначале мы отметим расположение солнца на нашей панораме. Из вида камеры направим её Target на место где солнце.

0c342c220255543a7db1bbfffeafaf22.jpeg

Тут на GIFках показано подробнее:

https://i.gifer.com/3Nrxx.gif

Далее в редакторе материалов открываем превью нашей HDRI и заменяем им нашу панораму, поместив в слот для фона в Environments. В редакторе материалов меняем параметры карты значения Offset U, двигая солнце как можно ближе к "точке солнца панорамы", которая отмечена у нас Target-ом. После этого уже назначаем на фон уже HDRI карту и ставим ей значение Offset U от предыдущей карты. Итак, у нас теперь солнце HDRI на том же месте что и солнце на панораме. По желанию можно назначить на отражения материалов стекла карту с панорамой.

02f3f9f18a6a21fafd59d172c6b45225.jpeg

Тут на GIFках показано подробнее:

https://i.gifer.com/3Nrxw.gif

Так как HDRI внизу "земля" скорей всего не будут похожи на землю нашей панорамы (у меня вообще чёрный цвет), создаю фэйковую поверхность цветом нашей "земли", что бы падающий свет от неё дал нужный тон моделям. В моём случае я создал плоскость ниже модели белого цвета, имитирующую снег, и исключил её в Proprietis - visible to camera. Но всё же лучше находить HDRI максимально похожую с панорамой по цветовым тонам. Я специально не стал подбирать, дабы показать принцип.

Ещё у меня есть объекты попадающие в воду. Я создал модель воды с волнами и расставил в нужных местах соприкосновения. В дальнейшем в постобработке можно будет слить её с существующим изображением. Отражение на данном материале я назначил картой панорамой.

f8d75da7f36eb1bd1b66610b475ddfb3.jpeg

Далее настраиваем камеру: Переводим камеру в режим Spherical 360. Ставим Target камеры так, что бы он по Y был равен 0, а по Z (высота) был равен высоте, на которой стоит наша камера. Y выставляем в ноль для того, что бы рендер наших объектов совпадал с нашей панорамой при слиянии их в слоях при постобработке. Иначе придётся накладывать фрагментами.

4add24f40c7c09e69e9cb2101d87a6bb.jpeg

Ставим разрешение рендера такое же как и наша панорама. Не забываем в обязательном порядке сохранять наш альфа-канал. Ну и собственно рендерим. После уже собираем всё в фотошопе. Добавляем тени... ну вы знаете думаю что и как. Ну и собственно получаем результат.

Если рендер идёт очень тяжко, или вовсе не начинается (например в связи с малым объёмом оперативы), то можно рендерить частями с помощью Crop или Region.

Результат после объединения в Фотошопе нашего рендера и панорамы выходит таким:

7db8f02d1c0a692523ab7b153b40d211.jpeg

Назначая на фон нашу готовую панораму в пустую сцену 3ds Max-а, можно вытаскивать за пару минуту такие рендеры

97374873cbaca39faab0a1a248ea8072.jpeg

Далее загружаем уже полученную панораму для её просмотра, на различные сайты по вашему усмотрению.

Я для примера залил на kuula.co

Ну и повторю результат https://kuula.co/post/7Y1fb

Всем Спасибо!. Надеюсь кому нибудь пригодиться. Понимаю что много ещё нюансов, но тема достаточно широкая, и я постарался затронуть основные.

Постараюсь ответить на все ваши вопросы.