Modifiers are non-destructive components evaluated in Priority Layer + Sub-Priority order. Shared fields: m_enabled, m_priorityLayer, m_subPriority, m_targetPartition (see
Components).
Catalog
| Modifier | Writes | Typical use |
|---|
| Sculpt | Geometry | Brush displace: Push / Flatten / Smooth / Pinch / Inflate / Erosion |
| Weight Paint | Weights | Replace / Add / Subtract; optional splat normalize and slope/height Fill |
| Boolean | Topology | Add / Subtract / Trim / Intersect (Manifold CSG) |
| Spline | Geometry | Flat / V-Ditch / Crown along a spline |
| Noise | Geometry or weight | FbmPerlin / Simplex / Cellular, or embedded GradientSignal grid |
| Texture | Geometry or weight | Project grayscale image (TopDownZ / AxisX / AxisY) |
| Remesh | Topology | Retarget edge length in a region |
| Mesh Projection | Geometry | Project mesh instances onto the surface |
| Patch | Geometry + weight | Decal mesh instances |
| Subsection Hint | Metadata | AABB hints for subsection splits |
| Heightfield Blend | Geometry | Blend partition edges toward heightfield |
| PCG Write | Geometry | Apply PCG Query→Write point pairs |
Sculpt
| Parameter | Default | Notes |
|---|
| Brush mode | Push | One mode per modifier; stack multiple Sculpts to mix |
| Displacement mode | Normal | Vertical / Normal / CameraFacing (overhangs; stamp stores view direction) |
| Brush radius / strength | 5 m / 0.5 | World-space radius; strength scaled by tablet pressure when enabled |
| Erosion talus angle | 35° | Erosion mode only |
| Mask channel | empty | Optional weight channel mask |
| Strokes | — | Partition-space stamps |
Weight Paint
| Parameter | Default | Notes |
|---|
| Active channel | — | Must match MPD channel name |
| Blend mode | Add | Replace / Add / Subtract (shared with Fill) |
| Normalize splat | off | Rescale other channels so splat sum stays ≤ 1 |
| Paint / smooth strokes | — | Smooth relaxes neighborhood after paint |
| Fill | off | Procedural fill by slope (° vs +Z) and partition-space height before stamps |
Boolean
Operands come from Mesh or Shape entities (editor extracts LOD0 / tessellates shapes into partition space).
| Parameter | Notes |
|---|
| Operation | Add / Subtract / Trim (soft Subtract) / Intersect |
| Soft blend distance | Trim Laplacian band (m); 0 ≡ Subtract |
| Operand entities | Editor list; auto re-extract on transform / model change |
Pitfalls:
- Base and operands must be watertight; failed operands are skipped.
- Topology replace clears weight channels—put WeightPaint after Boolean.
- Influence bounds are unbounded (always participates in dirty rebuilds).
Spline
| Parameter | Notes |
|---|
| Spline entity | SplineComponent; sampled to partition-space polyline |
| Profile | Flat (roadbed) / V-Ditch / Crown |
| Width / depth / falloff | Meters; falloff is outer quadratic blend band |
Noise
| Parameter | Notes |
|---|
| Target | Displacement (+Z) or WeightChannel |
| Noise type | FbmPerlin (default) / Simplex / Cellular |
| Frequency / amplitude / octaves / lacunarity / gain / seed | Seed enters ContentHash |
| Region bounds | Optional partition-space AABB |
| Gradient grid | Optional: Sample From Gradient embeds a grid that overrides procedural noise |
Sampling is in partition space (continuous across sections).
Texture
| Parameter | Notes |
|---|
| Source image | Editor decodes StreamingImage (or Import CSV / GeoTIFF) into embedded pixels |
| Projection axis | TopDownZ / AxisX / AxisY |
| Projection offset / size | Partition-space region |
| Intensity scale / offset | Remap sampled [0,1] |
| Target | Displacement or WeightChannel |
Remesh
| Parameter | Notes |
|---|
| Target edge length | Split long edges / weld short interiors |
| Region bounds | Optional crop |
| Preserve features | Keep sharp creases when welding |
Border vertices are never welded (section seams stay locked).
Mesh Projection
| Parameter | Notes |
|---|
| Source mesh entity | LOD0 extracted to local space; instances in partition space |
| Projection direction | Down / Up / ±X / ±Y |
| Blend distance | Inner XY blend band (m) |
| Instances | Manual or PCG SpawnMeshProjectionInstances |
Patch
| Parameter | Notes |
|---|
| Patch mesh | Embedded local-space mesh |
| Instances | Position / rotation / uniform scale (viewport Move/Rotate/Scale) |
| Blend weight channel | New verts get 1 in that channel |
Appends triangles (not CSG). PCG can spawn instances via SpawnPatchInstances.
Subsection Hint
AABB list in partition space; consumed when the Transformer Subsection stage has Respect subsection hints enabled. Viewport box manipulators edit the selected hint.
Heightfield Blend
Embeds a top-down height grid sampled from heightfield terrain; blends partition Z toward that grid in a boundary band. Auto-resamples when terrain or partition transform changes. See
Integrations.
PCG Write
Stores source→destination point pairs from PolyPartitionPcgRequestBus Write. Vertices matching quantized source positions move to destinations. Prefer pairing with a Query that used the same Build To layer. See
Optional features.
Layer-order checklist
- Procedural Base (Texture / Noise / Heightfield Blend) at the bottom.
- Topology (Boolean / Remesh) before final WeightPaint.
- Detail Sculpt / Spline / Patch near the top of geometry layers.
- WeightPaint last among weight writers for a given pass.
- Keep layer names identical to the MPD list.