#camera #touch #bevy

bevy_touch_camera

支持拖动和捏合缩放的Bevy触摸相机

3个版本

0.1.2 2024年1月12日
0.1.1 2023年8月27日
0.1.0 2023年8月27日

#1281 in 游戏开发

MIT/Apache

30KB
149

MIT/Apache 2.0 0.11 Crate Doc CI Bevy tracking

🎥 Bevy触摸相机

一个基于触摸的相机移动插件。支持单指拖动平移和双指捏合缩放。

📄 使用方法

TouchCameraPlugin 添加到您的应用程序中。

App::new().add_plugins((
    DefaultPlugins,
    TouchCameraPlugin::default()
)).run();

您可以为插件的某些参数进行配置。目前不支持在运行时更改配置。[^1]

let config = TouchCameraConfig {
    drag_sensitivity: 2.,
    touch_time_min: 0.2,
    ..Default::default()
};
app.add_plugins((TouchCameraPlugin {config}))

插件将尝试将自己附加到相机上。这可以通过以下任一方式完成:

  1. PostUpdate 调度之前创建一个单独的 Camera 组件。插件将自动将其附加。
  2. 手动将一个 TouchCameraTag 组件附加到您想要由插件处理的相机实体。如果您有多个活动相机或者方法1)不可行,这很有用。

限制

  • 插件将始终尝试更新相机的投影和变换。计划有一个单独的模式,其中更新仅写入组件,以便用户可以在将其应用于相机之前读取并混合其他自定义逻辑。
  • 目前仅支持基于视口的平移和缩放。这意味着您的手指不会像常见实现中那样保持在世界视图的同一位置。

🔗 Bevy兼容性

bevy_touch_camera bevy
0.1 0.11
0.1.2 0.12

🪪 许可证

任选其一

[^1]: TODO 可能可以,需要测试并更新示例

依赖

~35–74MB
~1M SLoC