[Работа с 3D-графикой, Обработка изображений, Компьютерная анимация, Научно-популярное] Image Processing изображений из космоса для CG

Автор Сообщение
news_bot ®

Стаж: 6 лет 4 месяца
Сообщений: 27286

Создавать темы news_bot ® написал(а)
11-Ноя-2020 21:31

Приветствую! Меня зовут Тим, я CG артист, режиссёр и автор научно-популярного проекта SGR A. В этой статье я хотел бы рассказать как создаю текстуры космических тел как для своих проектов, так и для кино, используя реальные снимки космических аппаратов.

Большое красное пятно сделано симуляцией дыма и частиц на основе оригинального изображения* (C4D+Octane+x-particles)
Сразу хочу предупредить что статья не является рекламой. Я лишь хочу поделиться результатами своей работы.
Некоторое время назад я увлёкся обработкой изображений с различных космических аппаратов. Довольно занятная штука. Всё началось с того что мне понадобились текстуры планет в очень высоком разрешении. Но их почти нигде не оказалось. И тогда я решил сделать свой собственный сборник текстур Солнечной Системы в 16к. Это оказалось совсем не так просто, как кажется…
Дело в том что нельзя просто скачать обработанные картинки с сайта НАСА и использовать их в своих целях, особенно если речь идёт о коммерческом использовании. Потому что каждый обработанный исходник изображения из космоса имеет авторские права человека, который совершил эту обработку. Прошерстив кучу официальных и неофициальных форумов по этой теме, я понял что самым активным и уважаемым в этом деле считается некий Bjorn Jonsson.
Предположительно он работает в НАСА и ему принадлежит большинство обработанных изображений и составленных карт различных планет и спутников. Именно поэтому мной было принято волевое решение делать практически всё с нуля и использовать сырые исходники, на которые никакие авторские права не распространяются (т.к. изображения сделаны в космосе).
Планеты пришлось собирать буквально по кусочкам, используя изображения на подобии таких:

Кусок поверхности Европы
Изображения с разных космических аппаратов в основном очень низкого качества и чёрно-белые. В идеале должно быть три чб снимка одной области для красного, зелёного и синего каналов, но к сожалению их очень непросто найти и над цветом приходится работать отдельно.
Поиск изображений на сайте OPUS выглядит примерно так:

:)
Проблему с низким качеством изображений мне помогают решать нейросети. В частности используется софт от Topaz Labs. Каждый исходник чистится от шума, апскейлится в несколько раз и приобретает резкость с помощью трёх разных нейросетей и фотошопа.
Ниже представлен процесс на примере одного изображения части поверхности Ио:

Поверхность Ио до обработки нейронными сетями (800х800)

Поверхность Ио после обработки нейронными сетями (4800х4800)

На основе обработанного изображения создаются каналы Color, Roughness, Normal и Displacement

Финальный результат (C4D+Octane)
Но это только часть космического тела. А нам нужны полноценные текстуры. Поэтому после обработки исходников нейронками, мы начинаем их склеивать в мозаику…
Тут возникает один болезненный момент — полюса планет. Так как для текстуры на шар нам требуется сферическая проекция, то создание полюсов приходится совершать в несколько этапов.
Первым этапом склеиваем полюса во фронтальной проекции с альфа-каналом:

Один из полюсов Юпитера
Далее переходим в 3д редактор и натягиваем их на сферу:

Создаём сферическую камеру и рендерим картинку 360 с пропорциями 2 к 1:

Теперь остаётся только совместить изображения центральной области и полюсов:

Финальный результат текстуры Юпитера
После завершения создания основной карты Color, приступаем к созданию каналов Normal, Roughness, Specular и Displacement.
В этом нам помогает Photoshop. На выходе получаем пять таких вот текстур:

По порядку: Color, Normal, Roughness, Specular и Displacement
Таким образом я сделал коллекцию семи планет Солнечной системы, одного Плутона и шести различных лун в 16к.

Теперь нам остаётся только создать шейдер нашей планеты в любом 3д редакторе и наслаждаться красотой космоса. Тут уже всё зависит от вашего воображения:

Юпитер (C4D+Octane)

Ио (C4D+Octane)
Так-же производились тесты в Unreal Engine 4, предварительно уменьшив размер текстур до 8к. Результат очень порадовал:

Один из примеров использования текстур созданных таким способом можно увидеть в моём короткометражном фильме о космических путешествиях или в тестовом шоте с пролётом мимо Европы
P.S. На самом деле нюансов в разы больше. Например Displacement map, в идеале должна быть 32 битной EXR. Недавно я придумал способ создавать такие карты. Но об этом напишу если только эта тема в принципе кому-то зайдёт.
Спасибо за внимание! Надеюсь что было интересно.
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_rabota_s_3dgrafikoj (Работа с 3D-графикой), #_obrabotka_izobrazhenij (Обработка изображений), #_kompjuternaja_animatsija (Компьютерная анимация), #_nauchnopopuljarnoe (Научно-популярное), #_kosmos (космос), #_cgi, #_nejronnye_seti (нейронные сети), #_solnechnaja_sistema (солнечная система), #_planety (планеты), #_astronomija (астрономия), #_kino (кино), #_tekstury (текстуры), #_tekstury_planet (текстуры планет), #_sgr_a, #_cinema_4d, #_photoshop, #_octane, #_unreal_engine_4, #_rabota_s_3dgrafikoj (
Работа с 3D-графикой
)
, #_obrabotka_izobrazhenij (
Обработка изображений
)
, #_kompjuternaja_animatsija (
Компьютерная анимация
)
, #_nauchnopopuljarnoe (
Научно-популярное
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 03-Июл 22:42
Часовой пояс: UTC + 5