Minor·
Natsura 0.7.1.0
Highly experimental release containing many untested features and significant under-the-hood changes to the decorations pipeline
Back to ChangelogHighly experimental release containing many untested features and significant under-the-hood changes to the decorations pipeline
Highlights
- This is an experimental build. The decorations pipeline has been substantially reworked under the hood and much of it is untested. Keep your 0.7.0.x install alongside it.
- Bud — a new growth component covering spawn interval, whorl angle, multiplicity, offset and phyllotaxy in one node.
- Shape — a new node that takes a stack of weighted shape effectors, each mappable, with break control.
- Nanite/USD export now keeps material bindings on instanced prototypes. Previously only the trunk arrived bound; every prototype came through with an empty binding.
- Multi-tree exports now write one wind sidecar per tree instead of a single merged file covering all of them.
- Houdini 22 support. Natsura previously failed to start on H22 — no desktop, no logging, no background service, and no error to say why.
- Clicking around a heavy scene is roughly 6x faster (~3.8s to ~0.6s per selection on a 1,008-node scene).
Workflow Changes
- New package layout. The root of the download now holds only what you click, read or edit; the machinery lives in
setup/. Setup creates a real shortcut for your platform —.lnkon Windows, an.appbundle on macOS, a.desktopentry on Linux. launch.confis plainKEY=VALUE, with every key documented inREADME.txt.- Bud, Shape, Map Wrangle and Invoke Effector appear in the tab menu under
Natsura/,Natsura/CoreandNatsura/Utility.
New Nodes
natsura::bud::1.0— Natsura Bud. Growth component with spawn seed and interval, whorl angle and multiplicity, spawn offset, and phyllotaxy. Takes terminal, lateral and prune graph inputs, and hosts effectors and decorators.natsura::shape::1.0— Natsura Shape. Hosts a stack of shape effectors, each with a weight that can be a value or a map, plus an Allow Breaks toggle.natsura::map_wrangle::1.0— Natsura Map Wrangle. A bare VEX field for writing a map directly.natsura::invoke_effector::1.0— Natsura Invoke Effector. Runs a stack of effector snippets against a group, precompiled by default, with the header and template exposed when it isn't.natsura::prestitch_temp::1.0— STRANDS. Work in progress and unstable. Expect it to change or disappear.
Node Updates
- create_nanite_assembly Material targeting is now pattern-based rather than a frozen list of paths, so it survives renaming the asset, changing the tree count and changing the prototype count. The list refreshes itself immediately before every export.
- unreal_wind Wind data is compiled per tree rather than for the whole geometry. Each connected tree gets its own payload; the compiler version is now 2.0.
- export_json Writes one file per tree, named
<asset>_<n>_wind.json. - export_unreal_nanite_assembly Updated alongside the wind and material changes.
- Decoration pipeline rebuild — updated: Assembly Decoration, Clusters Decoration, Core Decorate, Surface Decoration, Rebuild Primitive Attributes, Spline Reduce, Atlas Material.
- Effectors — updated: Autocode Effector, Effector Template, Deflection Effector, Magnet Effector, Noise Effector.
- Mapping — updated: Map, Map Attribute, Map Constant, Mapping Template, Core Wrangle.
- Growth and rigging — updated: Grow, Core Grow, Simulate, Execute Logic, Instancify, Rig to Assembly, Identify Shared Instances, Import Speedtree.
Performance
- Selection in a 1,008-node scene: ~3.8s to ~0.6s per click.
- Spans panel scope rebuild, single simulate: 179ms to 4.4ms.
- Spans panel scope rebuild, 26 simulates and 619 drivers: 1,697ms to 10.5ms.
- Spans panel background poll: 406ms to 121ms.
- Node graph colouring on repeat calls: full rewrite to no writes at all.
Bug Fixes
- create_nanite_assembly Materials did not come through on instanced prototypes. 36 of 38 bindings were being dropped at the reference boundary; only the trunks survived.
- create_nanite_assembly The material list went empty or stale after a rename or a change in tree count, and nothing refilled it.
- export_json Booleans were written as
1and0instead oftrueandfalse. - export_json Duplicate
Rootandrootjoints both survived into the sidecar. - export_json An empty Name now raises an error instead of writing a mysteriously named file.
- unreal_wind Multi-tree exports wrote a single merged sidecar covering every tree in the scene.
- Natsura did not start at all under Houdini 22, silently. H22 uses Python 3.13 and only 3.10 and 3.11 were shipped.
- Starting Houdini with an empty scene could spawn a Natsura geo node with Grow and Simulate in it.
- Windows install failed —
setup.batcalled asetup.ps1that was not in the archive. - Linux and macOS install failed —
setup.shshipped with Windows line endings.
Internals
- The startup sequence lives in one place now, with the per-Python-version entry points reduced to shims. Supporting a new Houdini version is a file copy rather than a third copy of the logic to keep in sync.
- Hotkeys persist nothing. The dead file-based loader and its shipped config file have been removed; bindings resolve live on each keypress.
- Includes everything from 0.7.0.3. If you never successfully installed that one, its fixes are here.
Known Issues
- Experimental build. The decoration pipeline changes are largely untested and regressions are likely.
- create_nanite_assembly Material bindings are written into the root layer, not into the per-tree
assemblies/*.usda. If you load an assembly layer standalone it will have no bindings. - create_nanite_assembly If an existing hip has Allow Editing of Contents on the node, use Match Current Definition after updating or the material fix will not reach it.
- unreal_wind Gust attenuation, root stub, ground cover and emit mode are internal and not reachable from the node interface.
- USD exports write
upAxis = "Y". Unreal is Z-up. - The macOS
.appbundle is untested and carries a generic icon. prestitch_tempis a scratch node, not a feature.
Looking Ahead
- Settling the decorations pipeline rework and getting the new Bud and Shape nodes tested and documented.