2014-11-29 4 views
0

저는 2D sidescroller 게임을 만들고 있습니다.LibGDX - 방향/표면 조명

this tutorial을 사용하여 멋진 깜박 거리는 빛을 만들었습니다. 이 방법을 사용

enter image description here

, 어떻게 난 단지 표면에 나타나는 방향의 빛을 만들 것? 블록은 2D 바이트 배열로 저장됩니다.

또한 2D light [] [] 배열을 만들려고 시도하고 블록이 어디에 있던지에 따라 레벨을 계산했습니다. 그러나 다른 광원 (예 : 토치)과 작동시키는 것은 매우 어려웠습니다. 저는 이것을 위해 쉐이더를 사용하고 싶습니다. 훨씬 부드럽게 보입니다. 또한 블록으로 들어가는 방향 표시등이 희미해질 필요가 없습니다. 단단한 블록을 칠 때 빛이 완전히 멈춰야합니다.

+0

ypu가 bix2d 표시등을 보았습니까? – Veljko

+0

@Veljko 예, 있습니다. 그들은 셰이더만큼 좋은 곳을 보지 못합니다. 또한 각 블록마다 시체를 만들어야하는데 고통이 될 것입니다. (나는 box2D를 사용하지 않는다) – Anuken

답변

1

조명 효과 만지면에 적용하려면 블록이 투명/공기 블록에 연결되어있는 경우 원하는 빛의 변색을 시뮬레이트하는 블록 (자습서와 같은)에 라이트 맵을 적용하면됩니다 .

일부 개체에서 그림자를 너무 흐리게 처리하는 트리를 사용하려는 경우 (예 : 블록의 밝기가 덜 밝아지는 나무처럼 장면의 오 클루 젼지도를 만들 수 있고 후 처리에서 가능한 픽셀 빛 벡터의 반대 경로에 오 클루 터 픽셀.하지만 좀 더 까다 롭습 니다만, here을 도울 수있는 자습서가 있습니다. 이것은 그림자 드리 우기 조명에 관한 것이므로 멋진 결과를 제공합니다. :) 지향성 조명에도 적응 ​​가능).