Накладання текстури на планету - blender - interplanety

Правильне накладення текстур на планети, при створенні космічного 3D пейзажу, грає одну з ключових ролей. Якщо текстура накладена криво, «їде» або на ній помітні чіткі шви в місцях стиків - гарної картинки ніколи не вийде. У Blender є зручний спосіб коректно розташувати текстуру на поверхні планети.

Накладання текстури на планету - blender - interplanety
Текстура, коректно накладена на планету

Зазвичай текстура поверхні планети має такий вигляд:

Накладання текстури на планету - blender - interplanety
Текстура поверхні Землі (зображення з сайту nasa.gov)

Основна проблема накладання такої текстури на сферу планети полягає в тому, що сфера, в конфігурації UV Sphere, яка надається в Blender, не дуже добре розкладається в плоску «розгортку». Можна спробувати різні алгоритми розгортання:

Накладання текстури на планету - blender - interplanety
Різні варіанти розгортання сфери

Варіанти розгортання 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.

Накладання текстури на планету - blender - interplanety
Накладання текстури на планету з використанням нода Environment Texture

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