Skip to content

Latest commit

 

History

History
69 lines (48 loc) · 1.5 KB

README.md

File metadata and controls

69 lines (48 loc) · 1.5 KB

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:

cargo add bevy_gyroscope

Or manually add it to your Cargo.toml:

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

Usage

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<Gyroscope>) {
    println!("Gyroscope: x={}, y={}, z={}", 
        gyroscope.x, 
        gyroscope.y, 
        gyroscope.z
    );
}

Custom Configuration

You can customize the update frequency when adding the plugin:

.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

Contributing

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