#bevy #graphics #gamedev #billboard #3dtext

bevy_mod_billboard

为bevy提供Billboard文本和纹理支持

11个版本 (6个重大变更)

0.7.0 2024年7月10日
0.6.0 2024年6月9日
0.5.1 2023年12月5日
0.4.1 2023年8月31日
0.1.1 2023年3月8日

#131游戏开发

Download history 6/week @ 2024-05-19 1/week @ 2024-05-26 5/week @ 2024-06-02 169/week @ 2024-06-09 10/week @ 2024-06-16 14/week @ 2024-06-23 7/week @ 2024-06-30 152/week @ 2024-07-07 74/week @ 2024-07-14 68/week @ 2024-07-21 79/week @ 2024-07-28 33/week @ 2024-08-04 37/week @ 2024-08-11 21/week @ 2024-08-18

每月下载量179

MIT/Apache

50KB
994

bevy_mod_billboard

为bevy提供Billboard文本和纹理支持

showcase

待办事项

功能

  • 具有多种字体的样式文本。
  • 纹理。
  • 启用/禁用深度裁剪(默认启用)。
  • Y轴锁定(默认禁用)。
  • 全旋转锁定,用于类似3D世界空间文本的内容(@robftm)
  • HDR支持(@robtfm)

Bevy兼容性

Bevy版本 Crate版本
0.14 0.7.0
0.13 0.6.0
0.12 0.5.1
0.11 0.4.1
0.10 0.3.0
0.10 0.2.1
0.9 0.1.1

示例

设置

use bevy_mod_billboard::prelude::*;

App::new()
    .add_plugins((DefaultPlugins, BillboardPlugin));

文本

commands.spawn(BillboardTextBundle {
    transform: Transform::from_translation(Vec3::new(0., 2., 0.))
        .with_scale(Vec3::splat(0.0085)),
    text: Text::from_sections([
        TextSection {
            value: "IMPORTANT".to_string(),
            style: TextStyle {
                font_size: 60.0,
                font: fira_sans_regular_handle.clone(),
                color: Color::ORANGE,
            }
        },
        TextSection {
            value: " text".to_string(),
            style: TextStyle {
                font_size: 60.0,
                font: fira_sans_regular_handle.clone(),
                color: Color::WHITE,
            }
        }
    ]).with_alignment(TextAlignment::CENTER),
    ..default()
});

纹理

commands.spawn(BillboardTextureBundle {
    transform: Transform::from_translation(Vec3::new(0., 5., 0.)),
    texture: BillboardTextureHandle(handle.clone()),
    mesh: BillboardMeshHandle(meshes.add(Quad::new(Vec2::new(4.0, 4.0)).into()).into()),
    ..default()
});

完整示例请参阅示例

变更日志

[0.7.0] - 2024-07-11

  • 升级到Bevy 0.14(@interwhy)。
  • 添加Billboard标记组件。

[0.6.0] - 2024-06-09

  • 升级到Bevy 0.13(@RobWalt)。
  • 启用bevy的wayland & X11功能。

[0.5.1] - 2023-12-05

  • 修复Billboard传播不工作的问题。

[0.5.0] - 2023-12-04

  • 升级到Bevy 0.12(@robftm)。
  • 移除纹理数组实现。
  • 使用1:N游戏世界 -> 渲染世界映射。
  • 移除资产类型BillboardTexture。
  • 添加BillboardTextureHandle包装器。
  • 减少内存使用。
  • 提高最常用文本情况的性能。
  • 添加stress_test示例(@alice-i-cecile)。
  • 将旋转相机添加到大多数示例中,以更好地展示。

许可证

根据您的选择,许可协议为

贡献

除非您明确声明,否则您提交的任何贡献,根据Apache-2.0许可证定义,都将按上述方式双重许可,不附加任何额外条款或条件。

依赖关系

~40–78MB
~1.5M SLoC