11 releases (6 breaking)
Uses new Rust 2024
| 0.7.0 | Oct 6, 2025 |
|---|---|
| 0.5.0 | Aug 11, 2025 |
| 0.4.1 | Jul 3, 2025 |
| 0.3.0 | Dec 1, 2024 |
| 0.2.1 | Jul 15, 2024 |
#957 in Game dev
655 downloads per month
Used in benthic_ui
3MB
269 lines
bevy_heightmap
Load height map PNGs as meshes in bevy.
| Height map | Generated |
|---|---|
![]() |
![]() |
Usage
Create a height map from a value function:
use bevy::prelude::*;
use bevy_heightmap::*;
let heightmap = ValueFunctionHeightMap(|p: Vec2| ((20. * p.x).sin() + (20. * p.y).sin()) / 2.);
let mesh: Mesh = heightmap.build_mesh(UVec2::new(10, 10));
assert_eq!(mesh.count_vertices(), 4 * 10 * 10);
Load a height map as a mesh from an image (requires .hmp.png extension):
use bevy::prelude::*;
use bevy_heightmap::*;
fn setup(asset_server: Res<AssetServer>) {
let mesh: Handle<Mesh> = asset_server.load("textures/terrain.hmp.png");
}
Examples
cargo run --example image
Bevy support table
| bevy | bevy_heightmap |
|---|---|
| 0.17 | 0.7.0 |
| 0.16 | 0.4.1-0.6.1 |
| 0.15 | 0.3.0 |
| 0.14 | 0.2.0 |
| 0.13 | 0.1.0 |
Dependencies
~57–96MB
~1.5M SLoC

