2D 조명은 어떻게 구현됩니까?


58

2D 게임에서 "조명 효과"에 접근하는 가장 좋은 방법이 무엇인지 궁금합니다. 예를 들어, 주인공이 빛을 발하는 경우 빛에 영향을받는 다른 물체 근처에있을 때 빛을 발하는 캐릭터의 시각적 효과를 완성하기 위해 어떤 기술을 사용할 수 있습니까?

답변:


39

부드러운 투명 가장자리로 간단한 광선 효과 텍스처를 오버레이 할 수 있습니다. 3D 세계에서 찾을 수있는 것과 유사한 조명 / 그림자를 원한다면 다음과 같이 할 수 있습니다 : http://www.catalinzima.com/2010/07/my-technique-for-the-shader-based-dynamic -2d- 그림자 / . 그러나 HLSL을 처음 사용하는 경우에는 약간 너무 많을 수 있습니다.

편집 : 나는 멋진 HTML5 2d 라이트 튜토리얼을 우연히 발견했습니다.


그 링크는 내가 찾던 것입니다. 충분히 감사 할 수 없습니다. 이것은 매우 도움이됩니다.
Christopher Horenstein


4

HLSL 또는 GLSL로 작성된 포스트 필터 쉐이더 효과가 필요합니다. 쉐이더는 플레이어 좌표를 받고 특정 범위의 모든 픽셀의 밝기를 수정합니다. XNA는 2D 쉐이더를 매우 잘 지원합니다.

또 다른 해결책은 알파 채널이있는 텍스처를 사용하여 밝기를 시뮬레이션하는 것입니다. 질감은 중간에 투명한 점을 제외하고는 대부분 검은 색입니다. 이 텍스처는 우리가 '글로우'플레이어 캐릭터를 중심으로 투명 스팟으로 게임 화면 위에 오버레이됩니다. 오래된 모험 게임은이 기술을 사용하여 손전등을 시뮬레이션했습니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.