Як я можу створити ефект «палаючого», як на заголовному екрані «Окаріни часу»?


102

Я хотів би відтворити такий спалахуючий ефект, як той із логотипу на титульному екрані гри N64 «Легенда про Зельду: Окарина часу», показаний нижче:

введіть тут опис зображення

Швидкий огляд текстур, які використовуються в ПЗУ, дає єдину текстуру 32х32, схожу на ефект, але я не знаю, як це зображення (якщо припустити, що це правильне) перетворюється на ефект, помічений на логотипі.

Як я можу реалізувати щось подібне?


2
Я трохи підкоригував ваше запитання, щоб задати подібний ефект, оскільки ми не розглядаємо запитання про те, як інші ігри реалізують конкретні результати на тему.
Джош

Ви запитуєте процедурну техніку або простих попередньо зроблених ефектів теж достатньо?
Bálint

У мене немає часу та знань, щоб написати повну відповідь, але, можливо, це можна зробити за допомогою кольорового велоспорту .
Олександр Вейланкорт

@JoshPetrie Спасибі, саме цим я і був після
nathanburns

1
З того, що я пам’ятаю про техніку, важка частина походить від створення зображення за допомогою пікселів за допомогою відповідної палітри, а не кольорів як таких. Їзда на велосипеді виконується в коді над підмножиною кольорів.
Олександр Вейланкорт

Відповіді:


248

Спочатку зробіть біло-чорну маску свого логотипу / тексту та розмийте його.

розмита форма логотипу

Потім створіть тверду текстуру твердого шуму (GIMP, що використовується тут)

шумовий текстури

Використовуйте фільтр Map-> Pile ..., щоб створити візерунок з плиткою 3x3 (у цьому прикладі 128x128 x 3 = 384x384) для наступного кроку, щоб наша текстура все-таки повторювалася - ми збережемо лише центральну частину.

попереднє зображення, викладене плиткою 3 на 3

Використовуйте Розмиття-> Розмиття руху ..., щоб розмити текстуру вгору і тримати лише центр 1/3 (назад до 128x128)

шум плюс розмиття руху

Помножте обидві текстури разом на GPU і використовуйте це для непрозорості.

маска в поєднанні зі шумом

Потім анімуйте її, перемістивши текстуру візерунка вгору по текстурі маски:

маска в поєднанні з рухомим шумом

Готово для анімаційної частини.

Потім ви можете застосувати градієнтну карту (чорний -> червоний -> жовтий -> білий), щоб надати їй кольори вогню:

форма логотипу з кольорами вогню

Інші кольори можуть бути використані для створення примарного синього вогню, світло-жовтого поля аури, більш димного ефекту тощо.

Тепер, якщо ви поєднаєте це як добавку над вашим логотипом та 3D-візуалізацією, ви отримаєте бажаний ефект:

тло+ логотип+ вогонь=палаючий логотип над фоном

Ефект може потемніти, відрегулювавши яскравість маски та / або яскравості візерунка, та / або колір вершин, та / або карту кольорів градієнта до заданого рівня.

Ви навіть можете використовувати два текстуровані візерунки разом (маска * шаблон вогню * візерунок вогню) з різною швидкістю та напрямками для створення більш складного ефекту вогню.


Технічно на N64 вони, можливо, створили наближення маски, використовуючи сітку трикутника та колір вершини замість текстури маски через обмеження апаратними засобами N64 щодо текстур, але кінцевий результат такий же ((колір вершини * текстура текстури) проти ( текстура маски * текстура візерунка)).

Вершина кольорового макета

Ми все ще можемо використовувати вершинні кольори, але через 20 років ми можемо полегшити своє життя і просто використовувати 2 текстури і більше, навіть сьогоднішні мобільні графічні процесори можуть без проблем обробляти додаткову текстуру сірого кольору 256х128.


3
Я думаю, що у нас є переможець - дякую @StephaneHockenhull, саме таку техніку я шукав
nathanburns

7
Свята корова, це хороша відповідь!
Джон Гордон

1
"примарний" чи "примарний"?
CJ Dennis

1
Він також має значення "жахливий на вигляд". "Не носіть цю краватку; це прикро". Я трактував ваше речення як "Інші кольори можуть дати дійсно поганий ефект або дим". "Примарний" однозначний, навіть якщо він не такий сильний, як хотілося б.
CJ Dennis

1
Я б хотів, щоб я міг дати вам ще одну репутацію за найсерйозніший малюнок коня.
розпізнавач

2

Є кілька способів, як це можна зробити, окрім моєї голови,

1) Майте полум'я + логотип все в одному зображенні і по суті спрайтового аркуша оживляйте його.

2) Візуалізуйте логотип у шарі інтерфейсу та розмістіть навколо нього деякі ефекти частинок шару інтерфейсу.

З вигляду цього зображення, схоже, є тришарові шари щит і меч, полум'я, текст (впорядковано зі спини вперед).

Існує багато способів отримати подібний ефект, який ви вибрали, буде залежати від того, який двигун ви розробляєте і який ви можете реалізувати.


0

Якщо ПЗУ містять невелику текстуру полум'я, то я б припустив, що це робиться з якимось ефектом частинок.

Це можна зробити, попередньо поставивши спрайт на екран для заголовка та логотипу. Потім розмістіть кілька випромінювачів частинок, які створюють ефект полум'я за заголовком спрайту. Тобто їх глибина Z / екрана така, що вони відображаються за заголовком.

Ось приклад використання ефектів частинок GameMaker для створення полум'я, яке може дати вам певні думки щодо потенціалу цього підходу ...

http://martincrownover.com/gamemaker-examples-tutorials/particles-fire/


Дякую за пропозицію - якщо припустити, що текстура не була такою, як у підручнику, з яким ви пов’язані, але замість цього заповнив простір 32х32 без прозорості, чи є очевидний спосіб зробити це частинками?
Натанбурнс

Я просто створив би свою текстуру полум'я для частинки, якщо оригінал не має прозорості. Моє припущення тут полягає в тому, що, якщо оригінальний заголовок не виконаний з анімованим спрайтом (що включає ефект полум’я), це, напевно, ефект частинок.
Тім Холт

@TimHolt Можливо, ви завищуєте апаратні можливості Nintendo 64. Для створення "твердого" ефекту полум'я, таким чином, можливо, знадобилося б набагато більше частинок, ніж обладнання могло надати.
сутінки

1
@duskwuff - правда, але я не думаю, що користувач реалізує це на старому обладнання. Відповідь все ще є достовірною для будь-якої гідної (сучасної) системи.
Тім Холт

@duskwuff питання в тому, як це зараз реалізувати. Питання (та відповіді) про те, як інші ігри щось робили, тут не є темою. Апаратні можливості N64 тут не мають значення. (Дивіться коментар Джоша Петріса до питання)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.