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