Blender предоставляет огромные возможности для создания процедурных текстур и материалов. В частности в Blender можно создавать красивые и интересные процедурные текстуры для планет. Однако нодовая система Blender не совместима со сторонними рендер- и игровыми движками, и созданные процедурно текстуры нужно запекать в растровое изображение.
Обычно для наложения изображений на сферический объект, в нашем случае – на планету, используется Equirectangular проекция.
Пусть, например, мы создали нужную нам процедурную текстуру Марсианской планеты.
Теперь сохраним ее в файл.
Для рендера текстуры в файл необходимо использовать рендер-движок Cycles так как только в нем есть нужный нам режим работы камеры.
Разместим в центре нашей сферы-планеты камеру (shift + a – Camera), выровняем ее горизонтально относительно планеты и настроим для нее следующие параметры:
- Focal Length поставим равный 5 мм.
- Установим тип (type) Panoramic.
- Установим значение Panorama Type в Equirectangualr.
Разрешение рендера нужно выставить в соотношении 2 к 1 по горизонтали. Например, установим вертикальный размер рендера (по оси Y) равным 1024. Тогда горизонтальный размер должен быть в 2 раза больше – 2048.
Если сейчас выполнить рендер, в результате мы получим черный прямоугольник. Так получается потому, что мы рендерим нашу планету “изнутри”, где нет ни одного источника света. Для того чтобы камера увидела текстуру, ее нужно подсветить.
Добавим в центр сферы точечный источник освещения (shift + a – Light – Point). Такой источник света освещает равномерно все вокруг себя. Мощность источника нужно отрегулировать в зависимости от размеров нашей сферы-планеты.
Теперь запустим рендер нажатием на клавишу F12.
В результате мы получили изображение в нужной проекции, которое остается лишь сохранить в файл нажатием клавиш alt + s.
Для проверки корректности созданной нами текстуры мы можем здесь же в Blender добавить рядом еще одну сферу и наложить на нее созданную текстуру обычным образом с использованием нода Environment Texture.
Как мы видим, никаких искажений в рисунке текстуры не происходит, все выглядит, так как и на процедурном варианте.