В этом небольшом уроке для начинающих, вы узнаете как создать шейдер волшебного шара, похожий на Палантир, в Unreal Engine 4.
Весь проект шейдера можно скачать по ссылке в конце статьи - вы можете использовать его в любых целях.
Прежде всего, надо понимать, что несмотря на визуальную сложность, шейдер состоит из простейших слоёв, скомбинированных вместе. Шейдер содержит слои:
- Внутреннее сияние - Inner Glow
- Пульсирующий внутренний туман - Pulsing Fog
- Два слоя тумана - Fog Front и Fog Background
- Два слоя искр - Sparks Front и Front Back
- Три корректирующих слоя типа "Fresnel"
- Сияние по краям - Edge Glow
Внутреннее сияние - Inner Glow
Данный слой представляет собой простейшую функцию Fresnel. Параметры функции подобраны так, чтобы по центру сферы была видна светящаяся "изюминка".
Пульсирующий туман - Pulsing Fog
Пульсирующий туман сделан с помощь простейшей текстуры, сгенерённой в Photoshop. Текстура умножается на обычный синус - его аргументом является время.
Далее пульсирующий туман "умножается" на внутреннее свечение. Что из этого получается - на картинке ниже.
Fog Front и Fog Background
Как и всё, что есть в шейдере - это очень простые слои. В каждом слое использованы 2 бесшовные текстуры типа "Clouds", сгенерированные в Фотошоп. Для семплинга каждой из текстур используется Panner, причём паннеры имеют разную скорость. Текстуры перемножаются сначала друг на друга, а затем на цвет.
Результаты из обоих "слоёв тумана" далее просто суммируются. В результате материал получается глубину.
Sparks Front и Front Back
Эти два слоя подобны предыдущим двум, но их цель - создать искры, движущиеся внутри объекта.
Единственная особенность, которую можно выделить в этих слоях: для выборки текстур (текстура с набором точек, сгенерированная в Фотошоп) используется комбинация узла Panner и простейшей карты нормалей - благодаря этому искры при движении немного колыхаются. Также из слоя "Sparks Back" вычитается один из слоёв тумана - таким образом достигается эффект, будто бы искры скрываются слоем тумана.
Как и в случае тумана, два слоя искр смешиваются друг с другом обычным сложением.
Корректирующие слои типа "Fresnel"
Корректирующие слои, типа "1-Fresnel" используются для уменьшения светимости всех ранее созданных слоёв. Это даёт возможность уменьшить силу искр и тумана по краям шара.
Edge Glow
Данный слой добавляется самым последним. Функция Fresnel использована, чтобы дать объекту свечение по краям.
Если визуализировать этот слой, мы увидим изображение как на картинке ниже.
Результат
Несмотря на то, что материал у нас очень-очень простой, результат выглядит достаточно "Вкусно".
Проект, содержащий данный материал можно загрузить по ссылке:
https://drive.google.com/open?id=17bB6eLEjy-Gz-kXCQmkaGucWmBpSG5ix
Спасибо, что дочитали материал до конца. Надеюсь, вам понравился этот небольшой урок.