Crates.io | bevy_2d_screen_space_lightmaps |
lib.rs | bevy_2d_screen_space_lightmaps |
version | 0.14.0 |
source | src |
created_at | 2024-02-20 18:53:37.023957 |
updated_at | 2024-07-04 17:14:23.449858 |
description | Lighting plugin for 2D games made in the Bevy engine. This plugin uses the screen space lightmaps technique |
homepage | https://github.com/goto64/bevy_2d_screen_space_lightmaps |
repository | https://github.com/goto64/bevy_2d_screen_space_lightmaps |
max_upload_size | |
id | 1146686 |
size | 121,706 |
Screen space light maps are one of the simplest lighting techniques for 2D. Despite being simple, it can work really well for certain types of 2D games.
This library provides an implementation of this technique for the Bevy engine. The library is made as a Bevy plugin.
You can find more details about the technique here: https://slembcke.github.io/2D-Lighting-Overview
Screenshot from the example code:
The plugin uses three cameras:
The first two cameras render to a texture. These two textures are then multiply-blended and used as the material for a rectangle that fits the screen space. This rectangle is rendered to the screen by the third camera.
To use the plugin, you just need to:
Note that the clear color set on the light camera determines the level
of ambient light in your scene.
The plugin provides a resource LightmapPluginSettings
with which you can
change the ambient light setting, the clear color on the sprite camera
as well as the bloom intensity.
See the example code in examples/moving_truck.rs
for details.
Note that in the example you can zoom in-out using the mouse wheel.
To run the example use: cargo run --example moving_truck
Bevy | bevy_2d_screen_space_lightmaps |
---|---|
0.14.x | 0.14.0 |
0.13.x | 0.13.1 |
0.13.0 | 0.13.0 |
Some of the code was borrowed from https://github.com/zaycev/bevy-magic-light-2d
The sample uses some assets made by beeler, Gif and Icons8.