Feature·
Natsura 0.6.3.0
Suite of bugfixes and stability improvements
Back to ChangelogSuite of bugfixes and stability improvements
- Removed many classes of bugs including "ghost" cooks triggered by python panels
- Updated rig definition for improved control
- Improvements to Assembly tools and workflow
- surface decoration "min width"
- fuse assembly rigs with simulated skeleton for detailed wind animation
- The biggest workflow change is the rig to assembly workflow. Now it is possible to simulate a set of branches or a tree and then "decompose" it into modules for use in another simulation. This unlocks the procedural power of natsura for creating species at scale.
- rig_merge ~ merges two rigs into one
- binds parents ↔ children across the join
- "fix parent id" + adjustable parentname
- later speed-optimized
- rig_rename ~ renames rig joints as a discrete op
- rig_delete ~ deletes rig joints as a discrete op
- rig_collapse ~ collapses rig hierarchy
- refactored to host shared rig utilities
- rig_rebind ~ rebinds skin weights to a rig
- remade from scratch (was very slow), then standardized and optimized
- rig_rename ~ renames rig joints as a discrete op
- rig_delete ~ deletes rig joints as a discrete op
- rig_collapse ~ collapses rig hierarchy
- refactored to host shared rig utilities
- rig_detect_used_joints ~ flags which joints are actually used
- feeds simplify / collapse
- rewire_tree ~ basic utility for rewiring tree topology
- skeletonize ~ skeleton extraction utility
- adaptive_part_removal ~ removes parts adaptively
- prune_wizard ~ wizard-style pruning entry point
- rig_to_assembly ~ wrapper over the whole rig→assembly toolchain
- multiple branch inputs, nested assemblies, extract subassemblies + atoms
- fixes and simplifies rigs
- added "absorb instances" toggle
- refactored onto shared rig utilities, removed redundancy
- moved "name corrections" up a level (was too deep)
- fixed class management (resolved a cascade of downstream bugs)
- viewport arrow made static
- instancify ~ pulls repeated geo out into instanced modules
- pulls out subassemblies, fixes up rig + skin
- transfers prim attributes too
- removes single instances mis-tagged as modules (re-found later)
- collapse-unused-parts now deletes fully-unused joints, not just reparents
- fixed broken "detect unused modules" check
- "absorb instances" toggle, internal-node refactor
- viewport arrow made static
- assembly_decoration ~ places decorations onto
- fixed invalid default parm (result shows on first placement now)
- passes name / localname / parentname / assembly_name through
- switched to parent_id internally (old branches lacked id_parent)
- ~100× speedup at high joint counts (nametopoi
- smarter rig reconstruction + joint management after deletion
- working preview mode
- assemblify ~ converts rig + skinned geo into one mesh stream for decorators
- scope reduced to that single responsibility
- naming now happens here so core utilities drop name/class management
- removed class refs, added temp-attribute cleanup
- added a FUSE step
- simulate ~ runs the growth simulation
- removed output-attributes control (broke scene upgrades)
- added timeshifts for slider dragging
- robust fullpath-vs-name colouring
- cleans up temp __captblock attrib
- "locked core simulate", embedded simplify-tree-rig-and-skin
- identify_shared_instances ~ finds geometry shared across the tree
- sorts by size, preserves rigging
- no longer unpacks leaves
- assembly_resource ~ resolves an assembly from
- correctly identifies instances inside USD files
- partition logic moved out of import
- USD treatment fixed
- assembly_edit ~ viewport-edit an assembly
- conformed to new rig_to_assembly style
- defaults to assembly_name, added assembly_resource
- wind preview removed
- import_assembly ~ brings an assembly into the scene
- partition_assemblies pulled out of it (wrong level)
- partition_assemblies ~ splits an assembly into partitions
- extracted out of import_assembly
- build_assembly_rig ~ builds the rig for an as
- ly style
- treeparameterize ~ generates strands / parameterizes the tree skeleton
- new "use existing prims" mode (longest strands, no new prim chain)
- new modes: keep source prims, split by attribute (sub-primitive strands)
- added seam group + seam attrib (split strands at UV discontinuity)
- exports id_strand, id_parentstrand, id_sourceprimids, order_strand
- sourceprimuv transfer bugfixes, optimized parent-strand-id gen
- order_branches ~ orders branches for traversa
- computes dist instead of assuming width
- still flagged "needs more thinking"
- fuse_tree_rig_and_skin ~ fuses tree rig with
- stamps new prim joints with prim attributes
- copies additional attribs
- attribute_transfer_by_rig ~ transfers attributes by rig ownership
- now functional
- primsplit on input + edge transport to pick the correct prim per joint
- simplify_rig ~ removes unused joints from a rig
- more accurate "was this joint used" removal
- dropped cluster-based approach, moved onto new utilities
- simplify_rig_reskin ~ simplify rig + reskin v
- updated to new utilities
- simplify_tree_rig_and_skin ~ simplify pass for tree rig + skin
- updated/fixed, embedded into simulate
- export_unreal_nanite_assembly ~ exports assem
- warns if too many instances / joints
- removed unneeded "delete joints"
- adds a root to fix Unreal auto-root-generatio
- sopcreatenaniteassembly ~ LOP building the Nanite assembly
- warning + root fixes matching the exporter
- grow ~ growth node
- internal surface-decoration preview-mode fix
- uses component_name == opfullpath("") instead of serializing + group hunt
- cook-trigger fixes
- surface_decoration ~ decorates a surface
- added working preview mode (matches assembly)
- strands mode
- minimum-width control
- core_decoration ~ core decoration engine
- was failing to pass the full skeleton, fixed
- clusters_decoration ~ cluster-based decoration
- sourceprimuv bugfixes
- cluster_wizard ~ cluster setup wizard
- fixed undefined source point
- surface_wizard ~ surface setup wizard
- "reverse" toggle no longer breaks rig transfe
- magnet_effector ~ magnet effector
- healthier defaults
- pivot_edit ~ edits pivots in the import pipeline
- convex hull instead of decomposition (robust inside/outside test)
- execute_logic ~ per-tree logic evaluation (bl
- stopped discarding "source" attributes
- carries a valid per-tree/per-branch class
- classify ~ classification node
- minor bug fix
- visualize_assemblies ~ debug-visualizes assemblies
- fixed "instances" colour mode
- fixed a regression
- debug_tree_rig ~ debug view of the tree rig
- debug alpha removed
- wind_previs ~ wind previsualization
- removed colour copying
- core_simulate ~ core sim internals — debugged
- wind_config ~ wind config — debugged
- create_proxy ~ proxy creation — optimized
- assembly_pack ~ assembly packing — standardized
- rebuild_primitive_attributes ~ rebuilds prim attributes — uses uvdist instead of xyzdist
- surface decorator enhancements, including trait system for material selection
- cluster decorator enhancements, including trait system for part selection
- More realistic width model and additional width controls
- new core nodes, "select" and "buds"
- MASSIVE performance improvements both when placing nodes and evaluating simulations
- assembly decorator yaw controls
- more postprocessing tools (pruning, posing)
- more effectors (curve follow)