bevy-volumetric-clouds

Crates.iobevy-volumetric-clouds
lib.rsbevy-volumetric-clouds
version0.2.0
created_at2025-11-22 17:45:29.658701+00
updated_at2026-01-19 18:05:47.485303+00
descriptionA plugin for Bevy that renders clouds using raymarching
homepage
repositoryhttps://github.com/evroon/bevy-volumetric-clouds
max_upload_size
id1945520
size1,066,573
Erik Vroon (evroon)

documentation

README

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.18 0.2.*
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.

Commit count: 19

cargo fmt