An open API service indexing awesome lists of open source software.

https://github.com/graddotdev/bevy_gyroscope

A Bevy plugin that provides gyroscope functionality.
https://github.com/graddotdev/bevy_gyroscope

Last synced: 4 months ago
JSON representation

A Bevy plugin that provides gyroscope functionality.

Awesome Lists containing this project

README

          

# Bevy Gyroscope Plugin

> [!WARNING]
> This plugin currently only supports iOS devices.

A Bevy plugin that provides gyroscope functionality.

## Installation

You can add this plugin to your project using cargo:

```bash
cargo add bevy_gyroscope
```

Or manually add it to your `Cargo.toml`:

```toml
[dependencies]
bevy_gyroscope = "0.1.0" # replace with actual version
```

## Usage

```rust
use bevy::prelude::*;
use bevy_gyroscope::{GyroscopePlugin, Gyroscope};

fn main() {
App::new()
.add_plugins(DefaultPlugins)
// Add the gyroscope plugin with default settings (60Hz update frequency)
.add_plugins(GyroscopePlugin::default())
.add_systems(Update, use_gyroscope_data)
.run();
}

fn use_gyroscope_data(gyroscope: Res) {
println!("Gyroscope: x={}, y={}, z={}",
gyroscope.x,
gyroscope.y,
gyroscope.z
);
}
```

## Custom Configuration

You can customize the update frequency when adding the plugin:

```rust
.add_plugins(GyroscopePlugin { frequency: 120.0 })
```

## Resource Components

The plugin provides a `Gyroscope` resource that contains the rotation delta (change in rotation) for the current frame:

- `x`: Change in rotation around the x-axis (in radians) per frame
- `y`: Change in rotation around the y-axis (in radians) per frame
- `z`: Change in rotation around the z-axis (in radians) per frame

## License

[MIT License](LICENSE.md)

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.