12个版本 (破坏性更新)
0.9.0 | 2024年7月6日 |
---|---|
0.8.0 | 2024年3月4日 |
0.7.0 | 2023年11月5日 |
0.5.1 | 2023年5月1日 |
0.1.1 | 2022年5月4日 |
#307 在 数据结构
每月243次下载
47KB
528 代码行
bevy_spatial
一个用于在空间索引中跟踪您的实体并查询它们的bevy插件。
当前实现的功能
功能 | 描述 |
---|---|
kdtree (默认) |
空间查找的KD-Tree,在更新时完全重建,但重建速度快。在大多数情况下表现良好。 |
use bevy_spatial::{AutomaticUpdate, KDTree3, TransformMode, SpatialAccess};
#[derive(Component, Default)]
struct TrackedByKDTree;
fn main() {
App::new()
.add_plugins(AutomaticUpdate::<TrackedByKDTree>::new()
.with_frequency(Duration::from_secs_f32(0.3))
.with_transform(TransformMode::GlobalTransform))
.add_systems(Update, use_neighbour);
// ...
}
type NNTree = KDTree3<TrackedByKDTree>; // type alias for later
// spawn some entities with the TrackedByKDTree component
fn use_neighbour(tree: Res<NNTree>){
if let Some((pos, entity)) = tree.nearest_neighbour(Vec3::ZERO) {
// pos: Vec3
// do something with the nearest entity here
}
}
有关使用详情,请参阅 示例
兼容的bevy版本
bevy | bevy_spatial |
---|---|
0.14 | 0.9.0 |
0.13 | 0.8.0 |
0.12 | 0.7.0 |
0.11 | 0.6.0 |
0.10 | 0.5.0 |
0.9 | 0.4.0 |
0.8 | 0.3.0 |
0.8 | 0.2.1 |
0.7 | 0.1 |
wasm注意事项:在wasm上禁用了kdtree的rayon加速,使其稍微慢一些。
依赖项
~23MB
~429K SLoC