bevy_atmosphere 0.4.1

A procedural sky plugin for bevy
Documentation

bevy_atmosphere logo

Crates.io MIT/Apache 2.0 Crates.io docs.rs Rust

A procedural sky plugin for the Bevy game engine.

"basic" Example

use bevy::prelude::*;
use bevy_atmosphere::prelude::*;

fn main() {
    App::new()
        .add_plugins(DefaultPlugins)
        .add_plugin(AtmospherePlugin)
        .add_startup_system(setup)
        .run();
}

fn setup(mut commands: Commands) {
    commands
        .spawn_bundle(Camera3dBundle::default())
        .insert(AtmosphereCamera(None));
}

License

bevy_atmosphere is dual-licensed under MIT and Apache-2.0! That means you can choose to use bevy_atmosphere under either for your project.

0.4 Change Log

  • To change the sky simulation parameters, you would add/update an Atmosphere resource with custom values.
  • The plugin doesn't just pick the first camera, but can be used on select cameras using the AtmosphereCamera component, which holds an optional render layer for the spawned skybox to be on.
  • The plugin will automatically create skyboxes for atmosphere cameras during the ATMOSPHERE_INIT startup stage, which can be disabled by turning off the "automatic" feature.
  • Created skyboxes now have the AtmosphereSkyBox component. Only skyboxes with the component and that have a parent with AtmosphereCamera will have their rotation corrected.
  • To change the resolution, you can add an AtmosphereSettings resource and set the resolution field (which should be a multiple of 8). This could be used as part of quality settings in games.

0.4.1 Patch

  • Removed ATMOSPHERE_INIT stage and "init" feature.
  • Added new "detection" feature that checks for new AtmosphereCamera components each frame, instead of just at startup. (Removal detection will be added in a future release)
  • Removed unnecessary "radsort" dependency.
  • Made removing Atmosphere and AtmosphereSettings resources set back to default.
  • settings example now shows removing AtmosphereSettings.
  • Added files to package.exclude of Cargo.toml, in order to reduce package size.