Amazon Lumberyard. Allegorithmic ‘s Substance.
Теория
Компания Amazon, с недавних пор, начала тесное сотрудничество с командой Allegorithmic и в последнем своем выпуске игрового движка lumberyard v 1.2 ввели набор инструментов для редактирования текстур Allegorithmic ‘s Substance.
Этот набор инструментов позволяет генерировать текстуры процедурно, в движке, без какого либо вмешательства в пользовательский код или затрат на огромное количество времени на создания художественных изображений. Так же теперь есть возможность изменения текстур в зависимости от изменения переменных, например влияние время или действий игрока. Как правило, создание текстур, необходимых для реагирующих сред требует много усилий и хорошей команды художников, но процедурно генерируемые текстуры теперь могут достичь практически того же результата.
Создавая различные текстуры для одних и тех же объектов, с использованием графиков Lumberyard Flow, можно изменить внешний вид в игре без повторного рендеринга. Это означает, что игроки могут увидеть изменение растений при влиянии на него фактора времени, влияние огня на объекты (почернение, обугливание и т.д.) или влияние ржавчины на металл, все благодаря процедурной генерации. Такие материалы, как дерево и растительность, будут выглядеть реалистичней, и иметь больше визуальных разнообразий, чем наложение текстур вручную.
Пользователи Lumberyard также имеют возможность импортировать .sbsar файлы, созданные с помощью инструмента Designer, использовать и изменять процедурные материалы, а также визуализировать работу в режиме реального времени. Пользователи могут создавать и экспортировать текстуры от редактора материалов для использования в других сценах или проектах.
Но это все слова, теперь давайте попробуем редактор текстур на практике.
Практика
После нескольких разбирательств с функциями редактора текстур выяснилось что, простые текстуры отредактировать невозможно, редактор принимает только файлы формата .sbsar. Мы пока не будем создавать файлы с таким расширением, а возьмем стандартные, которые идут с самим редактором.
Перейдем в папку dev/Gems/Substance/Assets и скопируем папку materials в папку с нашим проектом, в данном примере мы будем использовать стандартный проект SamplesProject.
Перед запускам проекта проверьте в настройках проекта включен ли Гем Allegorithmic ‘s Substance, если нет, то поставьте галочку и запустите проект.
Для тестирования редактора текстур создадим новый объект. На панели RolupBar выберем инструмент Designer и создадим что-то подобие стены.
Далее на панели инструментов вы наверно уже заметили, что появился новый инструмент Substance Editor, нажмите на этот инструмент и откроется тот самый редактор текстур.
Теперь необходимо добавить наши файлы, которые мы копировали в наш проект. Нажмите File — Import substance… и выберете файл brikWall.sbsar. В редакторе появится папка с этим файлом и возможностью его редактирования. Откройте наш файл и попробуйте настроить текстуры как вам нужно.
Примечание. Редактор достаточно интересный, у каждого файла есть свои настройки, попробуйте экспортировать другой файл и посмотрите какие настройки можно изменить.
После настройки файлов нужно экспортировать текстуры. Нажмите File — Export textures и выберете папку для сохранения. В итоге у вас должно получиться четыре файла.
Теперь к созданному нами объекту нужно применить эти текстуры. Выберете объект, и перейдите в редактор материалов. Создайте новый материал и в параметре texture maps, выберете те текстуры, которые экспортировали из редактора текстур. Параметру diffuse будет соответствовать текстура brickwall_04_diffuse и так далее. Затем примените материал к данному объекту.
Примечание. Так же можете изменить шейдер со стандартного illum на другой, например Eye.
В итоге получается довольно реалистичная кирпичная стена.
На видео показано как открыть файлы .sbsar и как применить текстуры к объекту.
На этом все. Удачных вам проектов!