#mesh #data-structures #procedural #node #bevy-plugin #face #geometry

bevy_copperfield

Procedural mesh editor, based on Half-Edge-Mesh datastructure

4 releases

new 0.2.2 Dec 11, 2024
0.2.1 Nov 6, 2024
0.2.0 Nov 5, 2024
0.1.0 Oct 17, 2024

#515 in Game dev

Download history 79/week @ 2024-10-11 57/week @ 2024-10-18 1/week @ 2024-10-25 233/week @ 2024-11-01 43/week @ 2024-11-08 6/week @ 2024-11-15 1/week @ 2024-11-22 32/week @ 2024-11-29 135/week @ 2024-12-06

174 downloads per month

MIT license

2.5MB
3.5K SLoC

bevy_copperfield is a Bevy plugin for procedural modelling, inspired by Blender's geometry nodes. Currently at its infancy, but bevy_coperfield allows you to create and edit meshes in non-destructive manner.

Example box from Cuboid: Example extruded and chamfered Cuboid

UV Unwrap

bevy_copperfield now supports 3 methods for automatic UV-unwrapping - Cube mapping, Sphere mapping, and Least Squares Conformal Mapping

Cube Mapped complex shape

Face outline visible on UV unwrap

Approach

bevy_copperfield implements a Half-Edge Mesh data-structure which allows us to quickly navigate and edit the mesh, providing methods to extrude, subdivide, and bevel parts of the mesh. The debug eample provides a nice visualization of the internal data-structure implemented, as each drawn edge is a pointer to the next one.

Simple half-edge mesh

Usage

bevy_copperfield is still is its early stages of development, but its key goals is to enable seamless use in Bevy. Upon adding bevy_copperfield to your repository, supported Bevy 3D primitives (currently just Cuboid) will allow you to spawn editable mesh with .procgen(). From there you will be able to chain series of edit nodes to turn primitives into objects you want. See examples for sample use.

Dependencies

~36–73MB
~1M SLoC