11次发布
0.3.0 | 2024年8月6日 |
---|---|
0.2.2 | 2024年7月28日 |
0.2.0-rc.3 | 2024年6月28日 |
0.1.3 | 2024年6月2日 |
0.1.2 | 2024年5月29日 |
#196 in 游戏开发
518 每月下载量
52KB
1K SLoC
bevy_light_2d
适用于bevy
游戏引擎的通用2D光照。设计简单易用,同时足够灵活以满足各种需求。
特性
- 组件驱动设计
- 可配置的点光源
- 光照遮挡
- 动态阴影
- 特定摄像机的环境光
- 单摄像机渲染
- 支持WebGL2和WebGPU的Web支持
使用方法
在basic
示例中,我们只需要插件、摄像机和光源。
# Cargo.toml
[dependencies]
bevy = "0.14"
bevy_light_2d = "0.3"
use bevy::prelude::*;
use bevy_light_2d::prelude::*;
fn main() {
App::new()
.add_plugins((DefaultPlugins, Light2dPlugin))
.add_systems(Startup, setup)
.run()
}
fn setup(mut commands: Commands) {
commands.spawn(Camera2dBundle::default());
commands.spawn(PointLight2dBundle {
point_light: PointLight2d {
radius: 100.0,
intensity: 3.0,
..default()
},
..default()
});
}
要查看深入示例,请使用cargo run --example dungeon
。
动机
当我最初开始尝试使用Bevy时,缺乏官方2D光照实现让我感到不满意。虽然有一些相当令人印象深刻的实验性2D光照库,但可用的即插即用选项并不多。
我的目标是通过这个库来填补这个空白,优先考虑易用性和通用应用而不是功能深度。
Bevy兼容性
bevy | bevy_light_2d |
---|---|
0.14 | 0.2..0.3 |
0.13 | 0.1 |
感谢
我想感谢以下库的作者;他们是灵感的重要来源。
资产信用
依赖项
~36–74MB
~1.5M SLoC