Jak wdrażane jest oświetlenie 2D?


58

Zastanawiam się, jaki jest najlepszy sposób na uzyskanie efektu „oświetlenia” w grach 2D. Na przykład, jeśli moja główna postać świeci, jakich technik mogę użyć, aby ukończyć efekt wizualny postaci świecącej, gdy znajduje się ona w pobliżu innych obiektów, na które wpłynęłoby światło?

Odpowiedzi:


39

Możesz nałożyć prostą teksturę z efektem jarzenia z miękkimi przezroczystymi krawędziami. Jeśli chcesz mieć oświetlenie / cienie podobne do tego, co można znaleźć w świecie 3d, możesz zrobić coś takiego: http://www.catalinzima.com/2010/07/my-technique-for-the-shader-based-dynamic -2d-shadows / . Jeśli jednak dopiero zaczynasz przygodę z HLSL, może to być trochę za dużo.

edycja : Natknąłem się na fajny samouczek HTML5 2d


Ten link jest dokładnie tym, czego szukałem. Nie mogę ci wystarczająco podziękować; to jest bardzo pomocne.
Christopher Horenstein

7

Istnieje projekt XNA typu open source, który jest doskonałą biblioteką i implementacją oświetlenia 2D, która okazuje się być zgodna z profilem zasięgu XNA 4.0 - Krypton XNA .


4

Potrzebujesz efektu shadera po filtrze napisanego w HLSL lub GLSL. Moduł cieniujący odbierałby współrzędne odtwarzacza i modyfikował jasność dla wszystkich pikseli w określonym zakresie. XNA obsługuje dość dobrze shadery 2D.

Innym rozwiązaniem byłoby symulowanie jasności za pomocą tekstury z kanałem alfa. Tekstura byłaby w większości czarna, z wyjątkiem przezroczystego miejsca na środku. Ta tekstura będzie nakładką na ekran gry z przezroczystym miejscem na środku „świecącej” postaci gracza. Stare gry przygodowe wykorzystywały tę technikę do symulacji latarek.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.