Найти в Дзене
ThreeCube Studio

Создание PBG материала для текстур MSFS2020 (бетона, асфальта, наземных покрытий)

Здравствуйте, уважаемые сценостроители! Сегодня поговорим о создании PBR текстур (бетона, асфальта, наземных покрытий) для Ваших проектов в #Microsoft Flight Simulator 2020 ( далее msfs2020). Сам процесс добавления собственных или запрограммированных ранее наземных текстур в симуляторе довольно прост. Для этого в проекте нужно добавить библиотеку материалов (MaterialLibs). Делается довольно просто: В главном меню проекта (project editor Скрин 1) добавить новую Asset Group Скрин 2. Имя советую создать по названию аэропорта например "ICAOMyMaterials" Редактор материалов (Materials Editor) можно вызвать в меню tools на главной панели SDK. Либо редактор откроется автоматически, при добавлении полигона, или перрона в параметрах кнопкой, где указан материал (для понимания скрин 3) Применить существующий материал к плоскости не сложно, достаточно в редакторе (скрин 4) выбрать нужный материал и перетащить мышкой в параметры или кликнуть в параметрах по кнопке материала как на скриншоте

Здравствуйте, уважаемые сценостроители!

Сегодня поговорим о создании PBR текстур (бетона, асфальта, наземных покрытий) для Ваших проектов в #Microsoft Flight Simulator 2020 ( далее msfs2020).

Сам процесс добавления собственных или запрограммированных ранее наземных текстур в симуляторе довольно прост. Для этого в проекте нужно добавить библиотеку материалов (MaterialLibs). Делается довольно просто:

В главном меню проекта (project editor Скрин 1) добавить новую Asset Group Скрин 2. Имя советую создать по названию аэропорта например "ICAOMyMaterials"

Скрин 1
Скрин 1
Скрин 2
Скрин 2

Редактор материалов (Materials Editor) можно вызвать в меню tools на главной панели SDK. Либо редактор откроется автоматически, при добавлении полигона, или перрона в параметрах кнопкой, где указан материал (для понимания скрин 3)

Скрин 3
Скрин 3

Применить существующий материал к плоскости не сложно, достаточно в редакторе (скрин 4) выбрать нужный материал и перетащить мышкой в параметры или кликнуть в параметрах по кнопке материала как на скриншоте 3.

скрин 4
скрин 4

Перейдём к процессу создания материала:

Чтобы создать новый материал достаточно открыть в редакторе (Materials Editor), инспектор материалов (Material Inspector) через File - New.

В инспекторе можно создать разные типы материалов, но мы сегодня поговорим о создании бетона для перрона. Для наглядности скрин 5. Только в Surface выберем Cement

имя Name - как будет называться материал.

Скрин 5
Скрин 5

Слева в чёрном окне выберем стандартную картинку текстуры полигона.

  • В этой статье предполагается заранее скаченная или нарисованная текстура бетонной плиты.
Если вы хотите создать собственную бесшовную текстуру, советую подписаться на наш канал в начале / конце данной статьи или перейдя по ссылке ThreeCubeStudio, чтобы не пропустить следующую публикацию в которой запланировано поделиться опытом создание подобных текстур.

Скопируем готовую текстуру в папку нашего проекта, откуда симулятор будет её подгружать. Например путь в проекте: \PackageSources\MaterialLibs\TCSUUYSMaterial

На данном этапе, при добавления полигона, перрона с применением созданного материала особенностей нет, в симуляторе будет подгружена картинка без отблесков и неровностей. Группа скриншотов 6.

Нам интересно добавить PBR или (Metal Roughness AO) текстуру - это правый чёрный квадрат (скрин 5). Чтобы это сделать для начала нужно создать текстуру composite (comp).

Свойства текстуры (COMP) каналов RGB:

  • Red: Metalness
  • Green: X-Normal
  • Blue: Roughness
  • Alpha: Z-Normal

Пару слов о каждом:

(Red: Metalness) Красный: металлический оттенок - этот канал определяющий область материала металла, Чем ярче красный канал, тем более металлической является область.


(Green: X-Normal) Зеленый: X-Нормаль - этот канал содержит x-векторную составляющую нормали к поверхности. Другими словами, в RGB это XZY

(Blue: Roughness) Синий: шероховатость - этот канал используется для определения неровностей поверхности, которые могут вызвать рассеивание света. На более грубых участках будут видны более крупные и тусклые блики, в то время как на более гладких участках будут видны более четкие блики. В этом канале чистый ярко-синий цвет будет эквивалентен самому гладкому, а самый темный синий будет самым грубым.
Альфа: Z-Нормаль - этот канал содержит z-векторную составляющую нормали к поверхности, в RGB это
XZY.

Каналы RGB и векторы XZY будет рассмотрено при создании текстуры в графическом редакторе.

Перейдём к созданию:

Потребуется:

  1. Cайт генератор текстуры RGB - https://pbr-gen.vercel.app/
  2. Бесплатный графический редактор GIMP - https://www.gimp.org/

Скаченная или созданная текстура (скрин 7)

скрин 7
скрин 7

Если ещё не установлен или не обновлён графический редактор GIMP, советую запустить процесс установки, А тем временем перейдём на online сайт генератора RGB текстур. Добавим текстуру в окно для преобразования (скрин 8)

скрин 8
скрин 8

Ниже в генераторе поставил значения Normal map 0.5 и Roughness 1.0.

Последнее - это карта высот текстуры, в описании к данному элементу говориться, что чёрные область - низкий порог, светлые - высокий.

Нам не нужно, чтобы наша текстура выглядела как "кнопки", поэтому тёмная область в данном случае преобладает.

После преобразования текстуры можно скачать одной кнопкой (скрин 9)

скрин 9
скрин 9

С двумя картами нам предстоит работать, откроем и отправим их в графический редактор GIMP (группа скриншотов 10)

В редакторе GIMP создадим новую текстуру по размеру наших добавленных карт в примере 2048/2048. Файл - создать (в параметрах) группа скриншотов 11:

1. Цветовое пространство RGB

2. Точность 16 бит

На созданной текстуре добавим Альфа канал (слой - прозрачность - добавить альфа канал) (Скрин 12)

скрин 12
скрин 12

Следующим этапом разобрать каналы на слои скрин 13 :

(цвета - составляющие - разобрать)

скрин 13
скрин 13

Параметрах, что и на сколько частей будем разбирать ставим RGBA (скрин 14)

скрин 14
скрин 14

После применение функции (разобрать) добавились уровни из каналов скрин 15 п.1. Чтобы не запутаться дальше, закроем изначальную область (где крестик п.2).

скрин 15
скрин 15

Тоже самое (разобрать на области) нужно проделать с картой нормалей (Normal map) скрин 16. (цвета - составляющие - разобрать), только режим поставим RGB, а не RGBA

скрин 16
скрин 16

Вспомним, о чём говорили про векторы RGB - соответствуют XZY (скрин 17)

-- Если внимательно читали имеется ввиду про свойства текстуры (COMP) каналов RGB --

скрин 17 - векторы после преобразования карты нормалей (Normal map)
скрин 17 - векторы после преобразования карты нормалей (Normal map)

Следующим важным шагом скопировать из преобразованной карты нормалей (Normal map) и карты высот (Roughness map), в уровни созданной текстуры сдвигая картинку на нужный слой (группа скриншотов 18).

кнопка сдвига
кнопка сдвига

На созданной текстуре подписал свойства текстуры (COMP)

Порядок такой:

  1. Из normal map красный слой в слой Green: X-Normal
  2. Из Roughness map в слой Blue: Roughness
  3. Из normal map зелёный слой (Z) в слой Alpha: Z-Normal

Осталось собрать полученную текстуру в один слой Скрин 19

(Цвета - составляющие- собрать)

В свойствах режим RGBA (скрин 20)

Скрин 19
Скрин 19
Скрин 20
Скрин 20

Получился результат как на скриншоте 21.1 если канал red чёрный, скрин 21.2 если канал red белый. Большой разницы в результате material inspector в MSFS не замечено.

Далее экспортируем в папку с материалами, где наш проект, для добавления в инспекторе материалов (скрин 22).

Фаил - Экспортировать как:

Создаём имя, выбираем путь и расширение файла png

Скрин 22
Скрин 22

В инспекторе добавляем нашу текстуру COMP, применяем и сохраняем.

(Скрин 23)

Скрин 23
Скрин 23

Если нужно перегрузить текстуру, тогда для полигона выберем любую другую текстуру и обратно созданную

Полученный результат можно наблюдать на группе скриншотов 24

В данном примере, выбраны опции при создании Normal maps и Roughness map хаотично, если полученный результат не устраивает можно изменить параметры, чтобы блики были не на столько сильные.

Для себя вывел нормальную середину - в генераторе PBR https://pbr-gen.vercel.app/ для Normal 0.0 / Roughness 5.0. Так же для Roughness
в gimp высветлить путём белого цвета режим исключение рисунок 25
Скрин 25
Скрин 25

На результате видно мягкое преломление света, и не бросается в глаза:

Заключение:

Очевидно, добавив правильно созданную текстуру COMP, не теряется цветопередача, как если добавить простую текстуру normal map.

На своём опыте испробовал разные уровни normal map и разные программы, результат был идентичен как на скриншоте 26.

скрин 26
скрин 26

__________________________________________________________________________________________

  • Уважаемы читатели, если Вам данная статья понравилась, подписывайтесь на канал студии.
  • При возможности поддержите канал.
  • Группа в ВК по ссылке

Спасибо за Ваше внимание, легкого создания материалов и удачных проектов!!

Основа для создания статьи Онлайн документация по SDK_MSFS_2020

#созданиеPBRматериаладляMSFS, # текстурыNormalMap для MSFS2020