Наложение текстуры на планету

Правильное наложение текстур на планеты, при создании космического 3D пейзажа, играет одну из ключевых ролей. Если текстура наложена криво, “едет” или на ней заметны четкие швы в местах стыков – хорошей картинки никогда не получится. В Blender есть удобный способ корректно расположить текстуру на поверхности планеты.

Текстура, корректно наложенная на планету
Текстура, корректно наложенная на планету

Обычно текстура поверхности планеты имеет такой вид:

Текстура поверхности Земли (изображение с сайта nasa.gov)
Текстура поверхности Земли (изображение с сайта nasa.gov)

Основная проблема наложения такой текстуры на сферу планеты состоит в том, что сфера, в конфигурации UV Sphere, предоставляемая в Blender, не очень хорошо раскладывается в плоскую “развертку”. Можно попробовать разные алгоритмы развертывания:

Разные варианты развертывания сферы
Разные варианты развертывания сферы

 Варианты развертывания UV Sphere (слева направо):

  1. Стандартное развертывание: u – Unwrap
  2. Сферическая проекция от экватора: u – Sphere Projection (View on Equator)
  3. Сферическая проекция по объекту: u – Sphere Projection (Align to Object)
  4. Развертывание с подгонкой следования от активного полигона: u – Unwrap – u – Reset – u – Follow Active Quad – подогнать положение и масштаб развертки к изображению

Четвертый способ дает возможность наложить текстуру на планету после небольшой подгонки достаточно корректно и этим способом вполне можно пользоваться.

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

  1. Создать для сферы-планеты новый материал
  2. Добавить нод текстуры окружения
    1. shift+a – Texture – Environment Texture
    2. соединить с нодом Diffuse
  3. Добавить нод Mapping
    1. shift+a – Vector – Mapping
    2. соединить с нодом Environment Texture
  4. Добавить нод Texture Coordinates
    1. shift+a – Input – Texture Coordinates
    2. выход Object подать на нод Mapping
  5. В ноде Mapping установить
    1. Scale
      1. X = -1

Текстура планеты будет наложена на ее поверхность. Нод Environment Texture накладывает текстуру на сферу, отражая ее по горизонтали. Чтобы скорректировать это, в связку нодов введен нод Mapping и установлен масштаб по оси X равный -1.

Наложение текстуры на планету с использованием нода Environment Texture
Наложение текстуры на планету с использованием нода Environment Texture

 Текстура поверхности Земли взята с сайта nasa.gov только в образовательных целях.

Nikita

Автор: Nikita

Blender add-ons developer and articles writer.