MudBun: Volumetric VFX & Modeling
Compatibility:
- Unity 2019.4 to 2020: Built-in render pipeline, URP, and HDRP.
- Unity 2021: Built-in render pipeline, URP (excluding decal & preset render materials), and HDRP.
- Unity 2022+: Untested.
- Windows is the only platform under active development, maintenance, and testing. Non-Windows platforms are not guaranteed to run MudBun and support for them is limited. WebGL is not supported for now due to its lack of compute shader capabilities.
- Meshes locked in Mesh Renderer Mode or exported from MudBun are just standard meshes and can be used without requiring MudBun at run-time, so they should be compatible on all platforms.
- Compute shader support is required.
- It is highly recommended to target hardware with dedicated GPUs, as MudBun uses compute shaders. It is not recommended to target hardware with integrated GPUs, unless MudBun is only used at edit-time to build meshes to be exported or locked at run-time.
MudBun: Volumetric VFX & Modeling
MudBun is a real-time volumetric VFX mesh tool. It procedurally generates meshes from non-destructive “brushes” that define shapes, distortion, and surface modification. MudBun is intended for localized VFX, but it can also be used for volumetric modeling and provides a convenient auto-rigging feature. Locked meshes, including auto-rigged ones, can be exported using Unity's official FBX exporter package.
There are various render & meshing modes available with different styles & characteristics. Supported meshing modes include: marching cubes (balanced), dual quads (faster & stylized), surface nets (can blend to/from dual quads), and dual contouring (slower, excels at preserving sharp features, can blend to/from dual quads).
MudBun can be used to create organic-looking meshes, which makes it a great combo with Boing Kit, a tool for producing organic bouncy effects.
MudBun is customizable. Users can extend the framework to create custom brush shapes, distortion brushes, modifier brushes, and shaders. It is also possible to define custom rigging logic for the auto-rigging feature.
Using a special data representation, MudBun frees users from worrying about the constraints of a finite voxel grid when working within typical game settings.
Features (details with animations):
- Volumetric mesh generation & modeling.
- Built-in VFX & primitive brushes.
- Distortion & modifier brushes.
- User-defined custom brushes.
- Brush groups (compound brushes).
- Render modes: smooth mesh, flat mesh, circle splats, quad splats, decal, ray-marched surface (experimental & URP only), ray-traced voxels (experimental & URP only).
- Meshing modes: marching cubes, dual quads, surface nets, dual contouring.
- Brush operators: union, subtract, intersect, dye, cull inside, cull outside, no-op.
- Dynamic voxel density.
- 2D Mode.
- Mesh collider generation.
- Mesh locking & auto-rigging.
- Mesh auto-smoothing.
- Automatic vertex welding of generated mesh.
- SDF texture generation (for GPU particle collision).
- Smooth corners for dual contouring.
- Render pipelines supported: built-in RP, URP, HDRP, and custom RP.
- Custom Amplify Shader Editor nodes.
- Borderless voxel workspace.
- GPU memory budgeting & auto adjustment.
Limitations:
- MudBun is intended and optimized for localized real-time volumetric VFX mesh generation with dynamic brushes. Modeling and terrain editing with many brushes are possible but should be kept at a reasonable scale.
- Non-desktop devices (e.g. laptops, tablets, etc.) generally have weaker hardware than desktops and might not be suitable to run MudBun.
- MudBun currently does not render in prefab mode. Unity APIs related to prefab mode/stage are still in flux. As a workaround, edit prefab instances in scene view and use the options accessible via the inspector panel to apply overrides.
- Scaling brushes might not work as users would normally expect. Due to the nature of signed distance fields, there is no general solution for non-uniformly scaled shapes. Non-uniform scaling is still possible for some special cases and sometimes through approximation. A brush's local scales are usually not used as typical scales, but are interpreted as shape-specific parameters. For example, local scales are used as actual scales for box brushes, but are used as approximation for sphere brushes, and are interpreted as various dimensions like height & radius for cylinder & torus brushes.
Notice on Importing & Upgrading:
- When upgrading from older versions of MudBun, please DELETE the entire MudBun folder before re-importing from a newer package. File structures might have changed, and directly re-importing a new package on top of an existing one could cause unexpected issues.
- Please don't move MudBun's root folder and leave it as is after importing. Due to certain limitations, some resources are referenced relative to the root asset folder. Moving the MudBun folder around can break the references.