23个不稳定版本 (7个破坏性更新)
0.8.0 | 2024年7月4日 |
---|---|
0.7.0 | 2024年2月17日 |
0.6.0 | 2023年11月4日 |
0.5.0 | 2023年7月9日 |
#198 in 游戏开发
每月387次下载
用于 moonshine-view
165KB
3.5K SLoC
什么是Bevy Vector Shapes?
Bevy Vector Shapes是一个库,用于在Bevy中轻松且直观地创建实例化的矢量形状。
警告
Bevy Vector Shapes处于开发初期。您可能会遇到问题,但请随时报告。
功能
- 内置多种形状类型:线条、矩形、圆形、弧线和正多边形。
- 特性,允许实现自定义形状类型。
- 支持各种Bevy渲染功能:2D和3D管道、透明度、alpha模式、渲染层、发光。
- 画布API,用于将形状渲染到纹理中。
- 能够在形状上绘制纹理,包括画布纹理。
- 即时和保留模式。
- 局部抗锯齿,以实现更平滑的形状。
- 可选的每个形状类型的板面渲染,以确保它们始终面向相机。
- 相同类型和渲染配置的形状完全一起实例化。
- 编译为wasm,以便在浏览器中运行项目。
用法
请参阅以下基本用法,并查看示例以获取所有支持功能的详细信息。
use bevy::prelude::*;
// Import commonly used items
use bevy_vector_shapes::prelude::*;
fn main() {
App::new()
.add_plugins(DefaultPlugins)
// Add the shape plugin:
// - Shape2dPlugin for 2D cameras
// - ShapePlugin for both 3D and 2D cameras
.add_plugins(Shape2dPlugin::default())
.add_systems(Startup, setup)
.add_systems(Update, draw)
.run();
}
fn setup(mut commands: Commands) {
// Spawn the camera
commands.spawn(Camera2dBundle::default());
}
fn draw(mut painter: ShapePainter) {
// Draw a circle
painter.circle(100.0);
}
bevy | bevy_vector_shapes |
---|---|
0.14 | 0.8.0 |
0.13 | 0.7.0 |
0.12 | 0.6.0 |
0.11 | 0.5.2 |
0.10 | 0.4.6 |
替代方案
- bevy_smud:用于在运行时生成自定义sdf表达式。
- bevy_prototype_lyon:用于从2D形状和路径生成网格。
- vello:用于非常高效的2D形状渲染到图像。
依赖项
~39–77MB
~1.5M SLoC