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?
xna
2d
lighting
graphic-effects
Christopher Horenstein
źródło
źródło
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 .
źródło
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.
źródło
Po kilku poszukiwaniach ten blog wydawał się dobrym początkiem:
http://www.soolstyle.com/2010/02/15/2d-deferred-lightning/
koniecznie przeczytaj komentarze, ponieważ są tam pewne ulepszenia, ale post na blogu pozwoli Ci zacząć :).
źródło