LibGDX – Box2D: luz realist y capas

Tengo algunos problemas con mi juego actual. Breve descripción: Es un juego 2D en el que debes evitar las luces o perder HP.

Mi problema es el siguiente:

Problema de Luna http://gameimg.dokry.com/libgdx/140313073616712472.png

Aquí está el process de renderizado:

  1. El background está dibujado
  2. La image de la Luna está dibujada
  3. La luz del punto se aplica
  4. La capa de colisión y las imágenes adjuntas están dibujadas
  5. El jugador está dibujado
  6. La image de primer plano (en la parte superior izquierda e inferior)

Mi problema es que la representación no parece realist. Necesito ayuda para hacer que la luz provenga de "detrás" de las colisiones y aplicarla en todas partes.

Gracias por tu ayuda.

idealmente, configura grupo / máscara para sus luces y objects. Usando esto, puedes decirle a tu punto de luz que ignore esas twigs. Vea un excelente artículo escrito aquí .

alternativamente, como un enfoque de fuerza bruta, puede renderizar luces antes de dibujar su twig (aunque debería REALMENTE usar el enfoque de máscara anterior):

// draw all objects that should create shadows batch.begin(); ... batch.end(); rayHandler.setCombinedMatrix(camera.combined); rayHandler.updateAndRender(); // draw your branches that should not cast shadows batch.begin(); ... batch.end();