24 个版本
| 0.12.0 | 2024年6月5日 |
|---|---|
| 0.11.1 | 2023年7月20日 |
| 0.10.2 | 2023年5月22日 |
| 0.10.1 | 2023年3月12日 |
| 0.2.0 | 2021年3月5日 |
#435 in 游戏开发
1,088 每月下载量
在 6 个 工具包中使用(5 个直接使用)
640KB
1K SLoC
bevy_debug_lines
提供简单线条绘制 API 的 bevy 插件。
主分支没有稳定性保证。
关于
此插件使用着色器并将单个点发送到 GPU,然后通过移动几何体来绘制线条。对于大量线条来说,这相当快,并且移动线条没有额外的成本。
用法
将 bevy_prototype_debug_lines 添加到您的 Cargo.toml
[dependencies]
bevy_prototype_debug_lines = "0.12"
# Or, for 3d:
# bevy_prototype_debug_lines = { version = "0.12", features = ["3d"] }
在 App:: 阶段中添加插件
use bevy::prelude::*;
use bevy_prototype_debug_lines::*;
fn main() {
App::new()
.add_plugins(DefaultPlugins)
.add_plugins(DebugLinesPlugin::default())
// ...
.run();
}
使用 DebugLines 资源在您拥有的任何系统中绘制线条
fn some_system(
// ...
mut lines: ResMut<DebugLines>,
) {
let start = Vec3::splat(-1.0);
let end = Vec3::splat(1.0);
let duration = 0.0; // Duration of 0 will show the line for 1 frame.
lines.line(start, end, duration);
}
使用 DebugLinesPlugin:: 方法更改深度测试(通过几何体绘制线条而不是始终在顶部)
use bevy::prelude::*;
use bevy_prototype_debug_lines::*;
fn main() {
App::new()
.add_plugins(DefaultPlugins)
.add_plugins(DebugLinesPlugin::with_depth_test(true))
// ...
.run();
}
请参阅 示例 以获取更完整的用法示例。
故障排除
线条不显示
问题:即使在添加了 DebugLinesPlugin 并使用 DebugLines::lines 后,线条仍然不会显示在屏幕上。
解决方案:检查 bevy_debug_lines 的维度功能,在运行游戏时,应该会有一个类似以下日志消息:
INFO bevy_prototype_debug_lines: Loaded 2d debug lines plugin.
请注意 Loaded 2d debug,这应该与你在游戏中使用的匹配。这是3D游戏吗?如果是,你应该将 bevy_prototype_debug_lines/3d 功能标志添加到你的 Cargo.toml 中。它看起来应该是这样的:
bevy_prototype_debug_lines = { version = "0.12", features = ["3d"] }
运行示例
你可以这样运行示例
cargo run --example 3d --features="example_deps"
其中 3d 是 示例 中的一个文件。
0.3.0 版本中的更改
在 0.3.0 中,已经删除了 thickness 参数。我认为它对性能、时间或问题的影响不大。但是,如果你有不同的看法,请在 此问题 中告诉我。
这实际上是微不足道的更改(即你的代码仍然可以编译),因为添加了 duration,它占据了相同的位置,但请注意,你的代码仍然需要更新(可能只需将旧的 thickness 值设置为 0,如果你不关心持续时间之类的功能)。
0.6.0 版本中的更改
- 支持 Bevy 0.6。
- 使用
.wgsl着色器,这应该会提高网络兼容性。 - 已删除
DebugLines.depth_check字段,以支持DebugLinesPlugin::with_depth_test()-- 请参阅 depth_test 示例。 - 在添加插件时,我们现在需要使用
DebugLinesPlugin::default()而不是仅仅DebugLinesPlugin。 - 由于 Bevy 渲染器的底层变化,3D 和 2D 已分开为独立的功能。如果你在 3D 游戏中使用
bevy_debug_lines,请将features = ["3d"]行添加到你的bevy_prototype_debug_lines依赖项中。抱歉!
Bevy 版本支持
| bevy | bevy_prototype_debug_lines |
|---|---|
| 0.12 | 0.12 |
| 0.11 | 0.11 |
| 0.10 | 0.10 |
| 0.9 | 0.9 |
| 0.8 | 0.8 |
| 0.7 | 0.7 |
| 0.6 | 0.6 |
| 0.5 | 0.3 |
| 0.4 | 0.2.1 |
如果您有任何要求、改进或建议如何使此软件包更易于使用或其他方面的建议,请随时告诉我。
依赖项
~39–77MB
~1.5M SLoC
