5个版本
新 0.4.3 | 2024年8月24日 |
---|---|
0.4.2 | 2024年8月1日 |
0.4.1 | 2024年8月1日 |
0.4.0 | 2024年7月31日 |
0.3.0 | 2024年7月24日 |
#566 in 游戏开发
每月428次下载
56KB
419 行
bevy_terminal_display
Bevy引擎的一个(非常实验性的)插件,允许渲染到终端窗口。
警告:强烈推荐使用kitty终端模拟器,不仅因为其GPU加速渲染,还因为实现了kitty协议,这可以启用高级输入检测。
特性包括
TerminalDisplayBundle
自动设置正确格式的渲染纹理- 后处理将颜色转换为纯黑白,然后作为盲文字符打印到终端
- 响应终端窗口大小调整
TerminalInput
资源,用于跟踪按下的和释放的键Widget
组件,用于渲染ratatui TUI小部件TerminalWidget
特质,用于创建自定义TUI组件- 日志重定向
截图
兼容性
包版本 | Bevy版本 |
---|---|
0.3-0.4 | 0.14 |
0.2 | 0.13 |
安装
crates.io
[dependencies]
bevy_terminal_display = "0.3"
在Cargo.toml中使用git URL
[dependencies.bevy_terminal_display]
git = "https://github.com/exvacuum/bevy_terminal_display.git"
示例用法
在main.rs
use bevy::prelude::*;
use bevy_terminal_display;
fn main() {
App::new()
.add_plugins((
DefaultPlugins.build().disable::<WinitPlugin>().disable::<LogPlugin>,
ScheduleRunnerPlugin::run_loop(Duration::from_secs_f32(1.0 / 60.0)),
bevy_terminal_display::TerminalDisplayPlugin::default(),
))
.insert_resource(Msaa::Off) // For post-process
.run();
}
当创建相机时
let terminal_display_bundle = bevy_terminal_display::display::components::TerminalDisplayBundle::new(3, &asset_server);
commands.spawn((
Camera3dBundle {
camera: Camera {
target: terminal_display_bundle.image_handle().into(),
..Default::default()
},
..Default::default()
},
terminal_display_bundle,
));
许可证
本软件包采用您选择的0BSD、Apache-2.0或MIT许可证。
依赖项
~42–80MB
~1.5M SLoC