Minor·

Natsura 0.6.0.0

Modular Effectors, Nanite Assemblies, Assembly Decorator, revamped UI, analytics, scan extension, H21 support

Back to Changelog

Modular Effectors, Nanite Assemblies, Assembly Decorator, revamped UI, analytics, scan extension, H21 support

  • Version: 0.6.0.0
  • Date: 2026-03-25
  • Houdini: 20.5, 21.0
  • Previous: 0.5.12.0
  • Battle-tested unreal nanite skeletal assembly support, complete with wind authoring tools
  • Quickly rig twig and branch libraries and assemble canopies using the new Assembly workflow
  • Shape trees using the new modular effector system — bolt-on simulation modifiers, no VEX required
  • Houdini 21.0 support
  • Procedurally extend complex scans and sculpts with multiple trunks
  • Rig simplification tools (reskinning: 30s to 0.2s)
  • Mapping engine rebuilt — no VEX in core path, deferred prims, specialized map variants
  • Organised library of 175 nodes (WIP)
  • Ongoing UI development — new Hub, workspace panel, context-sensitive tips, dockable everything
  • Fully mappable assembly decorator, and ongoing work to move all decorations to be mappable
  • Analytics (opt-in, disabled by default)
  • Complete Python architecture refactor
  • New nodes:
  • natsura::assembly_resource::1.0 -- mesh library import and auto-rigging
  • natsura::assembly_decoration::1.0 -- assembly-based canopy decoration. Pick modules based on traits, transform instance hierarchies with rigid rotations
  • natsura::simplify_rig::1.0 -- rig hierarchy simplification
  • natsura::classify::1.0 -- trait-based module classification
  • natsura::simplify_rig_reskin updates:
  • Performance: 30s to 0.2s
  • Multi-stem tree support
  • Chaining of simplify nodes
  • Added carve method and max joints count
  • natsura::export_unreal_nanite_assembly updates:
  • Material support
  • Skeletal and static assembly
  • Fixed instance naming
  • Removed transform on points breaking instancing
  • New nodes:
  • natsura::wind_init::1.0 -- wind initialization and validation
  • natsura::wind_config::1.0 -- wind class assignment (chainable) for Unreal
  • natsura::wind_previs::1.0 -- wind preview visualization. Not accurate or supposed to look good, but functional for showing layers
  • natsura::unreal_wind::1.0 -- UE5 DynamicWindSkeletalData JSON export
  • New nodes:
  • natsura::effector::1.0 -- base effector node. Write VEX to extend the simulation, respond to geometry and any inputs
  • natsura::deflection_effector::1.0 -- deflection force effector. Make a tree aware of its own shape
  • natsura::magnet_effector::1.0 -- magnet attraction effector. Grow towards or away from target objects
  • natsura::gravity_effector::1.0 -- gravitropism effector. Growth in response to a defined vector — up, usually
  • natsura::noise_effector::1.0 -- noise-based growth perturbation
  • natsura::grow::2.0 updates:
  • New spiral parameter (absolute/relative mode) for overriding inherited phyllotaxy
  • Modular effector stack integration
  • Updated decorator stack to match effector stack format
  • Map prims construction deferred to grow (reduces node count and compile time)
  • Effectors can pass geometry signals
  • Instant colour preview
  • Grow skeleton swap and custom draw modules
  • Spawn simulate+grow on start
  • natsura::grow::1.0 / 1.1 / 1.2 updates:
  • Backwards compatibility restored across all versions
  • Mapping dependencies standardized (ingest mappings unified)
  • Deprecated parameter warnings removed
  • Grow 1.2: internal surface decoration support
  • Core map path rewritten: attribfromparms replaces VEX/wrangles/string edits
  • Prims construction deferred to Grow, Switch, Wrangle
  • Map If: primitive points can exceed 0-1 range
  • Map Blend: descriptive parameter added
  • Maps colored according to parent node
  • Copying maps no longer disconnects
  • Easier undo for map additions/deletions
  • Compiled VEX removed from all maps
  • Ingest Mappings standardized across Grow 1.0, 1.1, 1.2
  • New nodes (experimental):
  • natsura::map_constant::1.0 -- constant value map
  • natsura::map_random::1.0 -- random value map
  • natsura::map_attribute::1.0 -- geometry attribute map
  • Natsura Hub: modular tabbed interface replacing monolithic welcome panel
  • Independent modules: Home, Projects, Examples, Settings, Feedback
  • Each panel standalone as dockable .pypanel
  • Data-driven tab registration via hub.json
  • Version checking on hub open (background thread)
  • In-Houdini feedback submission
  • Tips Panel v2: context-sensitive, pin button, image support, user notes
  • Hints system: rolling startup tips from curated JSON
  • Combined Workspace panel: toolbar + attributes in single docked layout
  • Splash screen: recent projects, examples, documentation access
  • Tab menu reorganized for node creation
  • Display toolbar: switch/split added, dev shelf removed
  • Desktop preference for layout management
  • Graph metadata parallelization: 16s to negligible on large scenes
  • Rig reskinning: 30s to 0.2s
  • Map compile time reduced (deferred prims, no wrangles)
  • Surface decoration: sweep and polyreduce removed from loop
  • Cached user data attribute retrieval (no cook triggers)
  • Houdini 21.0 support (APEX graph schema enforcement fix)
  • PySide2/PySide6 abstraction layer for Qt compatibility
  • Execute logic works in both 20.5 and 21.0
  • Continued full Houdini 20.5 support
  • Parallelized graph metadata update (16s to negligible on large scenes)
  • Active simulate parameter now lives on consumer nodes (grow, decorators, etc.) rather than on the simulate itself — avoids unnecessary global recooks
  • Display settings moved to display tab
  • Attribute interpolation rework — previously, the simulate passed every attribute through to every decorator, which meant decorators could accidentally consume or corrupt attributes intended for downstream nodes. Now each decorator has a defined contract specifying which attributes it receives and which it outputs, so nothing leaks or gets lost between stages
  • Experimental postprocess multiparm — until now, if you needed to apply a geometry fix after the simulate (recomputing normals, deleting construction attributes, adjusting topology), you had to do it outside the natsura graph and lose the dependency tracking. The postprocess multiparm gives you a place to chain those operations inside the simulate itself
  • Corrected rotation of first point in skeleton fix
  • Simulate-assembly-simulate loop closed — you can now plug a simulate directly into another simulate
  • Not a new node — updated to support mapping. Heavily WIP.
  • Internal reorganization: pre-strands, make strands, strand processes, make surface, surface processes
  • Fixed orientation (roll, pitch, yaw)
  • Works for both scans and procedural geometry
  • Mappable width
  • Removed sweep and polyreduce from loop (performance)
  • Removed redundant parameters
  • Supports multiscan extension
  • Lots of work on improved quality. Branch seams and LOD falloffs in the near future
  • Still useful in tandem with assembly decorator, but large updates scheduled
  • Vertex attributes fix
  • Promote vertex attribs to points for healthy interpolation
  • Performance improvements (replaced pack with copy-to-points)
  • Required attributes handling
  • Removed internal interpolation
  • Supports multitrunk scan extension
  • Replaced polypath with join
  • Various stability fixes
  • Processes strand geometry after the simulate — transfers vertex and point attributes from source surfaces and resamples strands. This is the bridge between the skeleton output and the decoration pipeline
  • Better attribute passing
  • Mappable step length resample — variable arc-length vertex placement instead of uniform subdivision
  • Houdini 21.0 APEX graph schema enforcement fix
  • Removed slow renaming operation
  • Fixed i@ vs @ attribute type mixing
  • Mappable switches with map-driven gates
  • Attribute display restored
  • Uncompiled for flexibility
  • natsura::atlas_wizard::1.0 -- guided atlas processing. Main touchpoint for setting up atlases for cluster decorator
  • natsura::leaf_decoration::1.0 -- leaf decoration (experimental, not customer-facing yet)
  • lop_natsura::sopcreatenaniteassembly -- Nanite assembly for USD workflows
  • Python codebase reorganized into centralized natsura/ package (thin interface pattern)
  • 7+ sub-packages: core, mapping, nodes, shelf, ui, config, service, compat
  • All HDA logic centralized -- changes propagate without republishing
  • Service singleton for display flag tracking with Qt signals
  • Batched reference updates for map rename/delete
  • Decorator attribute contract: standardized which attributes enter/leave each decorator
  • PostHog EU Cloud integration (opt-in, disabled by default)
  • Consent dialog on third launch
  • Anonymous, no personal data
  • Daemon thread for non-blocking I/O
  • 3-strike failure disable
  • Local JSON fallback always active
  • Grow whorl fixed
  • Multi-decorator support restored
  • Effector mapping fixed
  • Wrangle and Switch mapping show attributes again
  • Map rename no longer resets parameters
  • License validator removed from undo stack
  • Various cook trigger stability fixes
  • Cluster decoration crash fix
  • Randomness regression found and fixed
  • Grow 1.2 legacy support re-enabled
  • Assembly decoration defaults do not produce valid output without manual setup
  • Refresh button required to detect available effectors after wiring nodes
  • Adding a new effector does not trigger detection of other available effectors
  • Stale effector parameters are not cleaned up when an effector is removed
  • Renaming an effector node creates a duplicate parameter instead of updating
  • Assembly resource is not flagged as invalid when used as decorator directly
  • Pitch mapping not updating when changed
  • Double leaves appearing on manual part selection
  • Debug color setting not saving
  • Auto-modularize produces occasional ugly parts
  • Classifier accidentally keeps selection when clicking elsewhere
  • Scale/layout shifts when switching scenes
  • Event queue overflow on node deletion (16,000+ UI_EVENT_REDRAW events)
  • 0.7 will be a breaking release. This release includes precursor work: standardized mapping architecture, groundwork for decorator cook trigger decoupling, foundation for mappable decorator parameters.
  • Assembly-related nodes should be considered experimental.
  • Analytics is opt-in and disabled by default. No data is collected without explicit user consent.