Бейк текстуры планеты в equirectangular проекцию

Blender предоставляет огромные возможности для создания процедурных текстур и материалов. В частности в Blender можно создавать красивые и интересные процедурные текстуры для планет. Однако нодовая система Blender не совместима со сторонними рендер- и игровыми движками, и созданные процедурно текстуры нужно запекать в растровое изображение.

Обычно для наложения изображений на сферический объект, в нашем случае – на планету, используется Equirectangular проекция.

Пусть, например, мы создали нужную нам процедурную текстуру Марсианской планеты.

Теперь сохраним ее в файл.

Для рендера текстуры в файл необходимо использовать рендер-движок Cycles так как только в нем есть нужный нам режим работы камеры.

Разместим в центре нашей сферы-планеты камеру (shift + a – Camera), выровняем ее горизонтально относительно планеты и настроим для нее следующие параметры:

  1. Focal Length поставим равный 5 мм.
  2. Установим тип (type) Panoramic.
  3. Установим значение Panorama Type в Equirectangualr.

Разрешение рендера нужно выставить в соотношении 2 к 1 по горизонтали. Например, установим вертикальный размер рендера (по оси Y) равным 1024. Тогда горизонтальный размер должен быть в 2 раза больше – 2048.

Если сейчас выполнить рендер, в результате мы получим черный прямоугольник. Так получается потому, что мы рендерим нашу планету “изнутри”, где нет ни одного источника света. Для того чтобы камера увидела текстуру, ее нужно подсветить.

Добавим в центр сферы точечный источник освещения (shift + a – Light – Point). Такой источник света освещает равномерно все вокруг себя. Мощность источника нужно отрегулировать в зависимости от размеров нашей сферы-планеты.

Теперь запустим рендер нажатием на клавишу F12.

В результате мы получили изображение в нужной проекции, которое остается лишь сохранить в файл нажатием клавиш alt + s.

Для проверки корректности созданной нами текстуры мы можем здесь же в Blender добавить рядом еще одну сферу и наложить на нее созданную текстуру обычным образом с использованием нода Environment Texture.

Как мы видим, никаких искажений в рисунке текстуры не происходит, все выглядит, так как и на процедурном варианте.

0 0 голоса
Article Rating
Подписаться
Уведомить о
guest

0 Комментарий
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии