Я бы хотел воссоздать пламенный эффект, подобный эффекту логотипа на титульном экране игры N64 «Легенда о Зельде: окарина времени», показанной ниже:
Беглый взгляд на текстуры, используемые в ПЗУ, дает единственную текстуру 32x32, которая выглядит похожей на эффект, но я не знаю, как это изображение (при условии, что оно правильное) преобразуется в эффект, видимый на логотипе.
Как я могу реализовать нечто подобное?
graphic-effects
nathanburns
источник
источник
Ответы:
Сначала сделайте белую на черном маску вашего логотипа / текста и размыте ее.
Затем создайте повторяющуюся (мозаичную) текстуру сплошного шума (здесь используется GIMP)
Используйте фильтр Map-> Tile ... для создания мозаичного шаблона 3x3 (в этом примере 128x128 x 3 = 384x384) для следующего шага, чтобы гарантировать, что наша текстура будет повторяться - мы оставим только центральную часть.
Используйте Blur-> Motion Blur ..., чтобы размыть текстуру вверх и сохранить только центр 1/3-й (обратно до 128x128)
Умножьте обе текстуры вместе на GPU и используйте это для непрозрачности.
Затем анимируйте его, перемещая текстуру шаблона вверх по текстуре маски:
Сделано для анимационной части.
Затем вы можете применить карту градиента (черный -> красный -> желтый -> белый), чтобы придать ему огненные цвета:
Другие цвета могут быть использованы для создания ужасного голубого огня, светло-желтого поля ауры, более дымного эффекта и т. Д.
Теперь, если вы объедините это в качестве добавки к вашему логотипу и 3D-рендерину, вы получите желаемый эффект:
+ + =
Эффект можно затемнить, отрегулировав яркость маски и / или рисунка, и / или цвета вершин, и / или градиентной карты цветов до заданного уровня.
Вы даже можете использовать два текстурированных рисунка вместе (Маска * Шаблон Огня * Шаблон Огня) на разных скоростях и направлениях, чтобы создать более сложный эффект огня.
Технически на N64 они могли создать аппроксимацию маски, используя треугольную сетку и цвет вершины вместо текстуры маски из-за аппаратного ограничения N64 в отношении текстур, но конечный результат тот же ((цвет вершины * текстура образца) vs ( маска текстуры * рисунок текстуры)).
Мы по-прежнему можем использовать цвет вершин, но 20 лет спустя мы можем упростить нашу жизнь и просто использовать 2 или более текстур, даже современные мобильные графические процессоры могут без проблем обрабатывать дополнительные 256x128 серых текстур.
источник
Есть несколько способов, которыми ты мог бы сделать это, но с моей головы,
1) Имейте пламя + логотип все в одном изображении и по существу спрайт лист оживить его.
2) Визуализируйте логотип в слое пользовательского интерфейса и разместите вокруг него эффекты частиц слоя пользовательского интерфейса.
Судя по внешнему виду этого изображения, это выглядит так, как будто есть 3 слоя слоев щита и меча, пламени, текста (упорядочены сзади и вперед).
Будет много способов получить подобный эффект, который вы выберете, в зависимости от того, какой движок вы разрабатываете и что вы можете реализовать.
источник
Если в ПЗУ есть небольшая текстура пламени, то я думаю, это делается с помощью какого-то эффекта частиц.
Это можно сделать, сначала разместив на экране спрайт для заголовка и логотипа. Затем поместите несколько эмиттеров частиц, которые создают эффект пламени за титульным спрайтом. То есть их глубина Z / экрана такова, что они визуализируются за заголовком.
Вот пример использования эффектов частиц GameMaker для создания пламени, которое может дать вам некоторые мысли о потенциале этого подхода ...
http://martincrownover.com/gamemaker-examples-tutorials/particles-fire/
источник