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

Правильное наложение текстур на планеты, при создании космического 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 только в образовательных целях.

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

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

В 4.5 не работает.
Выдает какую-то мазню.
При наложении через Image Texture накладывается корректно, даже без применения текстурных координат

Николай Орда
Николай Орда
9 лет назад

не пойму как сделать
shift+a — Texture — Environment Texture
по shift+a нет вкладки Texture.

Korchiy
9 лет назад
Ответить на  Николай Орда

Курсор должен находиться над окном редактора нодов (Node Editor).

Николай Орда
Николай Орда
9 лет назад
Ответить на  Korchiy

так. пошагово.
создал сферу.
создал материал.
открыл редактор нодов.
ткнул галку use nodes.
shift+acomment image

Korchiy
9 лет назад
Ответить на  Николай Орда

А, понятно. Нужно переключиться на рендер Cycles в верхнем меню — выбрать Cycles Render там, где сейчас стоит Blender Render.

Николай Орда
Николай Орда
9 лет назад
Ответить на  Korchiy

А, вон что. Работает с Cycles. Спасибо. Будем ковырять.

Николай Орда
Николай Орда
9 лет назад
Ответить на  Korchiy

Благодарю. Всё получилось.

Глеб
Глеб
8 месяцев назад
Ответить на  Korchiy

А в Блендере 3.4 всё описанное должно работать также хорошо? Просто у меня текстура|материал не отображается даже с искажениями.
Прошу прощения за глупый вопрос !
И прошу отнестись с пониманием.