🎥 Bevy Touch Camera
A plugin for touch based camera movement. Supports one finger drag to pan and two finger pinch to zoom.

📄 Usage
Add TouchCameraPlugin to your app.
new.add_plugins.run;
You can configure some of the parameters of the plugin. Changing configuration at runtime is currently not supported. [^1]
let config = TouchCameraConfig ;
app.add_plugins
The plugin will try to attach itself to a camera. This can be done in either one of the following ways:
- Create a single
Cameracomponent before thePostUpdateschedule. The plugin will attach itself automatically to it. - Manually attach a
TouchCameraTagcomponent to the camera entity you want to be handled by the plugin. Useful if you have multiple active cameras or if method 1) is not possible.
Limitations
- Plugin will always try to update the projection and the transform of the Camera. A separate mode is planned where updates are only written to a component so that the user can read them and mix them with other custom logic before applying to the camera.
- Only viewport based panning and scaling is supported currently. That means that your finger won't stay in exactly the same position of the world view like in common implementations.
🔗 Bevy compatibility
| bevy_touch_camera | bevy |
|---|---|
| 0.1 | 0.11 |
| 0.1.2 | 0.12 |
🪪 License
Either one:
[^1]: TODO maybe it is, need to test it and update example