unreal.PVMeshBuilderMeshDetailParams

class unreal.PVMeshBuilderMeshDetailParams

Bases: StructBase

Sub-param structs used by the Mesher settings override nodes. Each struct mirrors one UPROPERTY category from FPVMeshBuilderParams so that a dedicated “Create Mesher <Category> Settings” node can override that category without touching the rest. FPVMeshBuilderParams itself uses these structs as members.

// ─── Mesh Details ─────────────────────────────────────────────────────────────

C++ Source:

  • Plugin: ProceduralVegetationEditor

  • Module: ProceduralVegetation

  • File: PVMeshBuilderParams.h

Editor Properties: (see get_editor_property/set_editor_property)

  • accuracy (int32): [Read-Write] Iterations of the simplification algorithm.

    More iterations = more accurate reduction at the cost of processing power.

  • add_end_caps (bool): [Read-Write] Add spherical end caps to branch tips.

    When on, each branch tip gets a hemispherical cap. Avoids open-ended cylinders. Turn off if your tip foliage will hide the open end anyway.

  • ground_retention (float): [Read-Write] Preserves detail near ground regions.

    Adjusts retention for areas close to the base of the plant. Use higher values to keep root/ground transitions detailed.

  • ground_retention_gradient (PVFloatRamp): [Read-Write] Gradient for preserving ground-region detail.

    A ramp that modulates retention around base regions. Tune to keep roots/basal features while allowing simplification above.

  • hull_retention (float): [Read-Write] Strength of preserving the outer hull.

    Adjusts retention of the mesh silhouette during reduction. Higher values protect external shape; lower values allow more simplification.

  • hull_retention_gradient (PVFloatRamp): [Read-Write] Gradient for preserving outer hull detail.

    A ramp that varies outer-hull retention across the model. Use to keep silhouettes crisp where needed while simplifying elsewhere.

  • longest_segment_length (float): [Read-Write] Maximum allowed segment length.

    Caps segment length after simplification to maintain even geometry and prevent stretched polygons.

  • main_trunk_retention (float): [Read-Write] Preserves detail in the main trunk.

    Controls how much trunk geometry is retained during simplification. High values keep trunk smooth and detailed; low values reduce complexity.

  • main_trunk_retention_gradient (PVFloatRamp): [Read-Write] Gradient controlling trunk detail retention.

    Varies trunk retention via a ramp. Useful to preserve key trunk regions while simplifying others.

  • max_divisions (int32): [Read-Write] Maximum radial divisions.

    Upper limit for cross-section detail on trunks/branches. Balance with Min Divisions to control density across sizes.

  • min_divisions (int32): [Read-Write] Minimum radial polygon count around branch cross-sections.

    Lower bound on cross-section detail. 3 = triangular cross-sections (very angular); higher values for smooth round branches.

  • point_removal (float): [Read-Write] Removes small points to simplify the mesh.

    Reduces the points considered for mesh generation. Depends on Hull, Main Trunk, Ground, and Scale Retention settings. Higher = more aggressive simplification.

  • scale_retention (float): [Read-Write] Preserves detail relative to branch size.

    Retains more detail on larger/thicker structures and simplifies smaller ones to prioritize visually important geometry.

  • scale_retention_gradient (PVFloatRamp): [Read-Write] Gradient controlling size-based retention.

    Uses a ramp to vary how size-dependent retention is applied across the model. Keep large structures crisp while simplifying finer parts.

  • segment_reduction (float): [Read-Write] How aggressively segments are reduced.

    Simplifies the branch polyline while preserving overall shape. Higher = fewer edges, lighter mesh. Combine with Retention settings to preserve important regions.

  • segment_retention_impact (float): [Read-Write] How strongly retention rules can reintroduce reduced points.

    Retention rules (Hull, Main Trunk, Ground, Scale) can reintroduce points the simplifier removed. This multiplier governs how strongly they push back. 0 = retention has no effect; 1 = full impact.

  • shortest_segment_length (float): [Read-Write] Minimum allowed segment length.

    Segments shorter than this are merged or removed to avoid unnecessary fine detail that inflates polycount.

  • skeleton_resolution (int32): [Read-Write] Number of segments the longest branch is divided into for skeleton interpolation.

    Higher values add more interpolated points for smoother branch curvature at the cost of vertex count.