Expand description

§bevy_lit
A simple 2D lighting library designed for Bevy.
§Features
- Multiple light sources including
PointLight2d,SpotLight2dandTextureLight2d - Includes primitives
CustomLight2dPluginandLight2dMaterialfor defining custom light sources - Light occlusion through
LightOccluder2dthat can be used along side anyMesh2d - Per camera fine grain control over lighting parameters such as shadow softness and more
- Terraria-like light penetration effect
- Web support for WebGPU
§Getting started
§Installation
Install it using the CLI:
cargo add bevy_litOr add bevy_lit to your Cargo.lock:
[dependencies]
bevy_lit = "*"§Usage
Below is a basic example demonstrating how to set up and use bevy_lit in your project:
use bevy::prelude::*;
use bevy_lit::prelude::*;
fn main() {
App::new()
.add_plugins((DefaultPlugins, Lighting2dPlugin))
.add_systems(Startup, setup)
.run();
}
fn setup(mut commands: Commands, mut meshes: ResMut<Assets<Mesh>>) {
commands.spawn((
Camera2d,
Lighting2dSettings::default(),
));
commands.spawn(PointLight2d {
color: Color::WHITE,
intensity: 3.0,
outer_radius: 200.0,
falloff: 2.0,
..default(),
});
commands.spawn((
Mesh2d(meshes.add(Circle::new(50.0))),
LightOccluder2d::default(),
Transform::from_xyz(0.0, 200.0, 0.0)
));
}§Compatibility
bevy | bevy_lit |
|---|---|
0.17.3 | 0.9 |
0.17 | 0.8 |
0.16 | 0.7 |
0.15 | 0.4..0.6 |
0.14 | 0.3 |
§License
bevy_lit is licensed under the MIT License. See LICENSE for more details.
Modules§
- prelude
use bevy_lit::prelude::*;to import common components and plugins