Skip to content

evroon/bevy-volumetric-clouds

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bevy Volumetric Clouds

crate on crates.io docs on docs.rs build status

clouds

This is a plugin for Bevy that renders volumetric clouds using the method of Horizon Zero Dawn by Guerilla Games (see credits).

Usage

Run cargo add bevy-volumetric-clouds and simply add CloudsPlugin to your Bevy App like this:

use bevy_volumetric_clouds::CloudsPlugin;

app.add_plugins(CloudsPlugin);

Look at the minimal example for a working example.

The the demo example features a usable demo where you can move the camera around and use a UI to change the configuration of the cloud rendering (if you run it with the fly_camera and debug features):

cargo run --example demo --features fly_camera,debug

The configuration of the clouds rendering can be changed using the CloudsConfig resource. See its docs for more information.

Limitations

A few limitations apply for now and hopefully get fixed in the future:

  • There is no integration with Bevy's internal atmosphere rendering yet, this plugin uses a simple sky rendering function.
  • The clouds are drawn on a skybox that does not take the depth buffer into account yet. Therefore, it's not yet possible to "fly" into the clouds, the clouds are only visible from ground-level.
  • For now the clouds render resolution is set to 1920x1080 and can't be changed. Usually clouds are rendered at a lower resolution than screen resolution so you likely won't need a higher resolution anyway but changing the resolution should be possible in the future.

Crate features

There are a few features:

  • debug: enables an egui UI that allows you to tweak shader uniforms (parameters) in-game.
  • fly_camera: adds a fly_camera module that controls the camera using keyboard and mouse.

Bevy version compatibility

bevy bevy-volumetric-clouds
0.17 0.1.*

Credits

  1. "The real-time volumetric cloudscapes of Horizon Zero Dawn" by Andrew Schneider and Nathan Vos (article)
  2. "Physically Based Sky, Atmosphere and Cloud Rendering in Frostbite" by Sébastien Hillaire (pdf)

License

Licensed under MIT, see LICENSE.