Як реалізується 2D освітлення?


58

Мені цікаво, який найкращий спосіб наблизитись до ефекту «освітлення» у 2D іграх. Наприклад, якщо мій головний герой світиться, якими методами я можу скористатись, щоб виконати візуальний ефект, що світиться персонажа, коли він знаходиться поруч з іншими предметами, на які би впливало світло?

Відповіді:


39

Ви можете накласти просту текстуру ефекту світіння з м'якими прозорими краями. Якщо ви хочете, щоб освітлення / тіні були схожі на те, що ви можете знайти в 3d-світі, ви можете зробити щось подібне: http://www.catalinzima.com/2010/07/my-technique-for-the-shader-based-dynamic -2d-тіні / . Однак якщо ви новачок у HLSL, то це може бути трохи забагато.

редагувати : Я натрапив на приємний навчальний посібник HTML5 2d


Це посилання саме те, що я шукав. Я не можу вам подякувати достатньо; це надзвичайно корисно.
Крістофер Хоренштейн


4

Вам знадобиться шейдерний ефект після фільтра, записаний HLSL або GLSL. Шейдер отримав би координати програвача та змінив яскравість для всіх пікселів у певному діапазоні. XNA підтримує 2D шейдери досить добре.

Іншим рішенням було б імітувати яскравість за допомогою текстури з альфа-каналом. Текстура була б переважно чорною, за винятком прозорого плями посередині. Ця текстура - це накладення на ваш ігровий екран з прозорим плямою, зосередженим на «світиться» символі гравця. Старі пригодницькі ігри використовували цю техніку для імітації ліхтариків.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.