Authoring presets
The ten shipped authoring presets — the wood family, Ceramic, Stone, Glass, Glass Vessel and Generic — their fracture patterns, fragment budgets, preserved material slots and stated limitations.
An authoring preset is a USDFDestructionAuthoringPreset data asset. It carries the editor-only
fracture defaults and, optionally, a runtime profile template used as the starting point for the
generated destruction profile.
Ten presets ship with the plugin under
/SoulsDestructionFramework/Authoring/Presets.
What a preset controls
| Group | Properties |
|---|---|
| Identity | DisplayName, Description, Family, SchemaVersion |
| Fracture | LowFragmentCount, MediumFragmentCount, HighFragmentCount, MaximumAllowedFragmentCount, RandomSeed, Grout, MinimumFragmentSizeCm, bSplitDisconnectedIslands, fracture pattern |
| Noise | NoiseAmplitude, NoisePointSpacing, NoiseFrequency, NoiseOctaves, NoiseLacunarity, NoisePersistence |
| Collision | CollisionSampleSpacingCm |
| Automatic | bPreferGeometryCollection, MaximumGeometryCollectionSourceTriangles |
| Validation | MinimumSourceDimensionCm |
| Presentation | InteriorMaterial, break sound and break VFX on the runtime template |
| Structure | PreservedMaterialSlotNames — material slot keywords whose islands are released whole |
| Runtime | RuntimeProfileTemplate |
Fracture patterns
Three patterns exist, selected per preset:
| Pattern | What it does |
|---|---|
UniformVoronoi | A single deterministic Voronoi pass |
DirectionalWood | Structure-aware wood: recovers the authored boards, panels and members, preserves small hardware, then adds noisy cross-cuts along each part’s own long axis |
SemanticWoodenBarrel | Strict barrel recipe: resolves body, hoops and end caps from the construction parts, preserves the hardware, cuts only the body into radial staves. Generation is blocked when the barrel roles cannot be resolved — it never falls back to geometric Voronoi |
Fragment counts per preset
Fracture density selects one of the preset’s three counts. Custom uses the explicit count you
provide, clamped to the range 2 – 150.
| Preset | Pattern | Low | Medium | High |
|---|---|---|---|---|
| Wood | DirectionalWood | 14 | 24 | 36 |
| Wooden Crate | DirectionalWood | 14 | 24 | 36 |
| Wooden Barrel (Semantic) | SemanticWoodenBarrel | 14 | 24 | 36 |
| Wooden Furniture | DirectionalWood | 10 | 16 | 26 |
| Wooden Coffin | DirectionalWood | 12 | 20 | 32 |
| Ceramic | UniformVoronoi | 12 | 20 | 32 |
| Stone | UniformVoronoi | 14 | 26 | 42 |
| Glass | runtime fracture | inert | inert | inert |
| Glass Vessel | UniformVoronoi | 24 | 40 | 64 |
| Generic | UniformVoronoi | 10 | 18 | 30 |
Physics and fall damage per family
Every preset family generates an intact prop that simulates physics: it rests on its support and
falls when that support breaks. What differs is whether the landing can damage it. These values are
written on the generated profile; a profile you create by hand starts from the class defaults
instead (KeepExisting, fall damage off).
| Preset | Physics | Fall damage | Safe distance (MinimumFallHeightCm) | Damage per metre beyond it | Landing power |
|---|---|---|---|---|---|
| Ceramic | Simulated | On | 60 cm | 50 | VeryLight |
| Glass Vessel | Simulated | On | 80 cm | 80 | VeryLight |
| Stone | Simulated | Off | — | — | — |
| Wood, Wooden Crate, Wooden Barrel (Semantic), Wooden Furniture, Wooden Coffin | Simulated | Off | — | — | — |
| Glass (single pane), Generic | Simulated | Off | — | — | — |
| Glass (multi-material window split into frame and panes) | Static | Off | — | — | — |
You can pick another Physics mode in the authoring window for any generation, and enable or disable fall damage on any generated profile. A pot and a statue can both fall; only the pot’s profile turns the landing into damage by default. See Intact physics and fall damage for the formula and a worked example.
The wood family
All wood presets share the structure-aware DirectionalWood idea: the source’s own construction
parts are recovered first, then broken. Splintered cut faces show the source mesh’s own timber
rather than a neutral interior.
Wood
The general-purpose recipe: recovers disconnected boards and panels, preserves small hardware, adds noisy cross-cuts along each part’s long axis.
- Intended props — planks, barricades, generic wooden props.
Scope limitation
The wood presets recover the parts that exist in the authored mesh. They do not semantically infer joints the source geometry does not carry.
Wooden Crate
Wood, plus convex piece collision. Boards nailed a couple of centimetres into their posts are normal in a hand-built crate; convex hulls are computed non-overlapping, so pieces that interpenetrate at rest do not spawn inside each other and get flung apart. Cut faces are re-projected into their own board’s UV island, so an atlas-textured crate shows the right wood on every break.
Wooden Barrel (Semantic)
The strict semantic recipe. Identifies the wooden body, metal hoops and end caps; preserves the hardware; cuts the body into radial staves (the stave count is exposed in the authoring window, 8 – 32); then snaps each stave across its length so the wreckage carries splintered ends. Tuned to collapse rather than launch: near-zero break velocity, light damping.
Wooden Furniture
Chairs, tables, benches. Recovers each authored member, leaves pegs and small hardware intact, and snaps every member into pieces of roughly a 60 cm target length — a 3 m table plank breaks four times instead of becoming two 1.5 m planks.
Wooden Coffin
Coffins, chests and other props built from wide panels. Same structure-aware recipe, but the break roughness is kept shallow (a small fraction of the panel width): full-depth roughness carves teeth into every cross-cut and the broken prop locks back together instead of falling apart. Convex piece collision handles the flared, angled sides.
Cuts along length
By default each wood preset decides how often a board breaks — Wooden Furniture snaps every board into pieces of about 60 cm. To choose it yourself, tick Custom Cuts Along Length in section 2. Authoring (shown for Wood, Wooden Crate, Wooden Furniture and Wooden Coffin), then set Cuts Along Length:
| Value | Result |
|---|---|
0 | No cut. Every board keeps its full length; the prop comes apart into its authored pieces |
1 | Each board breaks once, into two pieces |
2 – 5 | Each board breaks that many times |
- The value applies to every recovered board and panel, whatever the fracture density.
- Thick blocks (more than 15 cm on every side) are also cut that many times along their length, plus
once across; at
0they stay whole. - The collection stays bounded by Maximum Fragment Count (400 by default). When the requested
cuts come too close to it, the longest boards keep theirs and generation reports
SDF-AUTH-GC-WOOD-004. 0needs a mesh made of separate pieces: a single-piece mesh would not break at all, so generation stops withSDF-AUTH-GC-WOOD-005.- The value is recorded in the manifest (
WoodLengthCuts,-1= the preset’s own rule), so Regenerate reproduces it, and Modify Destructible can change it.
Collision shape
Wooden Furniture wraps every broken piece in a box. A box hugs a straight board, which is why tables, chairs and benches settle cleanly. Around a curved or leaning piece — a scroll, a leaning back, a flared side — the box is mostly empty space: the debris rests on that space, props itself up, or sinks into the floor at its corners.
With Wooden Furniture selected, Collision Shape (ESDFPieceCollisionShape) chooses per
object:
| Value | Use it for |
|---|---|
Boxes (default) | Straight boards. Exactly what Wooden Furniture always did |
Convex | Curved and leaning pieces: church pews, thrones, carved armrests. Each piece gets a convex hull that follows its shape |
The preset itself does not change, and setups made before this option keep Boxes. The choice is
recorded in the manifest (PieceCollisionShape); Regenerate reproduces it and
Modify Destructible can switch it. Wooden
Coffin and Wooden Crate already use convex pieces.
Ceramic
More numerous Voronoi pieces, tuned for shells that have real wall thickness.
- Intended props — pots, urns, vases, jars.
- Thin shells — the source needs actual thickness. A single-surface pot with no wall volume cannot be cut into solid fragments.
Stone
Fewer, massive blocks with the most aggressive micro-fragment control of the shipped presets.
- Intended props — statues, columns, gravestones, heavy masonry.
- Orientation — the largest minimum fragment size, so a hit produces heavy, slow-reading debris rather than gravel.
Glass
Thin brittle panels. No Geometry Collection is baked: the shards are generated at runtime around the point of impact, so the crack pattern follows the blow. See Runtime glass fracture for the runtime side.
- Intended props — window panes, mirrors, stained glass.
- Multi-material sources — a source that also carries structural materials (a stained glass
window with its stone surround and lead tracery) is split automatically at commit: the structure
becomes an unbreakable frame and every glass island becomes an independent pane on one
ASDFGlassCompositeActor. - Preserved slots — islands dominated by a material matching
Stone,Metal,Lead,Iron,FrameorWood(case-insensitive substring on the slot or material name) become the frame. - Interior material — none, on purpose. Cut faces are produced at runtime from the panel itself, so its own material is the only correct interior.
- The fragment counts are inert on this family; the real shard budget lives in the runtime
profile’s
GlassSettings.
Glass Vessel
Bottles, lanterns and vases. Curved shells have no plane to crack in, so they do not use the runtime pane generator: this is pre-baked Voronoi tuned for glass — many small angular pieces (24 / 40 / 64) with a very small minimum fragment size, and clean cut faces in the vessel’s own material.
- Preserved slots — islands whose material matches
Corkdrop whole instead of shattering: a corked bottle breaks around its stopper. A no-op on any vessel that carries no cork-named slot.
Generic
Neutral deterministic Voronoi with no material or structural assumption.
- Intended props — anything that does not fit the shipped families.
- Interior material — the Generic preset ships with no interior material. Provide one per
object in the
Advancedsection, or generation is blocked withSDF-AUTH-GEN-001/SDF-BATCH-GLOBAL-002.
Custom
Custom is not a separate asset — it is the Custom fracture density plus the advanced overrides on
the authoring session:
CustomFragmentCount(2 – 500 in the session, resolved against the preset’sMaximumAllowedFragmentCount, and hard-bounded to 150 at generation time);MinimumFragmentSizeCm,Grout,NoiseAmplitude,bSplitDisconnectedIslands,RandomSeed;- the wood-specific overrides: island weld distance, minimum part length and aspect ratio, cross-cuts per part, cut angle and offset variation, cut noise amplitude.
Enable Override Advanced Fracture to edit them. Whether an override was used is recorded in the
manifest as bUsedAdvancedFractureOverride, so a later regeneration reproduces the same intent.
Density guidance
| Density | Use it when |
|---|---|
Low | First test of a new mesh, or a prop that breaks often in busy scenes |
Medium | Default for hero props seen at close range |
High | Set-piece props destroyed rarely, where the break is the moment |
Custom | The preset families do not match the object, or you need a specific fragment budget |
Higher density means more Chaos bodies for the same object. Fragment count is the single strongest authoring lever on runtime cost — see Performance.
Creating your own preset
- Duplicate one of the shipped presets into your own project content.
- Adjust the fragment counts, minimum fragment size and noise for your material family.
- Assign your own interior material.
- Optionally assign a
RuntimeProfileTemplateso generated profiles start from your own health, audio and VFX defaults.
Keeping your presets in project content means an engine-level plugin update cannot overwrite them.
Determinism
Fracture is deterministic for a given seed and option set. Two generations with the same preset, density, seed and source produce the same structure hash. Chaos simulation of the result is not claimed to be bitwise deterministic.
Last updated: 2026-10-01