[{"data":1,"prerenderedAt":2463},["ShallowReactive",2],{"navigation":3,"roadmap":566,"roadmap-releases":580,"cta":2384},[4,26,51,170,196,217,266],{"title":5,"path":6,"stem":7,"children":8,"page":25},"Getting Started","\u002Fdocs\u002Fgetting-started","docs\u002Fgetting-started",[9,13,17,21],{"title":10,"path":11,"stem":12},"Overview","\u002Fdocs\u002Fgetting-started\u002Foverview","docs\u002Fgetting-started\u002Foverview",{"title":14,"path":15,"stem":16},"Installation","\u002Fdocs\u002Fgetting-started\u002Finstallation","docs\u002Fgetting-started\u002Finstallation",{"title":18,"path":19,"stem":20},"Interface","\u002Fdocs\u002Fgetting-started\u002Finterface","docs\u002Fgetting-started\u002Finterface",{"title":22,"path":23,"stem":24},"Your First Tree","\u002Fdocs\u002Fgetting-started\u002Fyour-first-tree","docs\u002Fgetting-started\u002Fyour-first-tree",false,{"title":27,"path":28,"stem":29,"children":30,"page":25},"Core Concepts","\u002Fdocs\u002Fcore-concepts","docs\u002Fcore-concepts",[31,35,39,43,47],{"title":32,"path":33,"stem":34},"Simulation","\u002Fdocs\u002Fcore-concepts\u002Fsimulation","docs\u002Fcore-concepts\u002Fsimulation",{"title":36,"path":37,"stem":38},"Shaping","\u002Fdocs\u002Fcore-concepts\u002Fshaping","docs\u002Fcore-concepts\u002Fshaping",{"title":40,"path":41,"stem":42},"Trunks & Meshing","\u002Fdocs\u002Fcore-concepts\u002Ftrunks-meshing","docs\u002Fcore-concepts\u002Ftrunks-meshing",{"title":44,"path":45,"stem":46},"Foliage & Instancing","\u002Fdocs\u002Fcore-concepts\u002Ffoliage-instancing","docs\u002Fcore-concepts\u002Ffoliage-instancing",{"title":48,"path":49,"stem":50},"Glossary","\u002Fdocs\u002Fcore-concepts\u002Fglossary","docs\u002Fcore-concepts\u002Fglossary",{"title":52,"path":53,"stem":54,"children":55,"page":25},"Features","\u002Fdocs\u002Ffeatures","docs\u002Ffeatures",[56,69,81,105,114,138,146,162],{"title":57,"path":58,"stem":59,"children":60,"page":25},"Mapping","\u002Fdocs\u002Ffeatures\u002Fmapping","docs\u002Ffeatures\u002Fmapping",[61,64],{"title":57,"path":62,"stem":63},"\u002Fdocs\u002Ffeatures\u002Fmapping\u002Foverview","docs\u002Ffeatures\u002Fmapping\u002Foverview",{"title":65,"path":66,"stem":67,"badge":68},"Mapping Cookbook","\u002Fdocs\u002Ffeatures\u002Fmapping\u002Fcookbook","docs\u002Ffeatures\u002Fmapping\u002Fcookbook","WIP",{"title":70,"path":71,"stem":72,"children":73,"page":25},"Effectors","\u002Fdocs\u002Ffeatures\u002Feffectors","docs\u002Ffeatures\u002Feffectors",[74,77],{"title":70,"path":75,"stem":76},"\u002Fdocs\u002Ffeatures\u002Feffectors\u002Foverview","docs\u002Ffeatures\u002Feffectors\u002Foverview",{"title":78,"path":79,"stem":80,"badge":68},"Effectors Cookbook","\u002Fdocs\u002Ffeatures\u002Feffectors\u002Fcookbook","docs\u002Ffeatures\u002Feffectors\u002Fcookbook",{"title":82,"path":83,"stem":84,"children":85,"page":25},"Decorations","\u002Fdocs\u002Ffeatures\u002Fdecorations","docs\u002Ffeatures\u002Fdecorations",[86,89,93,97,101],{"title":82,"path":87,"stem":88},"\u002Fdocs\u002Ffeatures\u002Fdecorations\u002Foverview","docs\u002Ffeatures\u002Fdecorations\u002Foverview",{"title":90,"path":91,"stem":92},"Surface Decoration","\u002Fdocs\u002Ffeatures\u002Fdecorations\u002Fsurface","docs\u002Ffeatures\u002Fdecorations\u002Fsurface",{"title":94,"path":95,"stem":96},"Trunk Decoration","\u002Fdocs\u002Ffeatures\u002Fdecorations\u002Ftrunk","docs\u002Ffeatures\u002Fdecorations\u002Ftrunk",{"title":98,"path":99,"stem":100},"Assembly Decoration","\u002Fdocs\u002Ffeatures\u002Fdecorations\u002Fassembly","docs\u002Ffeatures\u002Fdecorations\u002Fassembly",{"title":102,"path":103,"stem":104},"Cluster Decoration","\u002Fdocs\u002Ffeatures\u002Fdecorations\u002Fcluster","docs\u002Ffeatures\u002Fdecorations\u002Fcluster",{"title":106,"path":107,"stem":108,"children":109,"page":25},"Traits","\u002Fdocs\u002Ffeatures\u002Ftraits","docs\u002Ffeatures\u002Ftraits",[110],{"title":111,"path":112,"stem":113},"Trait System","\u002Fdocs\u002Ffeatures\u002Ftraits\u002Foverview","docs\u002Ffeatures\u002Ftraits\u002Foverview",{"title":115,"path":116,"stem":117,"children":118,"page":25},"Materials","\u002Fdocs\u002Ffeatures\u002Fmaterials","docs\u002Ffeatures\u002Fmaterials",[119,122,126,130,134],{"title":115,"path":120,"stem":121},"\u002Fdocs\u002Ffeatures\u002Fmaterials\u002Foverview","docs\u002Ffeatures\u002Fmaterials\u002Foverview",{"title":123,"path":124,"stem":125},"Surface Materials","\u002Fdocs\u002Ffeatures\u002Fmaterials\u002Fsurface","docs\u002Ffeatures\u002Fmaterials\u002Fsurface",{"title":127,"path":128,"stem":129},"Atlas Materials","\u002Fdocs\u002Ffeatures\u002Fmaterials\u002Fatlas","docs\u002Ffeatures\u002Fmaterials\u002Fatlas",{"title":131,"path":132,"stem":133,"badge":68},"Copernicus","\u002Fdocs\u002Ffeatures\u002Fmaterials\u002Fcopernicus","docs\u002Ffeatures\u002Fmaterials\u002Fcopernicus",{"title":135,"path":136,"stem":137},"Baking","\u002Fdocs\u002Ffeatures\u002Fmaterials\u002Fbake","docs\u002Ffeatures\u002Fmaterials\u002Fbake",{"title":139,"path":140,"stem":141,"defaultOpen":25,"children":142,"page":25},"Atlas Workflow","\u002Fdocs\u002Ffeatures\u002Fatlases","docs\u002Ffeatures\u002Fatlases",[143],{"title":139,"path":144,"stem":145},"\u002Fdocs\u002Ffeatures\u002Fatlases\u002Foverview","docs\u002Ffeatures\u002Fatlases\u002Foverview",{"title":147,"path":148,"stem":149,"defaultOpen":25,"children":150,"page":25},"Scan Workflow","\u002Fdocs\u002Ffeatures\u002Fscans","docs\u002Ffeatures\u002Fscans",[151,154,158],{"title":147,"path":152,"stem":153},"\u002Fdocs\u002Ffeatures\u002Fscans\u002Foverview","docs\u002Ffeatures\u002Fscans\u002Foverview",{"title":155,"path":156,"stem":157},"Trunk Extension","\u002Fdocs\u002Ffeatures\u002Fscans\u002Fextension","docs\u002Ffeatures\u002Fscans\u002Fextension",{"title":159,"path":160,"stem":161,"badge":68},"Baking for Scans","\u002Fdocs\u002Ffeatures\u002Fscans\u002Fbaking","docs\u002Ffeatures\u002Fscans\u002Fbaking",{"title":163,"path":164,"stem":165,"defaultOpen":25,"children":166,"page":25},"Assembly Workflow","\u002Fdocs\u002Ffeatures\u002Fassemblies","docs\u002Ffeatures\u002Fassemblies",[167],{"title":163,"path":168,"stem":169},"\u002Fdocs\u002Ffeatures\u002Fassemblies\u002Foverview","docs\u002Ffeatures\u002Fassemblies\u002Foverview",{"title":171,"path":172,"stem":173,"defaultOpen":25,"children":174,"page":25},"Unreal","\u002Fdocs\u002Funreal","docs\u002Funreal",[175,179,183],{"title":176,"path":177,"stem":178},"Take Your Tree to Unreal","\u002Fdocs\u002Funreal\u002Ftree-to-unreal","docs\u002Funreal\u002Ftree-to-unreal",{"title":180,"path":181,"stem":182},"Wind for Unreal","\u002Fdocs\u002Funreal\u002Fwind","docs\u002Funreal\u002Fwind",{"title":184,"path":185,"stem":186,"defaultOpen":25,"children":187,"page":25},"Nanite","\u002Fdocs\u002Funreal\u002Fnanite","docs\u002Funreal\u002Fnanite",[188,192],{"title":189,"path":190,"stem":191},"Working with Assemblies in Unreal","\u002Fdocs\u002Funreal\u002Fnanite\u002Fskeletal-assemblies","docs\u002Funreal\u002Fnanite\u002Fskeletal-assemblies",{"title":193,"path":194,"stem":195},"Nanite Assemblies & Unreal Export","\u002Fdocs\u002Funreal\u002Fnanite\u002Ftroubleshooting","docs\u002Funreal\u002Fnanite\u002Ftroubleshooting",{"title":197,"path":198,"stem":199,"children":200,"page":25},"Guru","\u002Fdocs\u002Fguru","docs\u002Fguru",[201,205,209,213],{"title":202,"path":203,"stem":204},"Extend Natsura","\u002Fdocs\u002Fguru\u002Fextend-natsura","docs\u002Fguru\u002Fextend-natsura",{"title":206,"path":207,"stem":208},"Building Your Own Decorations","\u002Fdocs\u002Fguru\u002Fcustom-decorations","docs\u002Fguru\u002Fcustom-decorations",{"title":210,"path":211,"stem":212,"badge":68},"VEX","\u002Fdocs\u002Fguru\u002Fvex","docs\u002Fguru\u002Fvex",{"title":214,"path":215,"stem":216,"badge":68},"Make Your Own Tools","\u002Fdocs\u002Fguru\u002Fcustom-tools","docs\u002Fguru\u002Fcustom-tools",{"title":218,"path":219,"stem":220,"children":221,"page":25},"Help","\u002Fdocs\u002Fhelp","docs\u002Fhelp",[222,226,242,246,250,254,258,262],{"title":223,"path":224,"stem":225},"Commercial Use","\u002Fdocs\u002Fhelp\u002Fcommercial-use","docs\u002Fhelp\u002Fcommercial-use",{"title":227,"path":228,"stem":229,"children":230,"page":25},"Install & Upgrade","\u002Fdocs\u002Fhelp\u002Finstall-upgrade","docs\u002Fhelp\u002Finstall-upgrade",[231,234,238],{"title":14,"path":232,"stem":233},"\u002Fdocs\u002Fhelp\u002Finstall-upgrade\u002Foverview","docs\u002Fhelp\u002Finstall-upgrade\u002Foverview",{"title":235,"path":236,"stem":237},"Install Natsura (Package Method)","\u002Fdocs\u002Fhelp\u002Finstall-upgrade\u002Fpackage","docs\u002Fhelp\u002Finstall-upgrade\u002Fpackage",{"title":239,"path":240,"stem":241,"badge":68},"Upgrading","\u002Fdocs\u002Fhelp\u002Finstall-upgrade\u002Fupgrading","docs\u002Fhelp\u002Finstall-upgrade\u002Fupgrading",{"title":243,"path":244,"stem":245},"Troubleshooting","\u002Fdocs\u002Fhelp\u002Ftroubleshooting","docs\u002Fhelp\u002Ftroubleshooting",{"title":247,"path":248,"stem":249,"badge":68},"Activation & Licensing","\u002Fdocs\u002Fhelp\u002Factivation-and-licensing","docs\u002Fhelp\u002Factivation-and-licensing",{"title":251,"path":252,"stem":253,"badge":68},"Common Issues","\u002Fdocs\u002Fhelp\u002Fcommon-issues","docs\u002Fhelp\u002Fcommon-issues",{"title":255,"path":256,"stem":257,"badge":68},"FAQ","\u002Fdocs\u002Fhelp\u002Ffaq","docs\u002Fhelp\u002Ffaq",{"title":259,"path":260,"stem":261,"badge":68},"Support","\u002Fdocs\u002Fhelp\u002Fsupport","docs\u002Fhelp\u002Fsupport",{"title":263,"path":264,"stem":265,"badge":68},"Contact","\u002Fdocs\u002Fhelp\u002Fcontact","docs\u002Fhelp\u002Fcontact",{"title":267,"path":268,"stem":269,"children":270,"page":25},"Node Reference","\u002Fdocs\u002Fnodes","docs\u002Fnodes",[271,274,279,282,287,291,295,299,303,307,311,315,319,323,327,331,335,339,343,347,350,354,358,362,366,370,374,378,382,386,390,394,398,402,406,410,414,418,423,427,431,435,439,443,447,451,455,459,463,467,471,475,479,483,487,491,495,499,503,507,512,516,520,524,528,531,535,539,543,547,550,554,558,562],{"title":267,"path":272,"stem":273},"\u002Fdocs\u002Fnodes\u002Fnode-reference","docs\u002Fnodes\u002Fnode-reference",{"title":275,"path":276,"stem":277,"badge":278},"Ancestor Effector","\u002Fdocs\u002Fnodes\u002Fancestor-effector","docs\u002Fnodes\u002Fancestor-effector","Experimental",{"title":98,"path":280,"stem":281},"\u002Fdocs\u002Fnodes\u002Fassembly-decoration","docs\u002Fnodes\u002Fassembly-decoration",{"title":283,"path":284,"stem":285,"badge":286},"Assembly Edit","\u002Fdocs\u002Fnodes\u002Fassembly-edit","docs\u002Fnodes\u002Fassembly-edit","New",{"title":288,"path":289,"stem":290,"badge":286},"Assembly Pack","\u002Fdocs\u002Fnodes\u002Fassembly-pack","docs\u002Fnodes\u002Fassembly-pack",{"title":292,"path":293,"stem":294},"Assembly Resource","\u002Fdocs\u002Fnodes\u002Fassembly-resource","docs\u002Fnodes\u002Fassembly-resource",{"title":296,"path":297,"stem":298,"badge":278},"Atlas 3D","\u002Fdocs\u002Fnodes\u002Fatlas-3d","docs\u002Fnodes\u002Fatlas-3d",{"title":300,"path":301,"stem":302,"badge":278},"Atlas Emboss","\u002Fdocs\u002Fnodes\u002Fatlas-emboss","docs\u002Fnodes\u002Fatlas-emboss",{"title":304,"path":305,"stem":306,"badge":278},"Atlas Import","\u002Fdocs\u002Fnodes\u002Fatlas-import","docs\u002Fnodes\u002Fatlas-import",{"title":308,"path":309,"stem":310,"badge":278},"Atlas Layout","\u002Fdocs\u002Fnodes\u002Fatlas-layout","docs\u002Fnodes\u002Fatlas-layout",{"title":312,"path":313,"stem":314,"badge":278},"Atlas Material","\u002Fdocs\u002Fnodes\u002Fatlas-material","docs\u002Fnodes\u002Fatlas-material",{"title":316,"path":317,"stem":318,"badge":278},"Atlas Mesh","\u002Fdocs\u002Fnodes\u002Fatlas-mesh","docs\u002Fnodes\u002Fatlas-mesh",{"title":320,"path":321,"stem":322,"badge":278},"Atlas Remesh","\u002Fdocs\u002Fnodes\u002Fatlas-remesh","docs\u002Fnodes\u002Fatlas-remesh",{"title":324,"path":325,"stem":326,"badge":278},"Atlas Source","\u002Fdocs\u002Fnodes\u002Fatlas-source","docs\u002Fnodes\u002Fatlas-source",{"title":328,"path":329,"stem":330,"badge":278},"Atlas Trace","\u002Fdocs\u002Fnodes\u002Fatlas-trace","docs\u002Fnodes\u002Fatlas-trace",{"title":332,"path":333,"stem":334,"badge":278},"Atlas Wizard","\u002Fdocs\u002Fnodes\u002Fatlas-wizard","docs\u002Fnodes\u002Fatlas-wizard",{"title":336,"path":337,"stem":338},"Bake","\u002Fdocs\u002Fnodes\u002Fbake","docs\u002Fnodes\u002Fbake",{"title":340,"path":341,"stem":342,"badge":286},"Build Assembly Rig","\u002Fdocs\u002Fnodes\u002Fbuild-assembly-rig","docs\u002Fnodes\u002Fbuild-assembly-rig",{"title":344,"path":345,"stem":346},"Classify","\u002Fdocs\u002Fnodes\u002Fclassify","docs\u002Fnodes\u002Fclassify",{"title":102,"path":348,"stem":349},"\u002Fdocs\u002Fnodes\u002Fcluster-decoration","docs\u002Fnodes\u002Fcluster-decoration",{"title":351,"path":352,"stem":353},"Core Decoration","\u002Fdocs\u002Fnodes\u002Fcore-decoration","docs\u002Fnodes\u002Fcore-decoration",{"title":355,"path":356,"stem":357,"badge":286},"Create Proxy","\u002Fdocs\u002Fnodes\u002Fcreate-proxy","docs\u002Fnodes\u002Fcreate-proxy",{"title":359,"path":360,"stem":361,"badge":286},"Debug Tree Rig","\u002Fdocs\u002Fnodes\u002Fdebug-tree-rig","docs\u002Fnodes\u002Fdebug-tree-rig",{"title":363,"path":364,"stem":365,"badge":278},"Deflection Effector","\u002Fdocs\u002Fnodes\u002Fdeflection-effector","docs\u002Fnodes\u002Fdeflection-effector",{"title":367,"path":368,"stem":369},"Delay","\u002Fdocs\u002Fnodes\u002Fdelay","docs\u002Fnodes\u002Fdelay",{"title":371,"path":372,"stem":373,"badge":278},"Direction Effector","\u002Fdocs\u002Fnodes\u002Fdirection-effector","docs\u002Fnodes\u002Fdirection-effector",{"title":375,"path":376,"stem":377,"badge":278},"Effector (Custom Base)","\u002Fdocs\u002Fnodes\u002Feffector","docs\u002Fnodes\u002Feffector",{"title":379,"path":380,"stem":381,"badge":278},"Effector Template","\u002Fdocs\u002Fnodes\u002Feffector-template","docs\u002Fnodes\u002Feffector-template",{"title":383,"path":384,"stem":385,"badge":286},"Export Unreal Nanite Assembly","\u002Fdocs\u002Fnodes\u002Fexport-unreal-nanite-assembly","docs\u002Fnodes\u002Fexport-unreal-nanite-assembly",{"title":387,"path":388,"stem":389},"Create Graft Mesh","\u002Fdocs\u002Fnodes\u002Fgraft-mesh","docs\u002Fnodes\u002Fgraft-mesh",{"title":391,"path":392,"stem":393,"badge":278},"Gravity Effector","\u002Fdocs\u002Fnodes\u002Fgravity-effector","docs\u002Fnodes\u002Fgravity-effector",{"title":395,"path":396,"stem":397},"Grow","\u002Fdocs\u002Fnodes\u002Fgrow","docs\u002Fnodes\u002Fgrow",{"title":399,"path":400,"stem":401,"badge":278},"Grow Draw","\u002Fdocs\u002Fnodes\u002Fgrow-draw","docs\u002Fnodes\u002Fgrow-draw",{"title":403,"path":404,"stem":405},"Import Highpoly","\u002Fdocs\u002Fnodes\u002Fhighpoly-import","docs\u002Fnodes\u002Fhighpoly-import",{"title":407,"path":408,"stem":409,"badge":286},"Identify Shared Instances","\u002Fdocs\u002Fnodes\u002Fidentify-shared-instances","docs\u002Fnodes\u002Fidentify-shared-instances",{"title":411,"path":412,"stem":413,"badge":286},"Import Assembly","\u002Fdocs\u002Fnodes\u002Fimport-assembly","docs\u002Fnodes\u002Fimport-assembly",{"title":415,"path":416,"stem":417,"badge":286},"Import Props","\u002Fdocs\u002Fnodes\u002Fimport-props","docs\u002Fnodes\u002Fimport-props",{"title":419,"path":420,"stem":421,"badge":422},"Internal Nodes","\u002Fdocs\u002Fnodes\u002Finternal-nodes","docs\u002Fnodes\u002Finternal-nodes","Internal",{"title":424,"path":425,"stem":426,"badge":286},"Kill","\u002Fdocs\u002Fnodes\u002Fkill","docs\u002Fnodes\u002Fkill",{"title":428,"path":429,"stem":430,"badge":278},"Magnet Effector","\u002Fdocs\u002Fnodes\u002Fmagnet-effector","docs\u002Fnodes\u002Fmagnet-effector",{"title":432,"path":433,"stem":434},"Map","\u002Fdocs\u002Fnodes\u002Fmap","docs\u002Fnodes\u002Fmap",{"title":436,"path":437,"stem":438,"badge":278},"Map Attribute","\u002Fdocs\u002Fnodes\u002Fmap-attribute","docs\u002Fnodes\u002Fmap-attribute",{"title":440,"path":441,"stem":442},"Map Blend","\u002Fdocs\u002Fnodes\u002Fmap-blend","docs\u002Fnodes\u002Fmap-blend",{"title":444,"path":445,"stem":446,"badge":278},"Map Constant","\u002Fdocs\u002Fnodes\u002Fmap-constant","docs\u002Fnodes\u002Fmap-constant",{"title":448,"path":449,"stem":450},"Map If","\u002Fdocs\u002Fnodes\u002Fmap-if","docs\u002Fnodes\u002Fmap-if",{"title":452,"path":453,"stem":454,"badge":278},"Map Random","\u002Fdocs\u002Fnodes\u002Fmap-random","docs\u002Fnodes\u002Fmap-random",{"title":456,"path":457,"stem":458,"badge":278},"Mapping Template","\u002Fdocs\u002Fnodes\u002Fmapping-template","docs\u002Fnodes\u002Fmapping-template",{"title":460,"path":461,"stem":462,"badge":278},"Noise Effector","\u002Fdocs\u002Fnodes\u002Fnoise-effector","docs\u002Fnodes\u002Fnoise-effector",{"title":464,"path":465,"stem":466,"badge":286},"Pivot Edit","\u002Fdocs\u002Fnodes\u002Fpivot-edit","docs\u002Fnodes\u002Fpivot-edit",{"title":468,"path":469,"stem":470,"badge":278},"Prune","\u002Fdocs\u002Fnodes\u002Fprune","docs\u002Fnodes\u002Fprune",{"title":472,"path":473,"stem":474},"Repeat","\u002Fdocs\u002Fnodes\u002Frepeat","docs\u002Fnodes\u002Frepeat",{"title":476,"path":477,"stem":478,"badge":286},"Rig to Assembly","\u002Fdocs\u002Fnodes\u002Frig-to-assembly","docs\u002Fnodes\u002Frig-to-assembly",{"title":480,"path":481,"stem":482},"Scan Material","\u002Fdocs\u002Fnodes\u002Fscan-material","docs\u002Fnodes\u002Fscan-material",{"title":484,"path":485,"stem":486},"Scan Profiles","\u002Fdocs\u002Fnodes\u002Fscan-profiles","docs\u002Fnodes\u002Fscan-profiles",{"title":488,"path":489,"stem":490},"Scan Rig","\u002Fdocs\u002Fnodes\u002Fscan-rig","docs\u002Fnodes\u002Fscan-rig",{"title":492,"path":493,"stem":494},"Scan to Parts","\u002Fdocs\u002Fnodes\u002Fscan-to-parts","docs\u002Fnodes\u002Fscan-to-parts",{"title":496,"path":497,"stem":498},"Scan to Patch","\u002Fdocs\u002Fnodes\u002Fscan-to-patch","docs\u002Fnodes\u002Fscan-to-patch",{"title":500,"path":501,"stem":502},"Scan to Tube","\u002Fdocs\u002Fnodes\u002Fscan-to-tube","docs\u002Fnodes\u002Fscan-to-tube",{"title":504,"path":505,"stem":506,"badge":278},"Seed Points","\u002Fdocs\u002Fnodes\u002Fseed-points","docs\u002Fnodes\u002Fseed-points",{"title":508,"path":509,"stem":510,"badge":511},"Select Decoration","\u002Fdocs\u002Fnodes\u002Fselect-decoration","docs\u002Fnodes\u002Fselect-decoration","Deprecated",{"title":513,"path":514,"stem":515},"Signal","\u002Fdocs\u002Fnodes\u002Fsignal","docs\u002Fnodes\u002Fsignal",{"title":517,"path":518,"stem":519,"badge":286},"Simplify Tree Rig and Skin","\u002Fdocs\u002Fnodes\u002Fsimplify-tree-rig-and-skin","docs\u002Fnodes\u002Fsimplify-tree-rig-and-skin",{"title":521,"path":522,"stem":523},"Simulate","\u002Fdocs\u002Fnodes\u002Fsimulate","docs\u002Fnodes\u002Fsimulate",{"title":525,"path":526,"stem":527},"Split","\u002Fdocs\u002Fnodes\u002Fsplit","docs\u002Fnodes\u002Fsplit",{"title":90,"path":529,"stem":530},"\u002Fdocs\u002Fnodes\u002Fsurface-decoration","docs\u002Fnodes\u002Fsurface-decoration",{"title":532,"path":533,"stem":534},"Surface Resource","\u002Fdocs\u002Fnodes\u002Fsurface-resource","docs\u002Fnodes\u002Fsurface-resource",{"title":536,"path":537,"stem":538,"badge":286},"Surface Wizard","\u002Fdocs\u002Fnodes\u002Fsurface-wizard","docs\u002Fnodes\u002Fsurface-wizard",{"title":540,"path":541,"stem":542},"Switch","\u002Fdocs\u002Fnodes\u002Fswitch","docs\u002Fnodes\u002Fswitch",{"title":544,"path":545,"stem":546,"badge":286},"Treeparameterize","\u002Fdocs\u002Fnodes\u002Ftreeparameterize","docs\u002Fnodes\u002Ftreeparameterize",{"title":94,"path":548,"stem":549},"\u002Fdocs\u002Fnodes\u002Ftrunk-decoration","docs\u002Fnodes\u002Ftrunk-decoration",{"title":551,"path":552,"stem":553,"badge":511},"Unreal Wizard (Deprecated)","\u002Fdocs\u002Fnodes\u002Funreal-wizard","docs\u002Fnodes\u002Funreal-wizard",{"title":555,"path":556,"stem":557,"badge":286},"Wind Config","\u002Fdocs\u002Fnodes\u002Fwind-config","docs\u002Fnodes\u002Fwind-config",{"title":559,"path":560,"stem":561,"badge":286},"Wind Previs","\u002Fdocs\u002Fnodes\u002Fwind-previs","docs\u002Fnodes\u002Fwind-previs",{"title":563,"path":564,"stem":565},"Wrangle","\u002Fdocs\u002Fnodes\u002Fwrangle","docs\u002Fnodes\u002Fwrangle",{"id":567,"path":568,"stem":569,"extension":570,"title":571,"description":572,"headline":573,"meta":574,"navigation":575,"seo":576},"1","\u002Froadmap","13.roadmap","yml","Where Natsura is heading","Leaving Early Access and how we will reach Natsura 1.0","Roadmap",{},true,{"title":577,"description":578,"robots":579},"Natsura Roadmap - What's Growing Next","The Natsura roadmap: what each release delivered, what is being built now, what comes next, and what is planned on the road to Natsura 1.0.","noindex, nofollow",[581,821,1148,1539,1909,2161,2245],{"id":582,"slug":583,"version":584,"title":585,"eyebrow":586,"description":587,"examples":601,"docs":609,"entries":616},"84b79007-3b0a-4750-8e07-54fc8f6a0cd9","upcoming","0.9-1.0","Planned","Q2 2027",{"type":588,"value":589,"toc":597},"minimark",[590,594],[591,592,593],"p",{},"Our goal is to reach 1.0 around the second quarter of 2027. We want to fill the gaps for more traditional foliage workflows, as well as give performance the attention it needs.",[591,595,596],{},"All these features are planned, but most of them aren't locked to 0.9 or 1.0 yet.",{"title":598,"searchDepth":599,"depth":599,"links":600},"",2,[],[602,603,604,605,606,607,608],"A broadleaf, start to finish, using the leaf decorator","A palm, as the case the leaf system has to survive","One tree taken through a full LOD chain, opened in Unreal and profiled","An impostor set built from a finished tree","A collision and proxy pass for a game build","A hand-edited tree: posed, pruned, branches added","The first store libraries, which double as worked examples",[610,611,612,613,614,615],"Foliage: the leaf decorator, presets, and what a leaf is made of","Atlases: UDIMs, UV editing, packing and selection","A new LODs section, written from scratch: the chain, grouping, reduction and impostors","Editing by hand: posing, pruning, adding branches, and what survives a regrow","Licensing: running the offline server inside your own network","Store: what's in a library and how to use one",[617,630,643,656,679,691,711,732,751,770,782,795,808],{"id":618,"slug":619,"category":171,"title":620,"description":621,"state":628,"isNewNode":25,"detail":629},"e428f837-9a6a-467d-8e46-4c5e979ad621","one-click-push-to-unreal","One-click push to Unreal",{"type":588,"value":622,"toc":626},[623],[591,624,625],{},"Select 'Save to Disk' and the tree will appear in your content browser. The files still go via the disk, but only the 'Import this' instruction travels to the editor.",{"title":598,"searchDepth":599,"depth":599,"links":627},[],"planned","\u003Cp>From a finished tree in Houdini to that tree in your Unreal level, in one action, with materials, LODs, collision and wind arriving set up rather than needing a pass in the editor.\u003C\u002Fp>\u003Cp>It sits at 1.0 rather than earlier because it is only worth doing once everything it carries is finished. Pushing a half-built LOD chain through one click is not a feature.\u003C\u002Fp>\u003Cp>\u003Cb>Scope.\u003C\u002Fb> Push, in one direction. Round-tripping edits back from Unreal is not confirmed and is not being promised.\u003C\u002Fp>",{"id":631,"slug":632,"category":633,"title":634,"description":635,"state":628,"isNewNode":25,"detail":642},"41498440-85b4-4827-b0a2-d22d6451e722","baked-recipe","Framework","Baked Recipes",{"type":588,"value":636,"toc":640},[637],[591,638,639],{},"Capture a Natsura network by selecting a simulate and all connected nodes and bake this down into a small, shareable graph. This makes it easier to share with other users and run in game engines like Unreal Engine, without the massive downsides of a large node graph.",{"title":598,"searchDepth":599,"depth":599,"links":641},[],"\u003Cp>Take a setup that works and bake it into a recipe: a small set of controls in front, the whole graph behind, and a guarantee that the same inputs give the same tree.\u003C\u002Fp>\u003Cp>This is what makes Natsura usable by somebody who is not going to learn mapping. A senior artist builds the species; everybody else gets a node with eight parameters on it.\u003C\u002Fp>",{"id":644,"slug":645,"category":646,"title":647,"description":648,"state":628,"isNewNode":25,"detail":655},"b38b071d-a2a2-4d07-91fb-e20252e896b2","vertex-color-baking","Materials & Atlases","Vertex color baking",{"type":588,"value":649,"toc":653},[650],[591,651,652],{},"Bake data from the skeleton down onto the mesh as vertex color, so that the standard Unreal and Megascans material functions work without a manual step in the middle.",{"title":598,"searchDepth":599,"depth":599,"links":654},[],"\u003Cp>Vertex color carried through the pipeline properly, because it is how a game engine gets per-vertex variation and wind masks without another texture lookup.\u003C\u002Fp>\u003Cp>Written on export, and readable back so it can drive things inside Natsura too.\u003C\u002Fp>",{"id":657,"slug":658,"category":659,"title":660,"description":661,"state":628,"isNewNode":575,"detail":678},"82803782-17f6-451e-9f45-64b2dbc3101a","lod-generation","LODs","LOD Generation",{"type":588,"value":662,"toc":676},[663,666],[591,664,665],{},"Support for LOD Generation:",[667,668,669,673],"ul",{},[670,671,672],"li",{},"LOD Chain produced as a normal part of generation\u002Fexporting",[670,674,675],{},"Baking cards into the LODs (including hLOD workflows)",{"title":598,"searchDepth":599,"depth":599,"links":677},[],"\u003Cp>Generate the whole chain from one tree rather than authoring each level: reduction targets per level, per group, with the trunk, branches and foliage reducing at their own rates.\u003C\u002Fp>\u003Cp>Built on the geometry grouping that ships in 0.8.\u003C\u002Fp>",{"id":680,"slug":681,"category":659,"title":682,"description":683,"state":628,"isNewNode":25,"detail":690},"60a7fd6e-0476-43fb-81ea-33adde4827bf","proxy-and-collision-meshes","Proxy and Collision Meshes",{"type":588,"value":684,"toc":688},[685],[591,686,687],{},"A simplified static mesh for collision and proxy use, out of the same export.",{"title":598,"searchDepth":599,"depth":599,"links":689},[],"\u003Cp>The meshes a game needs that are not the tree: collision, occluders, navigation blockers, and a cheap proxy for editor viewports.\u003C\u002Fp>\u003Cp>Create Proxy already produces bounds, VDB, medial axis and particle representations. This is making that a workflow rather than a node.\u003C\u002Fp>",{"id":692,"slug":693,"category":646,"title":694,"description":695,"state":628,"isNewNode":25,"footLabel":702,"footText":703,"detail":710},"a95e5775-e3f4-4712-8bd0-c157a26cc9ed","udims-and-uv-tile-arrangement","UDIMs and UV tile manipulation",{"type":588,"value":696,"toc":700},[697],[591,698,699],{},"Proper UDIM support and control over how islands are arranged across tiles.",{"title":598,"searchDepth":599,"depth":599,"links":701},[],"Status.",{"type":588,"value":704,"toc":708},[705],[591,706,707],{},"The baking pipeline already understands UDIM tokens, so this addresses the remaining gaps.",{"title":598,"searchDepth":599,"depth":599,"links":709},[],"\u003Cp>Proper UDIM support, and control over how tiles are arranged rather than accepting whatever the packer produced.\u003C\u002Fp>\u003Cp>It matters because a tree is not one material budget. Trunk, bark detail, leaves and cards all want different resolutions, and tiles are how you give them different resolutions without splitting the mesh.\u003C\u002Fp>",{"id":712,"slug":713,"category":714,"title":715,"description":716,"state":628,"isNewNode":25,"footLabel":723,"footText":724,"detail":731},"2b4f2673-57b6-41a4-8b2b-3b5005bc33db","roots-blending-into-the-trunk","Meshing","Trunk Root Blending",{"type":588,"value":717,"toc":721},[718],[591,719,720],{},"Proper blending options for where the trunk meets the roots. Root flare and buttressing that transitions smoothly into the trunk, instead of the roots meeting the trunk at a visible seam.",{"title":598,"searchDepth":599,"depth":599,"links":722},[],"Why it matters.",{"type":588,"value":725,"toc":729},[726],[591,727,728],{},"The base of a tree is at eye level, and that's where the join currently shows.",{"title":598,"searchDepth":599,"depth":599,"links":730},[],"\u003Cp>The flare where a trunk meets the ground, with roots that widen out of it continuously instead of being separate geometry pushed into the base.\u003C\u002Fp>\u003Cp>It is one of the first things that reads as wrong when it is missing, because it is at eye level in almost every shot.\u003C\u002Fp>",{"id":733,"slug":734,"category":646,"title":735,"description":736,"state":628,"isNewNode":25,"footLabel":723,"footText":743,"detail":750},"608b6782-69b4-4d51-9200-c31f802a03f3","uv-editing-packing-and-texture-selection","UV editing, packing and texture selection",{"type":588,"value":737,"toc":741},[738],[591,739,740],{},"Get more out of an atlas by deliberately editing and packing UV islands. Choose which region of the atlas each part draws from, so several trunk variants can share one texture file instead of each needing its own.",{"title":598,"searchDepth":599,"depth":599,"links":742},[],{"type":588,"value":744,"toc":748},[745],[591,746,747],{},"Variation is cheap in geometry and expensive in texture memory.",{"title":598,"searchDepth":599,"depth":599,"links":749},[],"\u003Cp>Several trunk textures in one file, and the tools to work that way: edit the UVs, pack them deliberately, and choose which region a given piece of the tree takes.\u003C\u002Fp>\u003Cp>This is what people usually mean when they ask for multiple bark textures on one tree.\u003C\u002Fp>",{"id":752,"slug":753,"category":36,"title":754,"description":755,"state":628,"isNewNode":25,"footLabel":702,"footText":762,"detail":769},"ba63a7e6-b761-41f2-a0c2-6d424c46da47","manual-editing-mode","Manual editing mode",{"type":588,"value":756,"toc":760},[757],[591,758,759],{},"A mode you enter to work on a tree by hand: pose it, prune it and add branches where the simulation didn't put any. Local overrides that survive without regrowing the tree to get the rest back.",{"title":598,"searchDepth":599,"depth":599,"links":761},[],{"type":588,"value":763,"toc":767},[764],[591,765,766],{},"Currently you can pose the plant, but other manual edits like pruning and changing width is not exposed yet.",{"title":598,"searchDepth":599,"depth":599,"links":768},[],"\u003Cp>A mode you enter to work on one tree by hand, when the procedural answer is close but not the answer.\u003C\u002Fp>\u003Cul>\u003Cli>Pose a branch where it is, without regrowing.\u003C\u002Fli>\u003Cli>Prune what you do not want.\u003C\u002Fli>\u003Cli>Add branches where the simulation did not put any.\u003C\u002Fli>\u003C\u002Ful>\u003Cp>The hard part is not the editing. It is that a local edit has to survive changing something upstream, so you can keep working procedurally and keep the corrections you made.\u003C\u002Fp>",{"id":771,"slug":772,"category":659,"title":773,"description":774,"state":628,"isNewNode":575,"detail":781},"88b6fe44-c8b5-49b7-a3dc-34d81b6c742c","impostors","Impostors",{"type":588,"value":775,"toc":779},[776],[591,777,778],{},"Single-quad stand-ins that hold up at distance, so a forest costs what a forest should cost.",{"title":598,"searchDepth":599,"depth":599,"links":780},[],"\u003Cp>The last level: the whole tree rendered to an octahedral or hemi-octahedral impostor, so a forest can be drawn at distance for almost nothing.\u003C\u002Fp>\u003Cp>Generated as part of the chain, with the atlas and the material set up to match what the engine expects.\u003C\u002Fp>",{"id":783,"slug":784,"category":785,"title":786,"description":787,"state":628,"isNewNode":25,"detail":794},"661d0f76-9877-47f1-9389-0eed321a4e36","floating-licences","Licensing","Floating Licenses",{"type":588,"value":788,"toc":792},[789],[591,790,791],{},"Seats check out and return, so you buy for your peak concurrent usage rather than for your headcount.",{"title":598,"searchDepth":599,"depth":599,"links":793},[],"\u003Cp>A pool of licences shared across a studio, checked out when someone opens Houdini and returned when they close it, so seats follow use rather than machines.\u003C\u002Fp>\u003Cp>This is the thing that makes Natsura adoptable by a studio without somebody having to manage a spreadsheet of who has which key.\u003C\u002Fp>",{"id":796,"slug":797,"category":798,"title":799,"description":800,"state":628,"isNewNode":25,"detail":807},"05270ef8-a51f-4185-b60d-31d40c0b28fb","bark-peel","Trunks & meshing","Bark peel",{"type":588,"value":801,"toc":805},[802],[591,803,804],{},"Bark that lifts and detaches from the trunk and the major limbs as geometry, rather than being represented as a flat texture on a cylinder. It is still being scoped and is the least defined item in this release.",{"title":598,"searchDepth":599,"depth":599,"links":806},[],"\u003Cp>Bark that lifts and detaches, on the trunk and on the major limbs, as geometry rather than as a texture that suggests it. Where it lifts, what is underneath is visible, which is what makes the surface layers work below matter.\u003C\u002Fp>\u003Cp>Species differ enormously here. A birch peels in sheets across the trunk, a plane tree sheds in plates, a eucalypt hangs in long ribbons. The control needs to reach all of those without a separate node for each.\u003C\u002Fp>\u003Cp>Still being scoped. The least settled thing in this release.\u003C\u002Fp>",{"id":809,"slug":810,"category":811,"title":812,"description":813,"state":628,"isNewNode":575,"detail":820},"d904ce71-0578-44e0-9d4b-6977d0ce7ddc","pivot-painter-wind-encoding","Export to Unreal","Pivot painter wind encoding",{"type":588,"value":814,"toc":818},[815],[591,816,817],{},"Bake per-branch pivot position, rotation axis and hierarchy depth into UV channels and vertex colours, in the layout Unreal’s pivot painter workflow expects, so wind is evaluated in the vertex shader rather than on a skeleton. This is the low-cost wind path, and the one large numbers of trees can use.",{"title":598,"searchDepth":599,"depth":599,"links":819},[],"\u003Cp>Skeletal wind is accurate and expensive. Pivot painter is the other way round: the data a shader needs to move a branch is baked into the mesh itself, so wind costs a vertex shader rather than a rig.\u003C\u002Fp>\u003Cul>\u003Cli>Per-branch pivot position and rotation axis, written into UV channels.\u003C\u002Fli>\u003Cli>Branch hierarchy and level, so a twig moves with the limb it is on.\u003C\u002Fli>\u003Cli>Extent and stiffness, so a long thin branch and a short thick one behave differently.\u003C\u002Fli>\u003Cli>Vertex colours for the masks the shader needs on top of that.\u003C\u002Fli>\u003C\u002Ful>\u003Cp>It sits alongside the skeletal wind that already exists rather than replacing it. Hero trees keep the rig; everything behind them takes this.\u003C\u002Fp>",{"id":822,"slug":823,"version":824,"title":825,"eyebrow":826,"description":827,"docs":840,"entries":845},"317a4366-c2c8-4896-9ae8-97ea32001a19","0-8","0.8","Meshing and Shaping","Q4 2026",{"type":588,"value":828,"toc":838},[829,832,835],[591,830,831],{},"The woody half of a plant, done properly.",[591,833,834],{},"Trunk meshing above all else: bark, the damage a tree carries, knots where branches were, roots meeting the trunk, and a sweep that knows what it is sweeping. Alongside it, shaping gets better across the board, on Grow and on the decorations.",[591,836,837],{},"We listen closely to your feedback and requests. Keep it coming! Based on your input, 0.9 and 1.0 will be filled out more completely.",{"title":598,"searchDepth":599,"depth":599,"links":839},[],[841,842,843,844],"Decorations: surface and trunk pages rewritten for the new shaping","Materials: blending and scan blending","Shaping: the new effectors, forking, whorls, and the mapping function set","Node help for every node the meshing and shaping work touches",[846,867,885,916,935,964,986,998,1018,1033,1048,1068,1080,1099,1111,1123,1136],{"id":847,"slug":848,"category":32,"title":849,"description":850,"state":857,"firstVersion":858,"isNewNode":575,"footLabel":702,"footText":859,"detail":866},"d84eef54-0280-4539-8f54-c826cf9b801f","skeleton-drawing","Skeleton Drawing ",{"type":588,"value":851,"toc":855},[852],[591,853,854],{},"Draw a tree skeleton by hand and use it either as the base of your tree or as a module to be placed.",{"title":598,"searchDepth":599,"depth":599,"links":856},[],"experimental","0.7.0.1",{"type":588,"value":860,"toc":864},[861],[591,862,863],{},"In development and rough. It works, but it has some edges.",{"title":598,"searchDepth":599,"depth":599,"links":865},[],"\u003Cp>Start from a skeleton you drew or one you already have, instead of from a seed, and grow from there. The rest of Natsura does not care where the skeleton came from.\u003C\u002Fp>\u003Cp>\u003Cb>Honest status.\u003C\u002Fb> In the build and rough. It works, and it has edges.\u003C\u002Fp>",{"id":868,"slug":869,"category":32,"title":870,"description":871,"state":857,"firstVersion":858,"isNewNode":575,"footLabel":702,"footText":878,"detail":866},"f4976624-d90e-42e5-93c8-6a0e0d448aa7","skeleton-import","Speedtree Skeleton Import",{"type":588,"value":872,"toc":876},[873],[591,874,875],{},"Import a skeleton from SpeedTree and use it as either the base skeleton or a cluster.",{"title":598,"searchDepth":599,"depth":599,"links":877},[],{"type":588,"value":879,"toc":883},[880],[591,881,882],{},"In development and rough. It works, but use it carefully.",{"title":598,"searchDepth":599,"depth":599,"links":884},[],{"id":886,"slug":887,"category":714,"title":888,"description":889,"state":857,"firstVersion":907,"isNewNode":25,"footLabel":702,"footText":908,"detail":915},"43f3c1ec-828c-4e8b-b7f4-57607137af44","shaping-on-surface-decoration","Shaping on Surface Decoration",{"type":588,"value":890,"toc":905},[891,894],[591,892,893],{},"This set of features will provide a variety of shaping options:",[667,895,896,899,902],{},[670,897,898],{},"Resampling the given splines as a post-process.",[670,900,901],{},"Mappable parameters for more control over the mesh shape. For example, linking the width with the height of the plant.",[670,903,904],{},"Other controls we are looking to add include spiraling, smoothing, UV modifications, and endcaps.",{"title":598,"searchDepth":599,"depth":599,"links":906},[],"0.7.1.0",{"type":588,"value":909,"toc":913},[910],[591,911,912],{},"First version is in, but not all the features have been implemented yet.",{"title":598,"searchDepth":599,"depth":599,"links":914},[],"\u003Cp>Strand resampling, spiral, mappable width with minimum, maximum, scale and smoothing, displacement, end caps and UV scaling.\u003C\u002Fp>\u003Cp>Surfaces stopped being take-it-or-leave-it and became something you shape.\u003C\u002Fp>",{"id":917,"slug":918,"category":36,"title":919,"description":920,"state":857,"firstVersion":907,"isNewNode":25,"footLabel":702,"footText":927,"detail":934},"375cdcef-38eb-43e6-8ca2-fe1c757c3d2e","effectors-across-the-decorations","Effectors for Decorations",{"type":588,"value":921,"toc":925},[922],[591,923,924],{},"Effectors have been a powerful addition to the Grow. We are also adding them to Decorations. Effectors will be included on the Surface Decoration and Assembly Decoration.",{"title":598,"searchDepth":599,"depth":599,"links":926},[],{"type":588,"value":928,"toc":932},[929],[591,930,931],{},"First version is in!",{"title":598,"searchDepth":599,"depth":599,"links":933},[],"\u003Cp>Surface Decoration and Assembly Decoration host their own effector stacks, the same way Grow does, with each effector weighted by a value or a map.\u003C\u002Fp>\u003Cp>If you know how effectors work on Grow, you know how they work everywhere else. That is the whole point of doing it this way rather than giving each node its own controls.\u003C\u002Fp>",{"id":936,"slug":937,"category":714,"title":938,"description":939,"state":628,"isNewNode":25,"detail":963},"b5b63948-1cf2-47a8-a49f-ac0100ffff87","surface-scattering","Scattering\u002FInstancing for Surface Decorations",{"type":588,"value":940,"toc":961},[941,944],[591,942,943],{},"Instancing is an important part of generating a nice surface. Here are a couple of examples of assets that you might want to scatter on your surface:",[667,945,946,949,952,955,958],{},[670,947,948],{},"Bark Peel",[670,950,951],{},"Knots",[670,953,954],{},"Patches of Moss",[670,956,957],{},"Small Dead Branches",[670,959,960],{},"Decals for damage\u002Fscars",{"title":598,"searchDepth":599,"depth":599,"links":962},[],"\u003Cp>Bark that lifts and detaches, on the trunk and on the major limbs, as geometry rather than as a texture that suggests it. Where it lifts, what is underneath is visible, which is what makes the surface layers work below matter.\u003C\u002Fp>\u003Cp>Species differ enormously here. A birch peels in sheets across the trunk, a plane tree sheds in plates, a eucalypt hangs in long ribbons. The control needs to reach all of those without a separate node for each.\u003C\u002Fp>\u003Cp>\u003Cb>Honest status.\u003C\u002Fb> Still being scoped. The least settled thing in this release.\u003C\u002Fp>",{"id":965,"slug":966,"category":714,"title":967,"description":968,"state":628,"isNewNode":25,"footLabel":975,"footText":976,"detail":983,"image":984},"70362990-31bf-4f7e-ad63-318f87afe827","sweep-with-vascular-shaping","Sweep with support for vascular shaping",{"type":588,"value":969,"toc":973},[970],[591,971,972],{},"A sweep that lets you shape the trunk based on the branches it actually carries, so the cross-section swells and flattens the way a real trunk does around what it is feeding.",{"title":598,"searchDepth":599,"depth":599,"links":974},[],"Replaces.",{"type":588,"value":977,"toc":981},[978],[591,979,980],{},"Circular profiles that are the same shape all the way up.",{"title":598,"searchDepth":599,"depth":599,"links":982},[],"\u003Cp>The sweep that builds the trunk surface currently treats a branch as a tube with a radius. A real trunk is a bundle of vascular strands, and its cross-section is the shape of that bundle: not round, thicker on the loaded side, and swelling where branches join.\u003C\u002Fp>\u003Cp>This is the lightweight version of that idea, working from the branch structure the simulation already produces rather than simulating strands outright. Junctions get their form from the branches meeting there, and taper follows the load rather than a curve you set.\u003C\u002Fp>\u003Cp>\u003Cb>Related.\u003C\u002Fb> Full strands simulation, which is the same idea done properly, is after 1.0.\u003C\u002Fp>",{"src":985},"https:\u002F\u002Fmedia.natsura.com\u002F56a0ba2f-9864-4ee0-bc17-9a17cd243afa.jpg",{"id":987,"slug":988,"category":646,"title":989,"description":990,"state":628,"isNewNode":25,"detail":997},"671485a2-2bbd-49dc-8482-111ab7b52e6e","material-blending","Material blending",{"type":588,"value":991,"toc":995},[992],[591,993,994],{},"Blend between materials across the plant, driven by age, depth, light exposure or any custom attribute you come up with.",{"title":598,"searchDepth":599,"depth":599,"links":996},[],"\u003Cp>Blend between materials across the tree rather than assigning one per part: young bark into old bark up the trunk, wet into dry, healthy into damaged, and the transition between them driven by a map.\u003C\u002Fp>\u003Cp>Blending needs to survive export, which is the harder half of the problem and the reason this sits next to the atlas and vertex colour work.\u003C\u002Fp>",{"id":999,"slug":1000,"category":646,"title":1001,"description":1002,"state":628,"isNewNode":25,"footLabel":1009,"footText":1010,"detail":1017},"8bb165ee-2cf4-4479-81e9-714f2cc3e87e","shader-based-scan-blending","Shader-based scan blending",{"type":588,"value":1003,"toc":1007},[1004],[591,1005,1006],{},"Blend scanned material into procedural material in the shader rather than in the geometry, so the join between a scanned trunk and everything grown on top of it stops being a visible line.",{"title":598,"searchDepth":599,"depth":599,"links":1008},[],"Unblocks.",{"type":588,"value":1011,"toc":1015},[1012],[591,1013,1014],{},"Extending scanned trunks without spending the time hiding the seam.",{"title":598,"searchDepth":599,"depth":599,"links":1016},[],"\u003Cp>When a scanned trunk is extended procedurally, the join between the scan and the grown part has to disappear. Doing it in geometry only gets you so far; the remaining tell is in the material.\u003C\u002Fp>\u003Cp>This is the shader-side half: blend the scanned texture into the procedural material across the join, using the same information the geometry blend used.\u003C\u002Fp>",{"id":1019,"slug":1020,"category":1021,"title":1022,"description":1023,"state":628,"isNewNode":25,"detail":1030,"image":1031},"d10f0dc7-2cdf-4f2a-8762-0c80acfca878","natsura-store","Learning & Content","Natsura Store",{"type":588,"value":1024,"toc":1028},[1025],[591,1026,1027],{},"Production-quality trees and parts libraries, built with partners, along with the free learning content that keeps coming.",{"title":598,"searchDepth":599,"depth":599,"links":1029},[],"\u003Cp>A place to get libraries: assembly libraries of branches and twigs, atlases, recipes and finished species, from us and eventually from other people.\u003C\u002Fp>\u003Cp>It comes before 1.0 because a complete example library and a store are the same problem looked at twice.\u003C\u002Fp>",{"src":1032,"alt":1022},"https:\u002F\u002Fmedia.natsura.com\u002F7df8957c-4b5e-4bdd-9dce-9282fb9634bd.jpg",{"id":1034,"slug":1035,"category":1036,"title":1037,"description":1038,"state":857,"firstVersion":907,"isNewNode":25,"detail":1045,"image":1046},"50e2349b-90cb-4e00-b02c-75daafb7b01f","multi-tree-export-usd-as-layers","USD","Multi-tree export, USD as layers",{"type":588,"value":1039,"toc":1043},[1040],[591,1041,1042],{},"One wind sidecar per tree instead of a single merged file, and USD written as organized layers: shared prototypes in their own library, one assembly layer per tree, and a small root that stitches them together. Prototypes are referenced rather than duplicated, so a forest of the same part costs one copy.",{"title":598,"searchDepth":599,"depth":599,"links":1044},[],"\u003Cp>Export several trees at once and get organised USD out of it: shared prototypes in their own layer, one assembly layer per tree, and a small root layer stitching them together, with one wind sidecar per tree rather than one merged file.\u003C\u002Fp>\u003Cp>\u003Cb>This is what 0.8 ships of the USD work, and not more.\u003C\u002Fb> USD export is a larger piece of work than one release: collections and purposes, variants, material binding strength, instancing at scale, and behaving properly as a layer inside somebody else\\u2019s stage. Those are tracked as their own body of work and will be named against a release when they are ready to be, rather than promised here.\u003C\u002Fp>",{"src":1047,"alt":1037},"https:\u002F\u002Fmedia.natsura.com\u002F9de68acd-ad34-48d4-99cd-8145bb464881.png",{"id":1049,"slug":1050,"category":32,"title":1051,"description":1052,"state":857,"firstVersion":907,"isNewNode":25,"footLabel":1059,"footText":1060,"detail":1067},"e9b21768-c6b2-4166-99eb-175af2a9d445","post-process-stage-on-simulate","Post-process stage on Simulate",{"type":588,"value":1053,"toc":1057},[1054],[591,1055,1056],{},"Substeps with mappable segments, interpolation and enhancement, plus their own Effector stack. This feature is off by default; to enable it, turn on 'Enable Post-process'.",{"title":598,"searchDepth":599,"depth":599,"links":1058},[],"Groundwork for.",{"type":588,"value":1061,"toc":1065},[1062],[591,1063,1064],{},"Posing and shaping, which is what it becomes once it is an authoring surface.",{"title":598,"searchDepth":599,"depth":599,"links":1066},[],"\u003Cp>A stage inside the Simulate that runs after growth: substeps with mappable segments, interpolation and enhancement, and its own effector stack, behind an enable toggle.\u003C\u002Fp>\u003Cp>Before this existed, any geometry work after the simulate had to happen outside the Natsura graph, which meant losing dependency tracking for it.\u003C\u002Fp>",{"id":1069,"slug":1070,"category":36,"title":1071,"description":1072,"state":628,"isNewNode":575,"detail":1079},"fa360b01-72c7-462a-8d7c-09e0d6486a6e","shader-graph-style-functions-for-mapping","Shader-graph-style functions for mapping",{"type":588,"value":1073,"toc":1077},[1074],[591,1075,1076],{},"The common functions you would expect from a shader graph, available inside the mapping framework as nodes rather than VEX: maths, ramps, curves, noise and blending.",{"title":598,"searchDepth":599,"depth":599,"links":1078},[],"\u003Cp>Mapping is the heart of Natsura, and building a map is currently more work than building the equivalent in a shader graph, which most people already know how to do.\u003C\u002Fp>\u003Cp>The common functions, as nodes rather than as VEX: arithmetic, remapping, clamping, ramps and curves, the noise family, and blending modes. Nothing exotic. The point is that the vocabulary should already be familiar.\u003C\u002Fp>",{"id":1081,"slug":1082,"category":32,"title":1083,"description":1084,"state":628,"isNewNode":575,"footLabel":702,"footText":1091,"detail":1098},"e2d4c838-c275-49a5-b85a-0ce337b2cd4a","core-select","Core Select",{"type":588,"value":1085,"toc":1089},[1086],[591,1087,1088],{},"A selection node in the core set, so choosing what a downstream operation acts on is a first-class step rather than something you improvise.",{"title":598,"searchDepth":599,"depth":599,"links":1090},[],{"type":588,"value":1092,"toc":1096},[1093],[591,1094,1095],{},"Basically the switch but with multiple inputs. The exact shape is still under design.",{"title":598,"searchDepth":599,"depth":599,"links":1097},[],"\u003Cp>Selection today is something you improvise, usually with a map and a switch, and the result is not a thing you can name or reuse. Core Select makes it a step in the graph.\u003C\u002Fp>\u003Cp>The intent is that you build a selection out of what the simulation already knows about every point on the plant: branch order, depth from the root, age, width, distance travelled, which parent it came from, and any map you care to add. You name the result, and downstream nodes take that name.\u003C\u002Fp>\u003Cp>Anything that acts on part of a plant would then take a selection rather than each node inventing its own way of asking: an effector, a decoration, a meshing operation, a manual edit.\u003C\u002Fp>\u003Cp>\u003Cb>Honest status.\u003C\u002Fb> The need is clear and the design is not finished. This is a direction, not a specification.\u003C\u002Fp>",{"id":1100,"slug":1101,"category":785,"title":1102,"description":1103,"state":628,"isNewNode":25,"detail":1110},"11cc59e5-d7c5-43a3-b961-f06fe01faced","educational-licences","Educational licences",{"type":588,"value":1104,"toc":1108},[1105],[591,1106,1107],{},"A licence tier for schools and students, so Natsura can be taught.",{"title":598,"searchDepth":599,"depth":599,"links":1109},[],"\u003Cp>Free licences for students and for teaching, without the watermarking and node-locking that makes the apprentice tier unsuitable for a class.\u003C\u002Fp>\u003Cp>This one is in progress now, in the 0.7.x line, rather than waiting for a major.\u003C\u002Fp>",{"id":1112,"slug":1113,"category":785,"title":1114,"description":1115,"state":628,"isNewNode":25,"detail":1122},"be1c3c9e-50f7-4e89-ad56-031b54db894e","site-licences","Site licences",{"type":588,"value":1116,"toc":1120},[1117],[591,1118,1119],{},"One licence covering everyone at a named studio location, instead of a seat count that has to be allocated and tracked. Aimed at studios where counting seats costs more administration than the seats are worth.",{"title":598,"searchDepth":599,"depth":599,"links":1121},[],"\u003Cp>A site licence covers a location rather than a headcount. The model Natsura sells today counts machines, which is proportionate for a studio of ten and turns into administration at a studio of two hundred.\u003C\u002Fp>\u003Cp>What counts as a site, and how it is verified without a machine count, is the part still being worked out.\u003C\u002Fp>",{"id":1124,"slug":1125,"category":1126,"title":1127,"description":1128,"state":628,"isNewNode":25,"detail":1135},"79d0e39a-00f6-4959-9e46-8d6bc9672d8b","this-roadmap","Website","This roadmap",{"type":588,"value":1129,"toc":1133},[1130],[591,1131,1132],{},"Every release from the first growth engine through to 1.0, with what shipped in each one, what is being built now, and what is coming without a version attached to it. Published so that progress can be checked against the record rather than taken on trust.",{"title":598,"searchDepth":599,"depth":599,"links":1134},[],"\u003Cp>The page you are reading. Each release lists what actually shipped in it. The release being built now lists only what is already in a build you can download, marked as such, or committed to that release. Everything else sits under Upcoming with no version attached, because assigning a feature to a numbered release before the work starts is a promise we would rather not make.\u003C\u002Fp>\u003Cp>The conditions Natsura has to clear before it is called 1.0 are listed at the end, so progress can be checked against them rather than taken on trust.\u003C\u002Fp>",{"id":1137,"slug":1138,"category":1126,"title":1139,"description":1140,"state":628,"isNewNode":25,"detail":1147},"e1fcca41-21e4-4ffa-8e2b-eb516157524c","the-about-page","The About page",{"type":588,"value":1141,"toc":1145},[1142],[591,1143,1144],{},"A page describing what Natsura is, who builds it, and how it is made.",{"title":598,"searchDepth":599,"depth":599,"links":1146},[],"\u003Cp>A page describing what Natsura is, who builds it, and how it is made. It does not exist yet.\u003C\u002Fp>",{"id":1149,"slug":1150,"version":1151,"title":1152,"eyebrow":1153,"description":1154,"examples":1161,"docs":1163,"entries":1166},"d8278841-3e3a-4f24-a5d2-9958396148bc","0-7","0.7","Assemblies and rigs","Shipping now",{"type":588,"value":1155,"toc":1159},[1156],[591,1157,1158],{},"Building a canopy by decorating one simulated tree with another, and everything around it: bringing a library in, rigging it, classifying it and placing it at scale. Underneath sits the mapping overhaul, which broke compatibility with 0.6 on purpose so it would not have to break again later. Nothing between here and 1.0 breaks it again. Everything shipped after 0.6.0.0 is collected here, which is why so many cards carry a 0.6 build number.",{"title":598,"searchDepth":599,"depth":599,"links":1160},[],[1162],"One tree example ships in the build. That is the whole of it, and it is the gap the releases below are meant to close",[1164,1165],"Mapping, effectors, decorations, traits, materials, atlases, scans and assemblies overviews on the website","Node help for the core set, carried over from 0.6",[1167,1181,1194,1206,1219,1232,1243,1256,1268,1280,1293,1305,1317,1329,1342,1354,1367,1379,1391,1403,1415,1427,1439,1451,1463,1476,1489,1501,1514,1527],{"id":1168,"slug":1169,"category":1170,"title":476,"description":1171,"state":1178,"firstVersion":1179,"isNewNode":575,"detail":1180},"1e2c093c-d1b5-4a57-baf9-aa9e746c33da","rig-to-assembly","Foliage & instancing",{"type":588,"value":1172,"toc":1176},[1173],[591,1174,1175],{},"Simulate a set of branches or a whole tree, decompose it into modules, and decorate another simulate with them. Build a canopy by decorating one simulated tree with another.",{"title":598,"searchDepth":599,"depth":599,"links":1177},[],"shipped","0.6.1.2","\u003Cp>Converts the output of a Simulate into a reusable assembly library: it breaks a simulated branch module into rigged instances that can then decorate another tree.\u003C\u002Fp>\u003Cp>This is the release’s centre of gravity. Before it, a library was something you modelled. After it, a library is something you grew, which means the twigs on your tree are made of the same botany as the tree itself rather than being bought in.\u003C\u002Fp>",{"id":1182,"slug":1183,"category":1170,"title":1184,"description":1185,"state":1178,"firstVersion":1192,"isNewNode":575,"detail":1193},"b5819d63-2f50-437c-be9c-9cfc17398276","assemblify","Assemblify",{"type":588,"value":1186,"toc":1190},[1187],[591,1188,1189],{},"Packs a rigged Simulate down into a single mesh stream that the decorators can place. It is the internal step that makes Rig to Assembly work.",{"title":598,"searchDepth":599,"depth":599,"links":1191},[],"0.6.3.0","\u003Cp>Packs a rigged Simulate down into a single mesh stream the decorators can place.\u003C\u002Fp>\u003Cp>Internal machinery, and the piece Rig to Assembly is built on. Its scope was deliberately reduced to that one responsibility after it started accumulating others.\u003C\u002Fp>",{"id":1195,"slug":1196,"category":811,"title":1197,"description":1198,"state":1178,"firstVersion":1192,"isNewNode":575,"detail":1205},"2a85e65e-1ac0-46f0-95a9-8926fec32b1b","the-rig-toolchain","The rig toolchain",{"type":588,"value":1199,"toc":1203},[1200],[591,1201,1202],{},"The rig operations opened up as nodes you can use directly: merge two rigs across a join, rename, delete and collapse joints, rebind skin weights, and find the joints nothing uses. Rig to Assembly is built out of them, and so is anything you build yourself.",{"title":598,"searchDepth":599,"depth":599,"links":1204},[],"\u003Cp>The rig operations opened up as nodes rather than buried inside a wrapper:\u003C\u002Fp>\u003Cul>\u003Cli>Rig Merge binds parents and children across a join.\u003C\u002Fli>\u003Cli>Rig Rename, Rig Delete and Rig Collapse handle joints as discrete operations.\u003C\u002Fli>\u003Cli>Rig Rebind reskins, rewritten from scratch after the original proved far too slow.\u003C\u002Fli>\u003Cli>Rig Detect Used Joints finds the joints nothing actually needs, feeding simplify and collapse.\u003C\u002Fli>\u003Cli>Attribute Transfer by Rig moves attributes by joint ownership.\u003C\u002Fli>\u003Cli>Fuse Tree Rig and Skin grafts an assembly onto a simulation.\u003C\u002Fli>\u003C\u002Ful>\u003Cp>Rig to Assembly is assembled from these, and so is anything you want to build yourself.\u003C\u002Fp>",{"id":1207,"slug":1208,"category":1170,"title":1209,"description":1210,"state":1178,"firstVersion":1217,"isNewNode":575,"detail":1218},"1c4818d7-f9c1-4a64-8933-07475e125e82","the-assemblies-pipeline","The assemblies pipeline",{"type":588,"value":1211,"toc":1215},[1212],[591,1213,1214],{},"Import a library, auto-rig it using nearpoint lookup with cycle removal, tag its modules by trait, and place them on a tree. Tested against libraries substantially larger than the sizes we designed for.",{"title":598,"searchDepth":599,"depth":599,"links":1216},[],"0.6.1.0","\u003Cp>Import a library, auto-rig it, tag its modules, place them:\u003C\u002Fp>\u003Cul>\u003Cli>Import Assembly and Assembly Resource bring a library in and prepare it.\u003C\u002Fli>\u003Cli>Build Assembly Rig auto-rigs it by nearpoint lookup with cycle removal, producing the rig Natsura needs rather than a generic one.\u003C\u002Fli>\u003Cli>Classify tags modules by trait; Assembly Decoration places them.\u003C\u002Fli>\u003C\u002Ful>\u003Cp>Tested against libraries substantially larger than the sizes it was designed for. Random part selection was removed on the way: distribution is mapping-only, so what goes where is a decision rather than a dice roll.\u003C\u002Fp>",{"id":1220,"slug":1221,"category":1170,"title":1222,"description":1223,"state":1178,"firstVersion":1230,"isNewNode":575,"detail":1231},"6c96eb92-45b6-435d-8319-0c6b16337336","instancify","Instancify",{"type":588,"value":1224,"toc":1228},[1225],[591,1226,1227],{},"Pull repeated geometry out into instanced modules, fixing up the rig and the skin as it goes, with Order Branches alongside it for traversal.",{"title":598,"searchDepth":599,"depth":599,"links":1229},[],"0.6.2.0","\u003Cp>Pulls repeated geometry out into instanced modules, fixing up the rig and the skin as it goes, with Identify Shared Instances tagging which pieces are shared so the relationship survives everything downstream, and Order Branches handling traversal.\u003C\u002Fp>\u003Cp>Without this a canopy of two thousand twigs is two thousand meshes. With it, it is one mesh and two thousand transforms, which is the difference between a tree that ships and one that does not.\u003C\u002Fp>",{"id":1233,"slug":1234,"category":1170,"title":355,"description":1235,"state":1178,"firstVersion":1217,"isNewNode":575,"detail":1242},"d949cc6c-8c49-492d-9bdf-5d84cc58ed02","create-proxy",{"type":588,"value":1236,"toc":1240},[1237],[591,1238,1239],{},"Bounds, VDB, medial axis or particles from an assembly, with optional leaf removal.",{"title":598,"searchDepth":599,"depth":599,"links":1241},[],"\u003Cp>Generates a proxy representation by clustering the tree’s geometry into a much smaller number of primitives. Outputs bounds, VDB, medial axis or particles, with optional leaf removal.\u003C\u002Fp>\u003Cp>Used for LOD, gameplay collision and lightweight viewport stand-ins. 0.9 turns this from a node into a workflow.\u003C\u002Fp>",{"id":1244,"slug":1245,"category":1246,"title":1247,"description":1248,"state":1178,"firstVersion":1217,"isNewNode":575,"detail":1255},"6dc93f5a-1fb7-4f93-ac5d-9c0d4f39f215","partition-assemblies","Core engine","Partition Assemblies",{"type":588,"value":1249,"toc":1253},[1250],[591,1251,1252],{},"Split a large library into chunks so it can be processed in parallel.",{"title":598,"searchDepth":599,"depth":599,"links":1254},[],"\u003Cp>Splits a large library into chunks so it can be processed in parallel.\u003C\u002Fp>\u003Cp>Unglamorous and load-bearing. Rigging a library is the slowest step in the assemblies path, and it is the step that scales with how good your library is.\u003C\u002Fp>",{"id":1257,"slug":1258,"category":1170,"title":1259,"description":1260,"state":1178,"firstVersion":1217,"isNewNode":575,"detail":1267},"06b30f47-b8d6-430f-8b39-8fe5baeebc04","visualize-assemblies","Visualize Assemblies",{"type":588,"value":1261,"toc":1265},[1262],[591,1263,1264],{},"Displays the motion, pivots, rig hierarchy and debug colours of an assembly directly, so a library can be inspected without inferring its state from the decorated output.",{"title":598,"searchDepth":599,"depth":599,"links":1266},[],"\u003Cp>Displays the motion, pivots, rig hierarchy and debug colours of an assembly directly.\u003C\u002Fp>\u003Cp>A library that decorates badly usually has something wrong inside it, and inferring what from the decorated output is guesswork. This makes the library itself legible.\u003C\u002Fp>",{"id":1269,"slug":1270,"category":1170,"title":1271,"description":1272,"state":1178,"firstVersion":1217,"isNewNode":575,"detail":1279},"26541d1b-2101-469c-82fe-1bf3ab2313ba","pivot-and-element-editing","Pivot and element editing",{"type":588,"value":1273,"toc":1277},[1274],[591,1275,1276],{},"Assembly Edit and Pivot Edit, for the per-element corrections a library always needs.",{"title":598,"searchDepth":599,"depth":599,"links":1278},[],"\u003Cp>Assembly Edit is an interactive state for rotating, deforming and fixing rigged assemblies after auto-rigging; Pivot Edit places pivots on input geometry by hand; Assembly Pack produces the instanced output.\u003C\u002Fp>\u003Cp>Auto-rigging gets most of a library right. These are for the rest, and every real library has a rest.\u003C\u002Fp>",{"id":1281,"slug":1282,"category":32,"title":1283,"description":1284,"state":857,"firstVersion":1291,"isNewNode":575,"detail":1292},"0ca478a5-7ffa-4b5a-8869-f893809cb315","natsura-stage","Natsura Stage",{"type":588,"value":1285,"toc":1289},[1286],[591,1287,1288],{},"Passes the output of one Simulate into the next, so a tree can be grown in distinct stages rather than in a single pass. The parameter contract is not final and is expected to change.",{"title":598,"searchDepth":599,"depth":599,"links":1290},[],"0.7.0.0","\u003Cp>Passes the output of one Simulate into the next, so a tree can be grown in distinct stages rather than in a single pass.\u003C\u002Fp>\u003Cp>Stages are how you say that a plant did one thing for years and then something else: a sapling that was shaded and then was not, a pollarded trunk, a hedge that was cut. The parameter contract is not final and is expected to change.\u003C\u002Fp>",{"id":1294,"slug":1295,"category":36,"title":1296,"description":1297,"state":1178,"firstVersion":1291,"isNewNode":25,"detail":1304},"90de38e9-e2da-480d-8d1f-a6d89a22beb2","the-mapping-overhaul","The mapping overhaul",{"type":588,"value":1298,"toc":1302},[1299],[591,1300,1301],{},"Grow was reduced to a socket that executes code generated entirely by the mapping graph. It spawns a segment with basic properties, and mapping determines everything else: orientation, branching, and how growth responds to its environment. This broke compatibility with 0.6 scenes deliberately, on the basis that it was cheaper to do while the user base was small.",{"title":598,"searchDepth":599,"depth":599,"links":1303},[],"\u003Cp>Grow was reduced to a socket that executes code generated entirely by the mapping graph. It spawns a segment with basic properties, and mapping decides everything else: orientation, branching, and how growth responds to its environment.\u003C\u002Fp>\u003Cp>It broke compatibility with 0.6 scenes deliberately. The reasoning was that the break was coming eventually and was far cheaper while the user base was small. Nothing between here and 1.0 breaks it again.\u003C\u002Fp>",{"id":1306,"slug":1307,"category":36,"title":1308,"description":1309,"state":1178,"firstVersion":1217,"isNewNode":25,"detail":1316},"2f871291-7b53-4341-b6cd-f3b62f7384d5","portable-two-parameter-mapping","Portable two-parameter mapping",{"type":588,"value":1310,"toc":1314},[1311],[591,1312,1313],{},"One form for a mappable parameter across the whole toolkit: the value, and the map that drives it. The map drives the parameter directly instead of through an expression link.",{"title":598,"searchDepth":599,"depth":599,"links":1315},[],"\u003Cp>One form for a mappable parameter across the whole toolkit: the value, and the map that drives it. The map now drives the parameter directly rather than through an expression link.\u003C\u002Fp>\u003Cp>The expression links were the source of a long tail of bugs where a parameter and its map disagreed. Removing them also means a mappable parameter looks and behaves the same on every node, so learning it once is enough.\u003C\u002Fp>",{"id":1318,"slug":1319,"category":18,"title":1320,"description":1321,"state":1178,"firstVersion":1217,"isNewNode":25,"detail":1328},"d47ad0b1-a31d-4328-9ea2-36f2a4f55e98","pickers-instead-of-add-menus","Pickers instead of add menus",{"type":588,"value":1322,"toc":1326},[1323],[591,1324,1325],{},"Every map, decorator and effector slot gets a picker, grouped by what is already on this Grow, what is on other Grows, and what is orphaned, with unlink, duplicate, jump-to and replace available on each slot. It removed roughly eleven hundred lines of Python and a comparable amount of dialog script.",{"title":598,"searchDepth":599,"depth":599,"links":1327},[],"\u003Cp>Every map, decorator and effector slot gets a picker, grouped by what is already on this Grow, what is on other Grows, and what is orphaned, with unlink, duplicate, jump-to and replace on each slot.\u003C\u002Fp>\u003Cp>The orphan bucket is the useful part: maps that exist and are connected to nothing are normally invisible until something behaves oddly. It removed roughly eleven hundred lines of Python and a comparable amount of dialog script.\u003C\u002Fp>",{"id":1330,"slug":1331,"category":36,"title":1332,"description":1333,"state":1178,"firstVersion":1340,"isNewNode":25,"detail":1341},"7b5e40e6-ae8c-4ae7-a218-6d91e594d0dc","up-vector-control","Up-vector control",{"type":588,"value":1334,"toc":1338},[1335],[591,1336,1337],{},"Orbit, align and level up-vector modes, so you can control the frame a branch grows in rather than only the direction it heads.",{"title":598,"searchDepth":599,"depth":599,"links":1339},[],"0.6.0.5","\u003Cp>Orbit, align and level up-vector modes.\u003C\u002Fp>\u003Cp>Heading tells a branch which way to go. The up-vector tells it which way is up while it goes there, and that is what decides how leaves sit, how a branch twists along its length, and whether a flat spray of secondary branches reads correctly.\u003C\u002Fp>",{"id":1343,"slug":1344,"category":36,"title":1345,"description":1346,"state":1178,"firstVersion":1340,"isNewNode":575,"detail":1353},"bf1866d6-b377-4627-a86b-47b999f69aea","the-ancestor-effector","The ancestor effector",{"type":588,"value":1347,"toc":1351},[1348],[591,1349,1350],{},"Read vectors from the parent, the grandparent and further up the lineage, so a branch can respond to where it came from. The direction effector landed alongside it, and the same effector can go on one node several times, each with its own response.",{"title":598,"searchDepth":599,"depth":599,"links":1352},[],"\u003Cp>Reads a direction attribute from an ancestor in the growth hierarchy: parent, grandparent, or further up the lineage.\u003C\u002Fp>\u003Cp>It is how a branch responds to where it came from rather than only to where it is. The Direction Effector landed alongside it, outputting a constant vector, and the same effector can now go on one node several times with its own response each time, which is how layered behaviour gets built.\u003C\u002Fp>",{"id":1355,"slug":1356,"category":1170,"title":1357,"description":1358,"state":1178,"firstVersion":1365,"isNewNode":25,"detail":1366},"bbe473df-0693-4091-95b3-c6ea236f293d","the-trait-picker","The trait picker",{"type":588,"value":1359,"toc":1363},[1360],[591,1361,1362],{},"Traits on Assembly Decoration became a fixed set of slots with a picker, drawing from the trait node and from skeleton attributes, with an edit-on-geometry action per row. The old list rebuilt itself on every cook and took Houdini down past about ten traits.",{"title":598,"searchDepth":599,"depth":599,"links":1364},[],"0.6.1.1","\u003Cp>Traits on Assembly Decoration became a fixed set of slots with a picker, drawing both from the trait node and from skeleton attributes, with an edit-on-geometry action per row.\u003C\u002Fp>\u003Cp>The old list rebuilt its multiparm on every cook and took Houdini down past about ten traits. Traits sourced from the skeleton are not mappable and now say so rather than offering a control that does nothing.\u003C\u002Fp>",{"id":1368,"slug":1369,"category":811,"title":1370,"description":1371,"state":1178,"firstVersion":1217,"isNewNode":25,"detail":1378},"c3a22d38-2e70-454b-82fd-eefcae3ca157","rigged-nanite-export","Rigged Nanite export",{"type":588,"value":1372,"toc":1376},[1373],[591,1374,1375],{},"Grow, fuse, skin, export, USD, wired through as one path, with a wind sidecar written alongside the USD.",{"title":598,"searchDepth":599,"depth":599,"links":1377},[],"\u003Cp>Grow, fuse, skin, export, USD, wired through as one path, with a wind sidecar written alongside the USD.\u003C\u002Fp>\u003Cp>Each step existed before; this is the release where the whole chain works end to end without a manual stage in the middle.\u003C\u002Fp>",{"id":1380,"slug":1381,"category":1246,"title":1382,"description":1383,"state":1178,"firstVersion":1217,"isNewNode":25,"detail":1390},"d0e65d2b-0480-4e10-a1d6-7e2f2120e336","cook-triggers-removed","Cook triggers removed",{"type":588,"value":1384,"toc":1388},[1385],[591,1386,1387],{},"Cook triggers taken out of every piece of code that runs outside a cook: interface, menus and the graph layer. Nodes declare what they are, and readers read the declaration. Ghost cooks followed in 0.6.2.0, where the Python interfering with live cooks was removed outright.",{"title":598,"searchDepth":599,"depth":599,"links":1389},[],"\u003Cp>Cook triggers taken out of every piece of code that runs outside a cook: interface, menus and the graph layer. Nodes declare what they are through parameter values and user data, and readers read the declaration rather than asking the node to compute.\u003C\u002Fp>\u003Cp>Ghost cooks followed in 0.6.2.0, where the Python interfering with live cooks was removed outright. Between them these are the reason the tools stopped recooking when you were only looking at them.\u003C\u002Fp>",{"id":1392,"slug":1393,"category":18,"title":1394,"description":1395,"state":1178,"firstVersion":1217,"isNewNode":25,"detail":1402},"93f53e2b-f10e-4553-80b4-1f643a2182c3","tear-off-workspace-tabs","Tear-off workspace tabs",{"type":588,"value":1396,"toc":1400},[1397],[591,1398,1399],{},"Toolbar plus guide, attributes and spans in one docked layout, with any tab pulled off and floated where you want it.",{"title":598,"searchDepth":599,"depth":599,"links":1401},[],"\u003Cp>Toolbar plus guide, attributes and spans in one docked layout, with any tab pulled off and floated where you want it.\u003C\u002Fp>\u003Cp>Panel layout is personal and screen sizes differ. The tools should not have an opinion about where your attributes live.\u003C\u002Fp>",{"id":1404,"slug":1405,"category":18,"title":1406,"description":1407,"state":1178,"firstVersion":1217,"isNewNode":25,"detail":1414},"07000b4c-abb7-4ae6-b5d8-6624281433e2","panels-in-a-folder-structure","Panels in a folder structure",{"type":588,"value":1408,"toc":1412},[1409],[591,1410,1411],{},"Python panels organised into folders, with the developer panels moved into a project of their own so they stop appearing in your menus.",{"title":598,"searchDepth":599,"depth":599,"links":1413},[],"\u003Cp>Python panels organised into folders, with the developer panels moved into a project of their own.\u003C\u002Fp>\u003Cp>Developer tools appearing in a customer’s menus is a small thing that reads as carelessness, and it is the sort of thing that only gets fixed once somebody outside the team is looking.\u003C\u002Fp>",{"id":1416,"slug":1417,"category":18,"title":1418,"description":1419,"state":1178,"firstVersion":1217,"isNewNode":25,"detail":1426},"1181dd1e-7bce-4ea7-995c-2fd09b41ef6d","guide","Guide",{"type":588,"value":1420,"toc":1424},[1421],[591,1422,1423],{},"The tips panel became Guide: markdown, searchable across both names and content, with previous and next navigation and more than one library.",{"title":598,"searchDepth":599,"depth":599,"links":1425},[],"\u003Cp>The tips panel became Guide: markdown-based, searchable across both names and content, with previous and next navigation and support for more than one library.\u003C\u002Fp>\u003Cp>Markdown matters because it means documentation can be written by whoever knows the answer rather than by whoever can edit a panel.\u003C\u002Fp>",{"id":1428,"slug":1429,"category":18,"title":1430,"description":1431,"state":1178,"firstVersion":1217,"isNewNode":25,"detail":1438},"cacbaae2-bbda-4f74-a167-617f5690e8f9","the-display-toolbar","The display toolbar",{"type":588,"value":1432,"toc":1436},[1433],[591,1434,1435],{},"The toolbar shows grow, switch or split depending on what you have selected, with the developer tools moved out of the way and a main menu holding licence, updates, projects, examples and docs.",{"title":598,"searchDepth":599,"depth":599,"links":1437},[],"\u003Cp>The toolbar shows grow, switch or split depending on the graph-port count of what you have selected, with developer tools moved out of the way and a main menu holding licence, updates, projects, examples and documentation.\u003C\u002Fp>\u003Cp>Context-sensitivity here is doing real work: the toolbar stops offering operations that cannot apply to what you are looking at.\u003C\u002Fp>",{"id":1440,"slug":1441,"category":18,"title":1442,"description":1443,"state":1178,"firstVersion":1217,"isNewNode":25,"detail":1450},"7694675d-d8e6-485f-95a9-60826c398477","recipe-spawn","Recipe spawn",{"type":588,"value":1444,"toc":1448},[1445],[591,1446,1447],{},"Placing a Grow arrives with its trunk preview, decorator slot and follow rows already populated, and does not cook a second time to do it.",{"title":598,"searchDepth":599,"depth":599,"links":1449},[],"\u003Cp>Placing a Grow arrives with its trunk preview, decorator slot and follow rows already populated, and does not cook a second time to do it.\u003C\u002Fp>\u003Cp>The second cook was the tell that placement and setup were separate operations pretending to be one. Now they are one.\u003C\u002Fp>",{"id":1452,"slug":1453,"category":18,"title":1454,"description":1455,"state":1178,"firstVersion":1217,"isNewNode":25,"detail":1462},"bbcbef82-3e7e-4b0c-87f0-45b8d13ee504","native-hotkeys","Native hotkeys",{"type":588,"value":1456,"toc":1460},[1457],[591,1458,1459],{},"Hotkeys are loaded from a file through Houdini’s own hotkey system, so they appear in the hotkey editor and can be reassigned like any other Houdini binding.",{"title":598,"searchDepth":599,"depth":599,"links":1461},[],"\u003Cp>Hotkeys are loaded from a file through Houdini’s own hotkey system.\u003C\u002Fp>\u003Cp>Which means they appear in the hotkey editor, can be reassigned like any other Houdini binding, and do not fight anything you have already set up. Toggle stowbars and pause cook are the two that ship.\u003C\u002Fp>",{"id":1464,"slug":1465,"category":1170,"title":1466,"description":1467,"state":1178,"firstVersion":1474,"isNewNode":25,"detail":1475},"d5837483-35a3-4431-a5fd-8bd750a38a75","decoration-preview-geometry","Decoration preview geometry",{"type":588,"value":1468,"toc":1472},[1469],[591,1470,1471],{},"Stand-in geometry on the assembly decorator so you can see where modules are going before the real thing cooks. Cycle trunk, monopodial and sympodial stand-ins from the toolbar, and move and scale them in the viewport.",{"title":598,"searchDepth":599,"depth":599,"links":1473},[],"0.6.0.1","\u003Cp>Stand-in geometry on the assembly decorator so you can see where modules are going before the real thing cooks. Cycle trunk, monopodial and sympodial stand-ins from the toolbar, and move and scale them in the viewport.\u003C\u002Fp>\u003Cp>Placement is the slow part of decorating and the part you iterate on most. Separating the decision from the cook is what makes it iterable.\u003C\u002Fp>",{"id":1477,"slug":1478,"category":798,"title":1479,"description":1480,"state":1178,"firstVersion":1487,"isNewNode":25,"detail":1488},"ef82ac3e-1602-4e31-b06f-7a451943c6a6","scan-meshing-without-holes","Scan meshing without holes",{"type":588,"value":1481,"toc":1485},[1482],[591,1483,1484],{},"Gaps in scan coverage no longer come through as holes in the mesh or as missing attributes downstream of it.",{"title":598,"searchDepth":599,"depth":599,"links":1486},[],"0.6.0.3","\u003Cp>Gaps in scan coverage no longer come through as holes in the mesh or as missing attributes downstream.\u003C\u002Fp>\u003Cp>Scan coverage is never complete: the far side of a trunk, the underside of a root buttress, anything the photographer could not stand in front of. Handling that is not an edge case, it is the normal condition of scanned data. The Scan Region Selector alongside it filters a scan to a region by interactive viewport selection.\u003C\u002Fp>",{"id":1490,"slug":1491,"category":1246,"title":1492,"description":1493,"state":1178,"firstVersion":907,"isNewNode":25,"detail":1500},"d3376d35-6f89-42fc-9fd8-007b044a9fcd","houdini-22-support","Houdini 22 support",{"type":588,"value":1494,"toc":1498},[1495],[591,1496,1497],{},"Natsura runs on Houdini 22. Before this it did not start there at all: no desktop, no logging, no background service, and no error saying why.",{"title":598,"searchDepth":599,"depth":599,"links":1499},[],"\u003Cp>Natsura runs on Houdini 22.\u003C\u002Fp>\u003Cp>Before this it did not start there at all: no desktop, no logging, no background service, and no error explaining why. Studios migrate Houdini versions on long schedules and expect their tools to be ready when they arrive rather than to become the reason they cannot.\u003C\u002Fp>",{"id":1502,"slug":1503,"category":1504,"title":1505,"description":1506,"state":1178,"firstVersion":1487,"isNewNode":25,"detail":1513},"b64af52f-de09-4b6b-9641-561a1dceccc4","supersampling-and-mikkt-baking","Materials & atlases","Supersampling and MikkT baking",{"type":588,"value":1507,"toc":1511},[1508],[591,1509,1510],{},"The bake node gained supersampling and MikkT tangent space, which is what a game engine expects to receive.",{"title":598,"searchDepth":599,"depth":599,"links":1512},[],"\u003Cp>The Bake node gained supersampling and MikkT tangent space.\u003C\u002Fp>\u003Cp>MikkT is what a game engine expects to receive. Without it, normal maps baked here and rendered there disagree, and the disagreement looks like bad geometry rather than like a tangent-space mismatch.\u003C\u002Fp>",{"id":1515,"slug":1516,"category":1517,"title":1518,"description":1519,"state":1178,"firstVersion":1179,"isNewNode":25,"detail":1526},"a15cb980-c189-4305-b4d7-f7fe94835b91","the-assemblies-workflow-example","Learning & content","The Assemblies Workflow example",{"type":588,"value":1520,"toc":1524},[1521],[591,1522,1523],{},"An example scene in the examples browser that works through the entire Rig to Assembly path, from library import to decorated canopy. It is one worked example rather than a library; the library itself is a 1.0 deliverable.",{"title":598,"searchDepth":599,"depth":599,"links":1525},[],"\u003Cp>An example scene in the examples browser working through the whole Rig to Assembly path, from library import to decorated canopy.\u003C\u002Fp>\u003Cp>It is one worked example rather than a library, and the library is a 1.0 deliverable. One example proves the path exists; it does not teach the path.\u003C\u002Fp>",{"id":1528,"slug":1529,"category":1504,"title":1530,"description":1531,"state":857,"firstVersion":907,"isNewNode":25,"detail":1538},"cf232c58-fcce-4e75-abb2-b540bab2320b","material-bindings","Material bindings",{"type":588,"value":1532,"toc":1536},[1533],[591,1534,1535],{},"Bindings survive on instanced prototypes, where previously only the trunk arrived bound and every prototype came through empty. Cluster materials that cannot auto-fill on export are still to come.",{"title":598,"searchDepth":599,"depth":599,"links":1537},[],"\u003Cp>Bindings survive on instanced prototypes. Previously only the trunk arrived bound and every prototype came through empty, which meant reassigning materials by hand in the engine on every export.\u003C\u002Fp>\u003Cp>Cluster materials that cannot auto-fill on export are still to come.\u003C\u002Fp>",{"id":1540,"slug":1541,"version":1542,"title":70,"eyebrow":1543,"description":1544,"entries":1551},"de097061-f610-413e-98f7-5290536ef150","0-6","0.6","Released March 2026",{"type":588,"value":1545,"toc":1549},[1546],[591,1547,1548],{},"Shaping a tree without writing VEX, and rigging a mesh library into a canopy. Underneath, the mapping engine and the Python architecture were both rebuilt, which is what made everything after it possible. This is the 0.6.0.0 release as it was announced; the builds that followed it are collected under 0.7.",{"title":598,"searchDepth":599,"depth":599,"links":1550},[],[1552,1565,1577,1589,1600,1611,1622,1634,1646,1658,1670,1682,1693,1705,1717,1729,1741,1753,1765,1777,1789,1801,1813,1825,1837,1849,1861,1873,1885,1897],{"id":1553,"slug":1554,"category":32,"title":1555,"description":1556,"state":1178,"firstVersion":1563,"isNewNode":25,"detail":1564},"09dcccfb-79a9-4575-8b3e-0108a78e84cc","grow-2-0","Grow 2.0",{"type":588,"value":1557,"toc":1561},[1558],[591,1559,1560],{},"A spiral parameter that can override inherited phyllotaxy, the effector stack built in, instant colour preview, and map construction deferred into Grow so graphs compile faster. Grow 1.0, 1.1 and 1.2 kept working; scenes retype to 2.0 on load during the 0.7 line.",{"title":598,"searchDepth":599,"depth":599,"links":1562},[],"0.6.0.0","\u003Cp>A spiral parameter that can override inherited phyllotaxy, the effector stack built in, instant colour preview, and map construction deferred into Grow so graphs compile faster.\u003C\u002Fp>\u003Cp>Grow 1.0, 1.1 and 1.2 kept working throughout. Scenes retype to 2.0 automatically on load during the 0.7 line, and the migration carries effector forces and follow-row weights across rather than dropping them.\u003C\u002Fp>",{"id":1566,"slug":1567,"category":36,"title":1568,"description":1569,"state":1178,"firstVersion":1563,"isNewNode":575,"detail":1576},"896bc560-1184-46b5-9152-023d910c195e","the-modular-effector-system","The modular effector system",{"type":588,"value":1570,"toc":1574},[1571],[591,1572,1573],{},"Bolt-on simulation modifiers. Stack them on a Grow, weight each one by a value or a map, and shape a tree without writing VEX. The base effector is there if you do want to write VEX.",{"title":598,"searchDepth":599,"depth":599,"links":1575},[],"\u003Cp>An effector is a bolt-on modifier that shapes growth. Stack several on a Grow, weight each by a value or a map, and you have a tree responding to forces without writing a line of VEX.\u003C\u002Fp>\u003Cp>The base Effector node is there for when you do want to write VEX, and Effector Template is how you expose a custom one on your own asset. Most of what shipped as built-in effectors was prototyped in a Wrangle first.\u003C\u002Fp>",{"id":1578,"slug":1579,"category":36,"title":1580,"description":1581,"state":1178,"firstVersion":1563,"isNewNode":575,"detail":1588},"65038ce5-c1e4-4135-a285-81caae69328a","deflection-gravity-noise-and-magnet-effectors","Deflection, gravity, noise and magnet effectors",{"type":588,"value":1582,"toc":1586},[1583],[591,1584,1585],{},"The first four ready-made ones: make a tree aware of its own shape, grow towards a direction, perturb growth with noise, and pull or push branches within a sphere you place in the viewport.",{"title":598,"searchDepth":599,"depth":599,"links":1587},[],"\u003Cp>The first four ready-made ones.\u003C\u002Fp>\u003Cul>\u003Cli>Deflection makes a tree aware of its own shape, so branches avoid crowding each other and known obstacles.\u003C\u002Fli>\u003Cli>Gravity applies a uniform up-vector across the tree and drives the gravitropic response.\u003C\u002Fli>\u003Cli>Noise perturbs growth, which is what stops a procedural plant looking procedural.\u003C\u002Fli>\u003Cli>Magnet is a sphere of influence you place in the viewport that pulls or pushes branches inside its radius.\u003C\u002Fli>\u003C\u002Ful>",{"id":1590,"slug":1591,"category":1170,"title":292,"description":1592,"state":1178,"firstVersion":1563,"isNewNode":575,"detail":1599},"e9a19788-8644-4b69-a0a7-e2ef6b77022d","assembly-resource",{"type":588,"value":1593,"toc":1597},[1594],[591,1595,1596],{},"Import a mesh library and auto-rig it, so a folder of twigs and branches becomes something the simulation can place.",{"title":598,"searchDepth":599,"depth":599,"links":1598},[],"\u003Cp>Takes a folder of modelled twigs and branches and prepares it as a library the simulation can place: loads from SOPs, USD or BGEO, auto-rigs each entry, and holds the editing utilities for the corrections a real library always needs.\u003C\u002Fp>\u003Cp>The rigging is the part that matters. A mesh cannot be placed on a growing tree and animated with it unless it has a skeleton that agrees with the one it is being attached to.\u003C\u002Fp>",{"id":1601,"slug":1602,"category":1170,"title":98,"description":1603,"state":1178,"firstVersion":1563,"isNewNode":575,"detail":1610},"30d1ea48-d618-462d-af54-a1b57ef8fde1","assembly-decoration",{"type":588,"value":1604,"toc":1608},[1605],[591,1606,1607],{},"Place library modules onto a tree, picking them by trait and transforming instance hierarchies with rigid rotations. Fully mappable.",{"title":598,"searchDepth":599,"depth":599,"links":1609},[],"\u003Cp>Places pre-rigged library assemblies at points on a tree by trait matching, and transforms the instance hierarchies with rigid rotations. Fully mappable.\u003C\u002Fp>\u003Cp>The trait matching is what makes it different from scattering. You do not tell it which file to place; you tell it what kind of thing you need at that point, and the library answers.\u003C\u002Fp>",{"id":1612,"slug":1613,"category":1170,"title":344,"description":1614,"state":1178,"firstVersion":1563,"isNewNode":575,"detail":1621},"e17fd6b4-7644-4a2b-9bcd-4b4712484ad0","classify",{"type":588,"value":1615,"toc":1619},[1616],[591,1617,1618],{},"Tag modules by trait, so the decorator can be told what kind of thing it needs rather than which file.",{"title":598,"searchDepth":599,"depth":599,"links":1620},[],"\u003Cp>Tags library entries by trait, so a decorator can ask for a kind of thing rather than a filename.\u003C\u002Fp>\u003Cp>Traits are what let one library serve many species. A module tagged as a short upward twig is that regardless of which tree it was modelled for.\u003C\u002Fp>",{"id":1623,"slug":1624,"category":811,"title":1625,"description":1626,"state":1178,"firstVersion":1563,"isNewNode":575,"detail":1633},"1b50ef8f-089a-4b22-b86e-5ce3fa4b34cc","simplify-rig","Simplify Rig",{"type":588,"value":1627,"toc":1631},[1628],[591,1629,1630],{},"Simplify a rig hierarchy as a step you can chain, with multi-stem support.",{"title":598,"searchDepth":599,"depth":599,"links":1632},[],"\u003Cp>Simplifies a rig hierarchy as a step you can chain, with multi-stem support and both carve and maximum-joint-count reduction methods.\u003C\u002Fp>\u003Cp>Real-time engines cap how deep a joint hierarchy can go, often around twelve levels, and wind quality depends on where in the tree those joints land. Being able to say how many and how deep is a hard requirement in a game pipeline rather than an optimisation.\u003C\u002Fp>",{"id":1635,"slug":1636,"category":811,"title":1637,"description":1638,"state":1178,"firstVersion":1563,"isNewNode":575,"detail":1645},"34743f10-80a2-42ea-9638-386e1474e8e5","the-wind-node-set","The wind node set",{"type":588,"value":1639,"toc":1643},[1640],[591,1641,1642],{},"Wind Init, Wind Config, Wind Previs and Unreal Wind: assign wind classes along the tree and export them as DynamicWindSkeletalData for UE5.",{"title":598,"searchDepth":599,"depth":599,"links":1644},[],"\u003Cp>Wind Init, Wind Config, Wind Previs and Unreal Wind.\u003C\u002Fp>\u003Cp>Wind Config assigns wind animation classes and response parameters along the skeleton and chains, so trunk, mid-branch and tip layers behave differently. Wind Previs shows where those layers fall; it is not accurate and is not meant to look good, it is meant to make the rig legible while you set it up. Unreal Wind writes the DynamicWindSkeletalData JSON that UE5 consumes.\u003C\u002Fp>",{"id":1647,"slug":1648,"category":811,"title":1649,"description":1650,"state":1178,"firstVersion":1563,"isNewNode":25,"detail":1657},"47c3f313-e296-4fc5-aab0-047ae5640e7d","nanite-assembly-export","Nanite assembly export",{"type":588,"value":1651,"toc":1655},[1652],[591,1653,1654],{},"Export to Unreal as a Nanite assembly, skeletal or static, with materials and wind data alongside. It has had a lot of production use since.",{"title":598,"searchDepth":599,"depth":599,"links":1656},[],"\u003Cp>Exports to Unreal as a Nanite skeletal assembly: USD plus a wind sidecar describing the wind layers, with materials carried through and both skeletal and static output.\u003C\u002Fp>\u003Cp>This is the path most production use has gone through since. It has had more real hours on it than anything else in the export line.\u003C\u002Fp>",{"id":1659,"slug":1660,"category":811,"title":1661,"description":1662,"state":1178,"firstVersion":1563,"isNewNode":25,"detail":1669},"9d09622b-2391-4ea4-a4bc-f46e380c82a6","nanite-assemblies-in-solaris","Nanite assemblies in Solaris",{"type":588,"value":1663,"toc":1667},[1664],[591,1665,1666],{},"A LOP wrapper that builds a Nanite assembly inside a USD workflow, rather than only at the SOP level.",{"title":598,"searchDepth":599,"depth":599,"links":1668},[],"\u003Cp>A LOP wrapper that builds a Nanite assembly inside a USD workflow rather than only at the SOP level.\u003C\u002Fp>\u003Cp>It matters for studios whose pipeline is USD-first: the tree becomes a stage you can reference, layer and override like anything else, instead of a SOP-level export you run at the end.\u003C\u002Fp>",{"id":1671,"slug":1672,"category":1504,"title":1673,"description":1674,"state":1178,"firstVersion":1563,"isNewNode":25,"detail":1681},"a54c1b35-f730-4e3b-8ff6-8577ea6c768c","the-atlas-toolchain","The atlas toolchain",{"type":588,"value":1675,"toc":1679},[1676],[591,1677,1678],{},"The nodes the wizard drives, usable directly: bring source imagery in, trace and remesh it, lay tiles out, build the atlas mesh, emboss detail, and assign the material.",{"title":598,"searchDepth":599,"depth":599,"links":1680},[],"\u003Cp>The nodes the wizard drives, usable directly when the wizard is not enough:\u003C\u002Fp>\u003Cul>\u003Cli>Atlas Source and Atlas Import bring imagery in and set the merge threshold for combining nearby regions.\u003C\u002Fli>\u003Cli>Atlas Trace and Atlas Remesh find the shapes in it and build usable geometry from them.\u003C\u002Fli>\u003Cli>Atlas Layout arranges the tiles, Atlas Mesh builds the cards, Atlas Emboss adds surface detail, and Atlas Material assigns the result.\u003C\u002Fli>\u003C\u002Ful>\u003Cp>The atlas is where most of the material budget of a game tree actually goes, which is why 0.9 comes back to it.\u003C\u002Fp>",{"id":1683,"slug":1684,"category":1504,"title":332,"description":1685,"state":1178,"firstVersion":1563,"isNewNode":575,"detail":1692},"62a5bc41-047d-4239-b34d-606fb2773610","atlas-wizard",{"type":588,"value":1686,"toc":1690},[1687],[591,1688,1689],{},"Guided atlas processing, and the main place you set an atlas up for the decorators to use.",{"title":598,"searchDepth":599,"depth":599,"links":1691},[],"\u003Cp>A guided high-level entry to the atlas pipeline: import, layout, material, mesh and trace packaged into one node that produces a usable atlas in a few clicks.\u003C\u002Fp>\u003Cp>It is the main touchpoint for setting an atlas up, and the toolchain underneath is there for when you need to take it apart.\u003C\u002Fp>",{"id":1694,"slug":1695,"category":1170,"title":1696,"description":1697,"state":1178,"firstVersion":1563,"isNewNode":575,"detail":1704},"0a750912-7561-4139-8ce6-7ed17adc1ab2","leaf-decoration-hidden","Leaf Decoration, hidden",{"type":588,"value":1698,"toc":1702},[1699],[591,1700,1701],{},"A leaf decoration node was added to the build but left unexposed and incomplete. It is the basis of the leaf and foliage work in 0.9.",{"title":598,"searchDepth":599,"depth":599,"links":1703},[],"\u003Cp>A leaf decoration node was added to the build, unexposed and incomplete.\u003C\u002Fp>\u003Cp>Leaves had been placed with the cluster and assembly decorators, which treat a leaf as an arbitrary mesh. A leaf is not arbitrary: it has an orientation relative to light, a size that varies with where on the plant it grew, and an arrangement rule. This node is the beginning of taking that seriously, and 0.9 is where it becomes a feature.\u003C\u002Fp>",{"id":1706,"slug":1707,"category":36,"title":1708,"description":1709,"state":1178,"firstVersion":1563,"isNewNode":575,"detail":1716},"c8afa1dd-6ee0-4214-930f-99428739eda3","constant-random-and-attribute-maps","Constant, random and attribute maps",{"type":588,"value":1710,"toc":1714},[1711],[591,1712,1713],{},"Three more map types: a fixed value, a random one, and one that reads a geometry attribute.",{"title":598,"searchDepth":599,"depth":599,"links":1715},[],"\u003Cp>Three single-purpose map types.\u003C\u002Fp>\u003Cul>\u003Cli>Map Constant emits a fixed value, and is the base value at the head of most chains.\u003C\u002Fli>\u003Cli>Map Random emits a stable random value per element, so variation survives a recook.\u003C\u002Fli>\u003Cli>Map Attribute reads a geometry attribute, which is the bridge between what you bring in and how the plant grows.\u003C\u002Fli>\u003C\u002Ful>",{"id":1718,"slug":1719,"category":1246,"title":1720,"description":1721,"state":1178,"firstVersion":1563,"isNewNode":25,"detail":1728},"e054a8ff-6741-4ba1-b79b-2150b316f252","the-mapping-engine-rebuild","The mapping engine rebuild",{"type":588,"value":1722,"toc":1726},[1723],[591,1724,1725],{},"VEX taken out of the core path, prims deferred to the nodes that need them, and specialised map variants instead of one general one.",{"title":598,"searchDepth":599,"depth":599,"links":1727},[],"\u003Cp>VEX taken out of the core path, prims deferred to the nodes that actually need them, and specialised map variants instead of one general one.\u003C\u002Fp>\u003Cp>Compile time collapsed, and a set of long-standing irritations went with it: maps stopped disconnecting when copied, undo started working properly on map edits, and maps took the colour of their parent node so a chain could be read at a glance.\u003C\u002Fp>",{"id":1730,"slug":1731,"category":1246,"title":1732,"description":1733,"state":1178,"firstVersion":1563,"isNewNode":25,"detail":1740},"0f7e24e0-6096-4f1e-8936-418231606ecf","the-python-architecture-rebuild","The Python architecture rebuild",{"type":588,"value":1734,"toc":1738},[1735],[591,1736,1737],{},"Everything moved into one natsura package with the HDAs holding thin wrappers, so logic changes without republishing an asset.",{"title":598,"searchDepth":599,"depth":599,"links":1739},[],"\u003Cp>Everything moved into one natsura package with the HDAs holding thin wrappers over it, organised into core, mapping, nodes, shelf, ui, config, service and compat.\u003C\u002Fp>\u003Cp>It is why a fix can reach you in a patch. Logic lives in Python that ships with the build rather than inside a published asset, so changing behaviour does not mean republishing an HDA and does not risk your scenes.\u003C\u002Fp>",{"id":1742,"slug":1743,"category":1246,"title":1744,"description":1745,"state":1178,"firstVersion":1563,"isNewNode":25,"detail":1752},"9543ff92-a6d1-4407-ba81-7421f5a7bd75","simulate-into-simulate","Simulate into Simulate",{"type":588,"value":1746,"toc":1750},[1747],[591,1748,1749],{},"The output of one Simulate can be connected directly to the input of another, so growth can be carried out in more than one pass.",{"title":598,"searchDepth":599,"depth":599,"links":1751},[],"\u003Cp>The output of one Simulate can be connected directly to the input of another.\u003C\u002Fp>\u003Cp>Simulate is the solver: it traverses the graph, executes the growth logic, resolves the mappings and generates geometry. Being able to chain them means growth can happen in distinct passes, which is what Natsura Stage makes into a node during the 0.7 line.\u003C\u002Fp>",{"id":1754,"slug":1755,"category":798,"title":1756,"description":1757,"state":1178,"firstVersion":1563,"isNewNode":25,"detail":1764},"3ceb39fa-b3af-4feb-b3b3-ece237741628","multi-trunk-scan-extension","Multi-trunk scan extension",{"type":588,"value":1758,"toc":1762},[1759],[591,1760,1761],{},"Extend complex scans and sculpts procedurally across several trunks rather than one.",{"title":598,"searchDepth":599,"depth":599,"links":1763},[],"\u003Cp>Extends complex scans and sculpts procedurally across several trunks rather than one, using Import Highpoly to bring the scan in and Create Graft Mesh to prepare the region where the procedural growth attaches.\u003C\u002Fp>\u003Cp>Single-trunk extension shipped in 0.5. Most interesting scanned trees are not single trunks.\u003C\u002Fp>",{"id":1766,"slug":1767,"category":32,"title":1768,"description":1769,"state":1178,"firstVersion":1563,"isNewNode":25,"detail":1776},"66e9c59f-9227-4401-a579-6eea205b4e70","post-process-on-simulate","Post-process on Simulate",{"type":588,"value":1770,"toc":1774},[1771],[591,1772,1773],{},"A place inside the Simulate to chain geometry fixes after growth: recompute normals, drop construction attributes, adjust topology, without leaving the graph and losing dependencies.",{"title":598,"searchDepth":599,"depth":599,"links":1775},[],"\u003Cp>A place inside the Simulate to chain geometry work after growth: recompute normals, drop construction attributes, adjust topology.\u003C\u002Fp>\u003Cp>Before it, any of that had to happen outside the Natsura graph, which meant losing dependency tracking for it. Experimental in 0.6; it gets its own stage with substeps, interpolation and an effector stack in 0.7.1.0.\u003C\u002Fp>",{"id":1778,"slug":1779,"category":1246,"title":1780,"description":1781,"state":1178,"firstVersion":1563,"isNewNode":25,"detail":1788},"41215f84-0211-43ea-a64a-098e1819b7cc","graph-metadata-in-parallel","Graph metadata in parallel",{"type":588,"value":1782,"toc":1786},[1783],[591,1784,1785],{},"Graph metadata updates were parallelised. On a large scene the update time fell from about sixteen seconds to under a tenth of a second.",{"title":598,"searchDepth":599,"depth":599,"links":1787},[],"\u003Cp>Graph metadata updates were parallelised. On a large scene the update went from about sixteen seconds to nothing worth measuring.\u003C\u002Fp>\u003Cp>In the same pass, the active simulate parameter moved onto the nodes that consume it rather than living on the Simulate, so editing one stopped triggering a global recook.\u003C\u002Fp>",{"id":1790,"slug":1791,"category":18,"title":1792,"description":1793,"state":1178,"firstVersion":1563,"isNewNode":25,"detail":1800},"6d490fe8-b01c-4ce8-8816-15fd0e925c20","the-natsura-hub","The Natsura Hub",{"type":588,"value":1794,"toc":1798},[1795],[591,1796,1797],{},"The single welcome panel became a tabbed hub with independent modules: home, projects, examples, settings and feedback, each dockable on its own.",{"title":598,"searchDepth":599,"depth":599,"links":1799},[],"\u003Cp>The single welcome panel became a tabbed hub of independent modules: home, projects, examples, settings and feedback, each dockable on its own.\u003C\u002Fp>\u003Cp>Tabs register from a data file, so adding one is an entry rather than a rewrite. It also checks for updates on open, in the background, and carries in-Houdini feedback submission.\u003C\u002Fp>",{"id":1802,"slug":1803,"category":18,"title":1804,"description":1805,"state":1178,"firstVersion":1563,"isNewNode":25,"detail":1812},"c5c51896-25fd-4427-82df-e11f257fd068","context-sensitive-tips","Context-sensitive tips",{"type":588,"value":1806,"toc":1810},[1807],[591,1808,1809],{},"A panel that follows what you are working on and tells you about it, with pinning, images and your own notes.",{"title":598,"searchDepth":599,"depth":599,"links":1811},[],"\u003Cp>A panel that follows what you are working on and tells you about it, with pinning, image support and your own notes.\u003C\u002Fp>\u003Cp>Renamed to Guide during the 0.7 line and rebuilt on markdown with search across both names and content. The idea does not change: documentation that finds you beats documentation you have to go and find.\u003C\u002Fp>",{"id":1814,"slug":1815,"category":18,"title":1816,"description":1817,"state":1178,"firstVersion":1563,"isNewNode":25,"detail":1824},"255ebc89-50ea-44e3-85c9-1f0bde59ef01","the-workspace-panel","The workspace panel",{"type":588,"value":1818,"toc":1822},[1819],[591,1820,1821],{},"Toolbar and attributes in one docked layout, rather than two panels you arrange yourself every time you open Houdini.",{"title":598,"searchDepth":599,"depth":599,"links":1823},[],"\u003Cp>Toolbar and attributes in one docked layout, rather than two panels you arrange yourself every time you open Houdini.\u003C\u002Fp>\u003Cp>It gained tear-off tabs and a spans view during the 0.7 line.\u003C\u002Fp>",{"id":1826,"slug":1827,"category":18,"title":1828,"description":1829,"state":1178,"firstVersion":1563,"isNewNode":25,"detail":1836},"0c308ce2-04b7-4d81-b18f-7a165e2030b3","the-splash-screen","The splash screen",{"type":588,"value":1830,"toc":1834},[1831],[591,1832,1833],{},"Recent projects, examples and documentation on open, so getting back to what you were doing is one click rather than a file browser.",{"title":598,"searchDepth":599,"depth":599,"links":1835},[],"\u003Cp>Recent projects, examples and documentation on open.\u003C\u002Fp>\u003Cp>Small, and it is the first thing a new user sees. Getting back to what you were doing yesterday should not start with a file browser.\u003C\u002Fp>",{"id":1838,"slug":1839,"category":18,"title":1840,"description":1841,"state":1178,"firstVersion":1563,"isNewNode":25,"detail":1848},"8bb201ef-221a-4196-9070-4048cabbd215","the-tab-menu-reorganised","The tab menu, reorganised",{"type":588,"value":1842,"toc":1846},[1843],[591,1844,1845],{},"Node creation regrouped so the tab menu holds the nodes you make by hand and hides the ones that only ever appear inside something else.",{"title":598,"searchDepth":599,"depth":599,"links":1847},[],"\u003Cp>Node creation regrouped so the tab menu holds the nodes you place by hand and hides the ones that only ever appear inside something else.\u003C\u002Fp>\u003Cp>Alongside it, a hundred and seventy five nodes sorted into a real library. A flat list of that size is not a toolset, it is an inventory.\u003C\u002Fp>",{"id":1850,"slug":1851,"category":18,"title":1852,"description":1853,"state":1178,"firstVersion":1563,"isNewNode":25,"detail":1860},"21348583-a344-411e-af28-999a19109a69","node-icons","Node icons",{"type":588,"value":1854,"toc":1858},[1855],[591,1856,1857],{},"Every Natsura node was given a distinct icon, so nodes can be identified by shape and colour in a large graph rather than by reading each label.",{"title":598,"searchDepth":599,"depth":599,"links":1859},[],"\u003Cp>Every Natsura node given a distinct icon.\u003C\u002Fp>\u003Cp>A Natsura graph gets large, and shape and colour are read faster than labels. This is the difference between scanning a graph and reading it.\u003C\u002Fp>",{"id":1862,"slug":1863,"category":18,"title":1864,"description":1865,"state":1178,"firstVersion":1563,"isNewNode":25,"detail":1872},"e6fb9f42-4495-47dd-b8fe-c40de2ed6d4f","the-natsura-desktop","The Natsura desktop",{"type":588,"value":1866,"toc":1870},[1867],[591,1868,1869],{},"A desktop preference that lays Houdini out for this kind of work, with the panels where they need to be, so you are not rebuilding the layout on every machine you sit at.",{"title":598,"searchDepth":599,"depth":599,"links":1871},[],"\u003Cp>A desktop preference that lays Houdini out for this kind of work, with the panels where they need to be.\u003C\u002Fp>\u003Cp>It means the layout travels with the tools rather than with the machine, which matters when artists move between workstations.\u003C\u002Fp>",{"id":1874,"slug":1875,"category":1517,"title":1876,"description":1877,"state":1178,"firstVersion":1563,"isNewNode":25,"detail":1884},"36427d5a-6f14-416f-89ff-aa9e32b96172","node-organisation-and-help","Node organisation and help",{"type":588,"value":1878,"toc":1882},[1879],[591,1880,1881],{},"A hundred and seventy five nodes organised into a real library, fewer of them in the tab menu, better submenus, and written help for the ones you reach for most.",{"title":598,"searchDepth":599,"depth":599,"links":1883},[],"\u003Cp>A hundred and seventy five nodes organised into a library, fewer of them in the tab menu, better submenus, and written help for the ones you reach for most.\u003C\u002Fp>\u003Cp>Complete node documentation is a 1.0 line item. This is the core set, which is the part that changes whether somebody can get started at all.\u003C\u002Fp>",{"id":1886,"slug":1887,"category":1246,"title":1888,"description":1889,"state":1178,"firstVersion":1563,"isNewNode":25,"detail":1896},"01e0353b-f12a-4f2a-b192-fb1fd692f97d","houdini-21-support","Houdini 21 support",{"type":588,"value":1890,"toc":1894},[1891],[591,1892,1893],{},"Natsura runs on 20.5 and 21.0, with a compatibility layer over the Qt change underneath.",{"title":598,"searchDepth":599,"depth":599,"links":1895},[],"\u003Cp>Natsura runs on 20.5 and 21.0, with a compatibility layer over the Qt change underneath so the interface works on both.\u003C\u002Fp>\u003Cp>Supporting two Houdini versions at once is the normal condition for a studio tool, not an exception. Studios migrate on their own schedule and expect the tools to be waiting.\u003C\u002Fp>",{"id":1898,"slug":1899,"category":1246,"title":1900,"description":1901,"state":1178,"firstVersion":1563,"isNewNode":25,"detail":1908},"e92b70ab-4ff0-4b3a-8f8b-7175fcd478ab","analytics-opt-in","Analytics, opt in",{"type":588,"value":1902,"toc":1906},[1903],[591,1904,1905],{},"Anonymous usage data, off by default, with consent asked once and a local fallback that never leaves your machine.",{"title":598,"searchDepth":599,"depth":599,"links":1907},[],"\u003Cp>Anonymous usage data, off by default, with consent asked once and a local fallback that never leaves the machine. Nothing is collected without explicit consent.\u003C\u002Fp>\u003Cp>It is here because the alternative is guessing which features are used. A small team building a large toolset cannot afford to guess.\u003C\u002Fp>",{"id":1910,"slug":1911,"version":1912,"title":1913,"eyebrow":1914,"description":1915,"entries":1922},"1339151d-3bc5-4899-a11f-520d00b630e5","0-5","0.5","Early Access","Released September 2025",{"type":588,"value":1916,"toc":1920},[1917],[591,1918,1919],{},"The release where anyone could sign up and download Natsura. Grow became a single node instead of a wiring diagram, and the long run of 0.5.x builds turned Unreal rigging and wind from an experiment into something studios shipped with.",{"title":598,"searchDepth":599,"depth":599,"links":1921},[],[1923,1936,1948,1959,1970,1982,1993,2005,2016,2027,2039,2051,2063,2075,2087,2099,2111,2123,2136,2149],{"id":1924,"slug":1925,"category":785,"title":1926,"description":1927,"state":1178,"firstVersion":1934,"isNewNode":25,"detail":1935},"67ca28bf-5ad5-45e7-b846-327d4d2e2e67","public-early-access","Public early access",{"type":588,"value":1928,"toc":1932},[1929],[591,1930,1931],{},"natsura.com opened. Anyone could sign up, download the tools and start on a free Apprentice licence, rather than being let in by hand.",{"title":598,"searchDepth":599,"depth":599,"links":1933},[],"0.5.0","\u003Cp>Until 0.5, using Natsura meant knowing us. From 0.5 it meant visiting a website, signing up and downloading a build, with a free Apprentice tier so the first step cost nothing.\u003C\u002Fp>\u003Cp>The consequence shows up everywhere after this point. Bug reports arrive from people we have never met, the changelog starts being written for strangers, and features get judged on whether somebody can find them rather than on whether they work.\u003C\u002Fp>",{"id":1937,"slug":1938,"category":32,"title":1939,"description":1940,"state":1178,"firstVersion":1934,"isNewNode":25,"detail":1947},"8e101df9-7090-46c0-b1c0-4ccd1c25acff","grow-1-1","Grow 1.1",{"type":588,"value":1941,"toc":1945},[1942],[591,1943,1944],{},"Looping, forking, splitting and switching stopped being separate nodes and moved into Grow as parameters, each of them mappable.",{"title":598,"searchDepth":599,"depth":599,"links":1946},[],"\u003Cp>Before this, building a plant meant wiring separate nodes for looping, forking, splitting and switching. Grow 1.1 pulled all four into the node itself as parameters, each of them mappable.\u003C\u002Fp>\u003Cp>It came directly from what people said: new users wanted one obvious place to start, and experienced users wanted fewer nodes on screen when prototyping. Nothing was taken away. You can still build the granular version out of the core nodes, and Wrangle is still there.\u003C\u002Fp>",{"id":1949,"slug":1950,"category":36,"title":448,"description":1951,"state":1178,"firstVersion":1934,"isNewNode":575,"detail":1958},"76b0bbfa-2bc4-43d9-8dbd-085f1467651f","map-if",{"type":588,"value":1952,"toc":1956},[1953],[591,1954,1955],{},"Choose between two mapping chains on a condition, inside the mapping graph rather than around it.",{"title":598,"searchDepth":599,"depth":599,"links":1957},[],"\u003Cp>Applies a mapping chain only when a condition is met, and a different one otherwise.\u003C\u002Fp>\u003Cp>Along with Map Blend, this is the point at which mapping stopped being a stack and started being a graph: values could branch on something the simulation knew, inside the mapping system rather than in an expression wrapped around it.\u003C\u002Fp>",{"id":1960,"slug":1961,"category":36,"title":440,"description":1962,"state":1178,"firstVersion":1934,"isNewNode":575,"detail":1969},"27b2f1f1-0798-4f7e-b571-8aee7c4039f4","map-blend",{"type":588,"value":1963,"toc":1967},[1964],[591,1965,1966],{},"Blend several maps together, for control that changes gradually instead of switching.",{"title":598,"searchDepth":599,"depth":599,"links":1968},[],"\u003Cp>Blends two mapping chains together on a weight.\u003C\u002Fp>\u003Cp>The difference from Map If is the difference between a switch and a dial. Blending is what you want when a property should shift gradually up a trunk or out along a branch, which is most of the time in a plant.\u003C\u002Fp>",{"id":1971,"slug":1972,"category":36,"title":1973,"description":1974,"state":1178,"firstVersion":1934,"isNewNode":25,"detail":1981},"df1a1a50-e0a5-4edf-a749-4ec958c72cbf","mapping-on-switch-and-wrangle","Mapping on Switch and Wrangle",{"type":588,"value":1975,"toc":1979},[1976],[591,1977,1978],{},"Switch and Wrangle gained mapping chains of their own, so attribute-driven logic and gating stopped needing a detour outside the graph.",{"title":598,"searchDepth":599,"depth":599,"links":1980},[],"\u003Cp>Switch and Wrangle gained mapping chains of their own, so a gate or an attribute could be driven by a map rather than by a hand-written expression.\u003C\u002Fp>\u003Cp>This is the release where mapping stopped being a feature of Grow and started being how the whole toolkit is controlled.\u003C\u002Fp>",{"id":1983,"slug":1984,"category":798,"title":94,"description":1985,"state":1178,"firstVersion":1934,"isNewNode":575,"detail":1992},"40176de7-bb16-4be6-adf8-41bbaea8810a","trunk-decoration",{"type":588,"value":1986,"toc":1990},[1987],[591,1988,1989],{},"Extend and graft scanned trunks, with a highpoly workflow attached.",{"title":598,"searchDepth":599,"depth":599,"links":1991},[],"\u003Cp>A surface decoration specialised for trunks, with stronger UV and displacement controls. It mounts baked high-poly trunks onto the simulation output and supports trunk extension.\u003C\u002Fp>\u003Cp>It is the node that makes a scan usable: bring in a real trunk, and grow the rest of the tree out of the top of it.\u003C\u002Fp>",{"id":1994,"slug":1995,"category":1170,"title":1996,"description":1997,"state":1178,"firstVersion":1934,"isNewNode":575,"detail":2004},"96b6aeb0-fc02-476b-90ec-3fe5192e1b97","cluster-modules","Cluster Modules",{"type":588,"value":1998,"toc":2002},[1999],[591,2000,2001],{},"Groups geometry into named modules that the cluster decorator can place. This is the direct predecessor of the assembly system introduced in 0.6.",{"title":598,"searchDepth":599,"depth":599,"links":2003},[],"\u003Cp>Groups geometry into named modules that the cluster decorator can place, rather than treating every mesh as an unrelated item.\u003C\u002Fp>\u003Cp>This is the direct ancestor of the assembly system. The idea that a library has structure, and that structure is what you select against, starts here.\u003C\u002Fp>",{"id":2006,"slug":2007,"category":32,"title":504,"description":2008,"state":1178,"firstVersion":1934,"isNewNode":575,"detail":2015},"f140a653-3c46-4658-aafd-0d301c736f51","seed-points",{"type":588,"value":2009,"toc":2013},[2010],[591,2011,2012],{},"Defines the points from which plants are grown, including how many there are, where they sit and what attributes they carry into the simulation.",{"title":598,"searchDepth":599,"depth":599,"links":2014},[],"\u003Cp>Generates the scatter of points a stand or a forest grows from, carrying per-point seed, age and species attributes that downstream Simulates consume.\u003C\u002Fp>\u003Cp>It is the node that makes Natsura a forest tool rather than a tree tool. One Simulate, many points, and each point produces a different plant because the attributes on it differ.\u003C\u002Fp>",{"id":2017,"slug":2018,"category":1170,"title":415,"description":2019,"state":1178,"firstVersion":1934,"isNewNode":575,"detail":2026},"7ff7addf-94ba-4442-a975-0fffe90d9e8e","import-props",{"type":588,"value":2020,"toc":2024},[2021],[591,2022,2023],{},"The 0.4 utility became a node: load meshes into the cluster decoration workflow as part of the graph rather than as a step beforehand.",{"title":598,"searchDepth":599,"depth":599,"links":2025},[],"\u003Cp>Loads external meshes such as leaves, flowers and rocks into the decoration workflow, handling geometry cleanup, pivot placement and instancing setup.\u003C\u002Fp>\u003Cp>The 0.4 shelf utility became a node here, which means the import is part of the graph and re-cooks with everything else instead of being a step you remember to redo.\u003C\u002Fp>",{"id":2028,"slug":2029,"category":811,"title":2030,"description":2031,"state":1178,"firstVersion":1934,"isNewNode":575,"detail":2038},"8a82d801-aaae-419f-90a4-c1ddffcda93b","unreal-wizard","Unreal Wizard",{"type":588,"value":2032,"toc":2036},[2033],[591,2034,2035],{},"The first attempt at what-you-see-is-what-you-get export to Unreal.",{"title":598,"searchDepth":599,"depth":599,"links":2037},[],"\u003Cp>The first attempt at what-you-see-is-what-you-get export to Unreal, in one node.\u003C\u002Fp>\u003Cp>Now deprecated in favour of the Nanite skeletal assembly workflow. It was the right idea too early: the export had to be understood before it could be hidden behind a wizard, and by 0.6 what it was hiding had changed completely.\u003C\u002Fp>",{"id":2040,"slug":2041,"category":1504,"title":2042,"description":2043,"state":1178,"firstVersion":1934,"isNewNode":25,"detail":2050},"1cf81785-c28d-47f4-855b-5a7df6cee5b0","high-to-low-poly-baking","High to low poly baking",{"type":588,"value":2044,"toc":2048},[2045],[591,2046,2047],{},"Bake detail from a high poly surface down onto a low poly one, in COPs.",{"title":598,"searchDepth":599,"depth":599,"links":2049},[],"\u003Cp>A COPs-based baker that converts high-poly geometry into colour, height and normal maps for game-ready meshes and tiling textures.\u003C\u002Fp>\u003Cp>Doing it in COPs rather than in a separate application is the point. A scan comes in, a baked material comes out, and it re-cooks when the geometry upstream changes.\u003C\u002Fp>",{"id":2052,"slug":2053,"category":798,"title":2054,"description":2055,"state":1178,"firstVersion":1934,"isNewNode":25,"detail":2062},"d5a55c15-df43-493a-b750-3039d12511a8","scan-extension","Scan extension",{"type":588,"value":2056,"toc":2060},[2057],[591,2058,2059],{},"Graft a scanned trunk and grow more of it procedurally, so a scan can be a starting point rather than a fixed asset.",{"title":598,"searchDepth":599,"depth":599,"links":2061},[],"\u003Cp>Graft onto a scanned trunk and grow the rest procedurally, so a scan becomes a starting point rather than a fixed asset.\u003C\u002Fp>\u003Cp>The hard part is the join, and it stays hard. 0.6 extended this across multiple trunks, and 0.8 addresses the half that geometry cannot fix by blending the scanned material into the procedural one in the shader.\u003C\u002Fp>",{"id":2064,"slug":2065,"category":18,"title":2066,"description":2067,"state":1178,"firstVersion":1934,"isNewNode":25,"detail":2074},"e4f507e9-2aaf-4b19-bef7-9fedc8919526","the-welcome-panel","The Welcome panel",{"type":588,"value":2068,"toc":2072},[2069],[591,2070,2071],{},"One place for examples, documentation, Discord and the website, rather than hunting for each of them. Replaced by the Natsura Hub in 0.6.",{"title":598,"searchDepth":599,"depth":599,"links":2073},[],"\u003Cp>One place holding examples, documentation, the Discord link and the website, instead of four places to remember.\u003C\u002Fp>\u003Cp>Replaced by the Natsura Hub in 0.6, which is the same idea built as independent dockable modules rather than as one panel that had to be edited to add anything.\u003C\u002Fp>",{"id":2076,"slug":2077,"category":18,"title":2078,"description":2079,"state":1178,"firstVersion":1934,"isNewNode":25,"detail":2086},"1eda0301-91cf-4d29-98d2-798a36f22bdc","the-palette-panel","The Palette panel",{"type":588,"value":2080,"toc":2084},[2081],[591,2082,2083],{},"A panel of prepared mapping presets that can be applied to a parameter in one click, instead of building an equivalent map chain by hand.",{"title":598,"searchDepth":599,"depth":599,"links":2085},[],"\u003Cp>Prepared mapping presets applied to a parameter in one click.\u003C\u002Fp>\u003Cp>It is the first acknowledgement that mapping has a learning curve, and the ancestor of the growth palette idea in the 1.0 example library: give somebody something that works before asking them to understand why.\u003C\u002Fp>",{"id":2088,"slug":2089,"category":18,"title":2090,"description":2091,"state":1178,"firstVersion":1934,"isNewNode":25,"detail":2098},"ebd0f157-3a08-4dd7-ac96-de88659380c3","the-toolbar-overhaul","The toolbar overhaul",{"type":588,"value":2092,"toc":2096},[2093],[591,2094,2095],{},"Cleaner layout, smaller buttons, and view modes: skeleton, preview and decorated, so you can see the stage of the tree you are actually working on.",{"title":598,"searchDepth":599,"depth":599,"links":2097},[],"\u003Cp>Cleaner layout, smaller buttons, and view modes: skeleton, preview and decorated.\u003C\u002Fp>\u003Cp>The view modes are the substance. A Natsura tree exists at several stages at once, and being able to look at the stage you are working on rather than the finished mesh is the difference between iterating in seconds and iterating in cooks.\u003C\u002Fp>",{"id":2100,"slug":2101,"category":18,"title":2102,"description":2103,"state":1178,"firstVersion":1934,"isNewNode":25,"detail":2110},"9124fb34-a455-46ca-a5f2-e722fa236d10","panels-became-data-driven","Panels became data-driven",{"type":588,"value":2104,"toc":2108},[2105],[591,2106,2107],{},"Panels moved to JSON-backed definitions with preferences that persist, instead of being built in code one at a time.",{"title":598,"searchDepth":599,"depth":599,"links":2109},[],"\u003Cp>Panels moved to definitions in a data file with preferences that persist, instead of each being built in code.\u003C\u002Fp>\u003Cp>Every panel that exists since, and there are a lot of them, exists because this made adding one cheap. It is the least visible change in 0.5 and probably the most consequential.\u003C\u002Fp>",{"id":2112,"slug":2113,"category":1246,"title":2114,"description":2115,"state":1178,"firstVersion":1934,"isNewNode":25,"detail":2122},"1006f626-ff44-4274-8243-9fc44546f5a3","scenes-load-faster","Scenes load faster",{"type":588,"value":2116,"toc":2120},[2117],[591,2118,2119],{},"Overused dive targets were removed, which allowed Houdini to resume instancing nodes natively. Long-standing split and ID assignment bugs in the core graph were fixed at the same time.",{"title":598,"searchDepth":599,"depth":599,"links":2121},[],"\u003Cp>Overused dive targets were removed, which let Houdini resume instancing nodes natively rather than treating each one as unique.\u003C\u002Fp>\u003Cp>Long-standing split and ID assignment bugs in the core graph were fixed in the same pass. The two are related: both came from the graph carrying more state per node than it needed to.\u003C\u002Fp>",{"id":2124,"slug":2125,"category":811,"title":2126,"description":2127,"state":1178,"firstVersion":2134,"isNewNode":575,"detail":2135},"b2271dfa-102c-4fd8-b465-334768ef677d","wind-first-pass","Wind, first pass",{"type":588,"value":2128,"toc":2132},[2129],[591,2130,2131],{},"Wind Init, Wind Config and Unreal Wind, alongside multi-trunk rig support and much sturdier cluster rigging.",{"title":598,"searchDepth":599,"depth":599,"links":2133},[],"0.5.11.0","\u003Cp>Wind Init, Wind Config and Unreal Wind, plus multi-trunk rig support and much sturdier cluster rigging.\u003C\u002Fp>\u003Cp>Wind Config assigns wind animation classes and response parameters along the skeleton, and chains, so trunk, mid-branch and tip can behave differently. Experimental at this point: enough to see where the wind layers are while rigging, and not a runtime match for Unreal.\u003C\u002Fp>",{"id":2137,"slug":2138,"category":811,"title":2139,"description":2140,"state":1178,"firstVersion":2147,"isNewNode":25,"detail":2148},"fd591026-67cd-4790-9af8-edce1434a6ea","rig-simplification","Rig simplification",{"type":588,"value":2141,"toc":2145},[2142],[591,2143,2144],{},"Carve and maximum-joint-count reduction, chainable, with reskinning going from thirty seconds to two tenths of one.",{"title":598,"searchDepth":599,"depth":599,"links":2146},[],"0.5.12.0","\u003Cp>Reduces joint count and skin complexity on a rigged tree before export. The standard pre-export step for an Unreal Nanite skeletal assembly.\u003C\u002Fp>\u003Cp>Carve and maximum-joint-count reduction, chainable, with reskinning going from thirty seconds to two tenths of one. Studios cap joint hierarchy depth for real-time wind, so control over how many joints there are and how deep they go is a hard requirement rather than an optimisation.\u003C\u002Fp>",{"id":2150,"slug":2151,"category":1246,"title":2152,"description":2153,"state":1178,"firstVersion":2147,"isNewNode":25,"detail":2160},"b19fc975-8683-4e64-b991-09e414325d29","the-decorator-attribute-contract","The decorator attribute contract",{"type":588,"value":2154,"toc":2158},[2155],[591,2156,2157],{},"Decorators stopped each interpolating attributes their own way. One contract says what a decorator receives and what it returns, and rig attributes transfer back in a single pass.",{"title":598,"searchDepth":599,"depth":599,"links":2159},[],"\u003Cp>Before this, the Simulate passed every attribute to every decorator, and a decorator could consume or corrupt an attribute meant for something further downstream.\u003C\u002Fp>\u003Cp>Now each decorator declares what it receives and what it returns, and the rig attributes are transferred back in one pass at the end. Cook time and memory both dropped sharply, and a whole class of \"why did that attribute disappear\" stopped happening.\u003C\u002Fp>",{"id":2162,"slug":2163,"version":2164,"title":2165,"eyebrow":2166,"description":2167,"entries":2174},"ce67fa36-de63-40e1-a32a-8b314d351437","0-4","0.4","Scans","Released June 2025",{"type":588,"value":2168,"toc":2172},[2169],[591,2170,2171],{},"The first tools for working from scanned and sculpted trees rather than from a seed, alongside the first selective decoration and the first species recipes.",{"title":598,"searchDepth":599,"depth":599,"links":2173},[],[2175,2187,2198,2209,2221,2233],{"id":2176,"slug":2177,"category":798,"title":488,"description":2178,"state":1178,"firstVersion":2185,"isNewNode":575,"detail":2186},"b1430e1f-3b6e-4636-93fd-76746ea81b9e","scan-rig",{"type":588,"value":2179,"toc":2183},[2180],[591,2181,2182],{},"The first tool for working with scanned trees: takes a scan and produces a usable rig from it.",{"title":598,"searchDepth":599,"depth":599,"links":2184},[],"0.4.0","\u003Cp>Creates rigged tubular sections from scanned geometry, used in the tiling-texture extraction workflow.\u003C\u002Fp>\u003Cp>It is the first half of the answer to a question that had no answer before 0.4: you have a photogrammetry scan of a real trunk, and you want to use it as the start of something procedural rather than as a fixed asset.\u003C\u002Fp>",{"id":2188,"slug":2189,"category":1504,"title":480,"description":2190,"state":1178,"firstVersion":2185,"isNewNode":575,"detail":2197},"47fddba5-69ba-4b60-85e6-70cea9c00c14","scan-material",{"type":588,"value":2191,"toc":2195},[2192],[591,2193,2194],{},"Extracts texture from scan data so a scanned surface can be used as material and not only as geometry. It shipped in 0.4 under the name Scan Extract Texture.",{"title":598,"searchDepth":599,"depth":599,"links":2196},[],"\u003Cp>Assigns a material to a scanned mesh, inside the high-poly import and graft workflows.\u003C\u002Fp>\u003Cp>The other half of the 0.4 scan pair. A scan carries its own surface detail, and without a route for that detail into the material it is only geometry.\u003C\u002Fp>",{"id":2199,"slug":2200,"category":1170,"title":508,"description":2201,"state":1178,"firstVersion":2185,"isNewNode":575,"detail":2208},"e3159163-7cf3-4982-b9bb-460dee65d97d","select-decoration",{"type":588,"value":2202,"toc":2206},[2203],[591,2204,2205],{},"The first version of choosing which parts of a plant a decoration applies to, instead of applying it everywhere.",{"title":598,"searchDepth":599,"depth":599,"links":2207},[],"\u003Cp>A gating layer between the growth network and the decorations, controlling which parts of a plant receive which mesh.\u003C\u002Fp>\u003Cp>Currently deprecated and expected to return. Core Select in 0.8 is the same idea taken seriously: selection as an explicit step in the graph rather than something bolted to one decorator.\u003C\u002Fp>",{"id":2210,"slug":2211,"category":1170,"title":2212,"description":2213,"state":1178,"firstVersion":2185,"isNewNode":25,"detail":2220},"8c9bb603-dfc2-4af3-b838-e8216b37f78d","import-prop","Import Prop",{"type":588,"value":2214,"toc":2218},[2215],[591,2216,2217],{},"A utility for bringing your own meshes in and decorating with them.",{"title":598,"searchDepth":599,"depth":599,"links":2219},[],"\u003Cp>Loads external meshes such as leaves, flowers and rocks as props for the cluster decoration workflow, handling geometry cleanup, pivot placement and instancing setup.\u003C\u002Fp>\u003Cp>It shipped in 0.4 as a shelf utility and became a proper node in 0.5, which is the small version of a pattern that repeats throughout: a thing exists as a script, gets used enough to earn a node, and then earns a workflow around it.\u003C\u002Fp>",{"id":2222,"slug":2223,"category":36,"title":2224,"description":2225,"state":1178,"firstVersion":2185,"isNewNode":25,"detail":2232},"44734530-d1b0-47dc-abcc-825f2df68f94","source-attributes-in-mapping","Source attributes in mapping",{"type":588,"value":2226,"toc":2230},[2227],[591,2228,2229],{},"Point attributes on the source point cloud pass straight through into mapping, so what you bring in can drive how the plant grows without any setup in between.",{"title":598,"searchDepth":599,"depth":599,"links":2231},[],"\u003Cp>Point attributes on the source point cloud pass straight through into mapping.\u003C\u002Fp>\u003Cp>It sounds like plumbing and it changed what the tools are for. Bring in a point cloud carrying density, species, age or a painted mask, and those values drive how the plants grow without any setup step in between. Scattering a forest and controlling it are the same operation from this point on.\u003C\u002Fp>",{"id":2234,"slug":2235,"category":1517,"title":2236,"description":2237,"state":1178,"firstVersion":2185,"isNewNode":25,"detail":2244},"18c7ad34-88fd-461b-9dca-f4659e8ad6fe","the-first-species-recipes","The first species recipes",{"type":588,"value":2238,"toc":2242},[2239],[591,2240,2241],{},"A simple conifer recipe added to the library, alongside a long run of meshing work on Elderwood.",{"title":598,"searchDepth":599,"depth":599,"links":2243},[],"\u003Cp>A simple conifer recipe added to the library, alongside a long run of meshing work on Elderwood.\u003C\u002Fp>\u003Cp>The first attempt at the thing 1.0 still has as an open item: a file you open that already produces a tree, rather than a set of nodes you have to assemble before anything happens.\u003C\u002Fp>",{"id":2246,"slug":2247,"version":2248,"title":2249,"eyebrow":2250,"description":2251,"entries":2258},"156dffde-e85c-4539-ac6f-d6aad2c5de9f","0-1","0.1","Prehistory","Before early access",{"type":588,"value":2252,"toc":2256},[2253],[591,2254,2255],{},"The earliest work, before there was a website or a public download. The growth engine arrived in 0.1, the first mapping system in 0.2, and the first decorations in 0.3. Internally the tools were namespaced Flops at this point, which is still visible inside some of the assets, and the work ran alongside Project Elderwood. None of these three releases has a recorded date, so none is given one here.",{"title":598,"searchDepth":599,"depth":599,"links":2257},[],[2259,2271,2282,2293,2304,2315,2326,2338,2350,2362,2373],{"id":2260,"slug":2261,"category":1246,"title":2262,"description":2263,"state":1178,"firstVersion":2248,"isNewNode":25,"detail":2270},"cc36bec5-ee2d-4dd6-87fc-8a1c9949d419","the-growth-engine","The growth engine",{"type":588,"value":2264,"toc":2268},[2265],[591,2266,2267],{},"The first version of the engine every later release is built on. It runs a graph that spawns a segment of plant, grows it, and then evaluates what should happen at the end of it.",{"title":598,"searchDepth":599,"depth":599,"links":2269},[],"\u003Cp>Natsura runs growth as a graph rather than as a script. A Simulate walks that graph, executes the logic on it, resolves the mappings, and produces geometry.\u003C\u002Fp>\u003Cp>Everything since has been an argument about what belongs in the graph and what belongs in mapping. The engine itself has been rebuilt twice without that basic shape changing.\u003C\u002Fp>",{"id":2272,"slug":2273,"category":32,"title":395,"description":2274,"state":1178,"firstVersion":2248,"isNewNode":575,"detail":2281},"4ac89cc4-4d8c-4da0-b2a0-5a21e533d7aa","grow",{"type":588,"value":2275,"toc":2279},[2276],[591,2277,2278],{},"Advances the plant. Takes the geometry that exists so far, adds length to the growing tips, and passes the result to the next node in the graph.",{"title":598,"searchDepth":599,"depth":599,"links":2280},[],"\u003Cp>The fundamental building block. Extends the structure by creating new segments from the current endpoints, with control over length, angle and width.\u003C\u002Fp>\u003Cp>Everything a plant does that is not branching is Grow doing it repeatedly. It is also the node that absorbed the most over time: looping, forking, splitting and switching all folded into it in 0.5, and in 0.7 it became a socket that runs code the mapping graph generates.\u003C\u002Fp>",{"id":2283,"slug":2284,"category":32,"title":525,"description":2285,"state":1178,"firstVersion":2248,"isNewNode":575,"detail":2292},"6e6dd90d-b727-4991-96bf-f6a30b462866","split",{"type":588,"value":2286,"toc":2290},[2287],[591,2288,2289],{},"Turns one growing tip into two. Every branch in a Natsura plant originates from a split.",{"title":598,"searchDepth":599,"depth":599,"links":2291},[],"\u003Cp>Creates explicit parallel branches in the growth graph. Distinct from the innate forking a Grow can do on its own, Split forks the topology into separate, logically distinct paths that can then be treated differently.\u003C\u002Fp>\u003Cp>The distinction matters: innate forking gives you two of the same thing, Split gives you two things you can address separately.\u003C\u002Fp>",{"id":2294,"slug":2295,"category":32,"title":540,"description":2296,"state":1178,"firstVersion":2248,"isNewNode":575,"detail":2303},"20fd0f8b-306a-4e9e-857f-1ae94141f564","switch",{"type":588,"value":2297,"toc":2301},[2298],[591,2299,2300],{},"Send growth down one path or another depending on a condition, so a plant can behave differently in different places on itself.",{"title":598,"searchDepth":599,"depth":599,"links":2302},[],"\u003Cp>Conditional branching. Routes growth into different subgraphs depending on attributes, thresholds or mappings, so a plant can behave differently in different places on itself.\u003C\u002Fp>\u003Cp>It gained mapping chains of its own in 0.5, which is when conditions stopped needing to be written as expressions outside the graph.\u003C\u002Fp>",{"id":2305,"slug":2306,"category":32,"title":472,"description":2307,"state":1178,"firstVersion":2248,"isNewNode":575,"detail":2314},"1020507a-8899-4a96-b5d3-f831da85c4c5","repeat",{"type":588,"value":2308,"toc":2312},[2309],[591,2310,2311],{},"Runs a section of the graph repeatedly, so a small number of nodes can describe a whole tree instead of a single segment.",{"title":598,"searchDepth":599,"depth":599,"links":2313},[],"\u003Cp>Defines a looping block. Everything between Repeat Begin and Repeat End is re-evaluated a set number of times, with attributes that vary across the iterations.\u003C\u002Fp>\u003Cp>This is what lets a graph of a dozen nodes describe a whole tree. Without it you would be authoring one segment at a time.\u003C\u002Fp>",{"id":2316,"slug":2317,"category":32,"title":563,"description":2318,"state":1178,"isNewNode":575,"detail":2325},"853b089d-2a7c-41d0-9651-ab038c4ee4d8","wrangle",{"type":588,"value":2319,"toc":2323},[2320],[591,2321,2322],{},"Write VEX directly into the growth logic, for the cases the other nodes do not cover.",{"title":598,"searchDepth":599,"depth":599,"links":2324},[],"\u003Cp>A VEX interface directly into the Natsura graph. Emit attributes, define gates, or prototype an effector before it is worth making into a node.\u003C\u002Fp>\u003Cp>It is the escape hatch, and it is deliberate that one exists. Most of what later became effectors and map types was written here first.\u003C\u002Fp>",{"id":2327,"slug":2328,"category":36,"title":57,"description":2329,"state":1178,"firstVersion":2336,"isNewNode":25,"detail":2337},"265510a7-cbee-4a2c-820f-59a3b2ff3876","mapping",{"type":588,"value":2330,"toc":2334},[2331],[591,2332,2333],{},"A parameter stopped being one number. It became something that could vary across the plant, driven by anything the simulation knows about the point it is growing from.",{"title":598,"searchDepth":599,"depth":599,"links":2335},[],"0.2","\u003Cp>Before mapping, a parameter was one number for the whole plant. After it, a parameter is a value that can vary across the plant, driven by anything the simulation knows about the point it is growing from: how far up the tree it is, how old the segment is, how thick, which branch order, or any attribute you have put there yourself.\u003C\u002Fp>\u003Cp>Almost every feature on this page is downstream of that one change.\u003C\u002Fp>",{"id":2339,"slug":2340,"category":36,"title":2341,"description":2342,"state":1178,"firstVersion":2336,"isNewNode":25,"detail":2349},"a6b8e45b-f0ae-4692-8961-fc04274cffe9","the-map-stack","The map stack",{"type":588,"value":2343,"toc":2347},[2344],[591,2345,2346],{},"In its first form maps were chained one after another in a stack, each one working on the value the one before it produced.",{"title":598,"searchDepth":599,"depth":599,"links":2348},[],"\u003Cp>In its first form, maps were applied in an ordered stack: each one took the value the one before it produced, and the parameter received whatever came out of the end.\u003C\u002Fp>\u003Cp>A stack is easy to reason about and hard to branch. That limitation is what the later work addresses: conditional chains and blending in 0.5, and in 0.7 a graph that generates the code the simulation runs.\u003C\u002Fp>",{"id":2351,"slug":2352,"category":798,"title":82,"description":2353,"state":1178,"firstVersion":2360,"isNewNode":25,"detail":2361},"d5ed7ccd-8be0-464f-9856-c626bf924f8e","decorations",{"type":588,"value":2354,"toc":2358},[2355],[591,2356,2357],{},"Places geometry onto a grown skeleton. Until this release the simulation produced a skeleton and nothing renderable; decorations are what turn that skeleton into a surface.",{"title":598,"searchDepth":599,"depth":599,"links":2359},[],"0.3","\u003Cp>Growth produces a skeleton, which is a set of connected segments carrying attributes. It renders as nothing. A decoration is what turns that skeleton into surface: geometry built along it, or geometry placed on it.\u003C\u002Fp>\u003Cp>The split between the two survives to this day. Surface Decoration builds continuous geometry along the strands; the cluster and assembly decorators place discrete pieces at points on them.\u003C\u002Fp>",{"id":2363,"slug":2364,"category":798,"title":90,"description":2365,"state":1178,"firstVersion":2360,"isNewNode":575,"detail":2372},"afd034b6-acb1-4752-900b-5bf7cb95eff1","surface-decoration",{"type":588,"value":2366,"toc":2370},[2367],[591,2368,2369],{},"Build a surface along the grown strands: the trunk, the limbs and everything continuous.",{"title":598,"searchDepth":599,"depth":599,"links":2371},[],"\u003Cp>Generates skin or bark geometry along the grown skeleton: the trunk, the limbs and everything continuous.\u003C\u002Fp>\u003Cp>It stayed largely fixed for a long time and then changed twice: an attribute contract in 0.5.12.0 that fixed both its performance and its correctness, and real shaping controls in 0.7.1.0. The vascular sweep in 0.8 changes what it produces rather than how it is controlled.\u003C\u002Fp>",{"id":2374,"slug":2375,"category":1170,"title":102,"description":2376,"state":1178,"firstVersion":2360,"isNewNode":575,"detail":2383},"a75c5c08-8d88-4500-8cd8-f610905dcdb4","cluster-decoration",{"type":588,"value":2377,"toc":2381},[2378],[591,2379,2380],{},"Place clustered geometry onto the plant: the original way foliage and detail got onto a tree. Superseded by Assembly Decoration and deprecated during the 0.7 line.",{"title":598,"searchDepth":599,"depth":599,"links":2382},[],"\u003Cp>Attaches external meshes such as leaves, flowers and fruit to the skeleton. The original way anything other than bark got onto a Natsura tree.\u003C\u002Fp>\u003Cp>It was deprecated during the 0.7 line in favour of Assembly Decoration, which does the same job from a rigged library with trait matching rather than from a flat set of meshes.\u003C\u002Fp>",{"id":567,"path":2385,"stem":2386,"extension":570,"title":2387,"description":2388,"links":2389,"testimonials":2401,"meta":2461,"navigation":575,"seo":2462},"\u002Fcta","cta","Sign up for Natsura and start creating stunning foliage today","Join the Natsura community and join other artists and developers in the conversation.",[2390,2396],{"label":2391,"to":2392,"icon":2393,"color":2394,"variant":2395},"Try Natsura","\u002Flogin","i-lucide-download","primary","subtle",{"label":2397,"to":2398,"icon":2399,"trailing":575,"color":2400,"variant":2395},"Pricing","\u002Fpricing","i-lucide-arrow-right","neutral",[2402,2407,2412,2420,2428,2436,2444,2452,2457],{"title":2403,"user":2404},"My experience with Natsura so far has been great, coming form SpeedTree and having absolutely zero previous experience with Houdini I have to say that the transition has been very smooth.",{"name":2405,"description":2406},"Aranabel","3D Artist",{"title":2408,"user":2409},"You guys have made a really great tool, and I’m really enjoying using it. At first, I thought it would be similar to PVE because I’ve used it before, but this tool is quite different",{"name":2410,"description":2411},"Abdul Razzaq","Senior Vegetation Artist",{"title":2413,"image":2414,"user":2417},"Natsura is a tool ready for future developments, breaking with conventions and limitations of the past. The way simulation and guided control is mixed is unique to any other tool I worked with, and allows for modelling plants true to reality like it wasn't possible before. Even if that comes with a bit of a learning curve, I'm convinced it'll be the future of vegetation making!",{"src":2415,"alt":2416},"https:\u002F\u002Fmedia.natsura.com\u002F3172c05a-67e1-4666-8b50-1f26e5eedb3a.png","a picture of a patch of pine trees",{"name":2418,"description":2419},"Tilman Mielsch","Technical Vegetation Artist",{"title":2421,"image":2422,"user":2425},"Natsura is a groundbreaking new approach to an age old problem in video games and film- how do artists create non-cookie cutter realistic foliage that doesn't compromise. To me?  Natsura is to technical artists what C was to programmers, and personally, I am excited to see it grow.",{"src":2423,"alt":2424},"https:\u002F\u002Fmedia.natsura.com\u002F7c05c091-ddf5-4061-99be-c769c1319914.png","a picture of Roots",{"name":2426,"description":2427},"Lillian Salehi","Environment Artist",{"title":2429,"image":2430,"user":2433},"i love that we can make all kinds of trees with the tools",{"src":2431,"alt":2432},"https:\u002F\u002Fmedia.natsura.com\u002Fd0f16c7b-0278-4de1-b6f3-adb46f3e3451.png","a picture of a stylized tree sketch using the natsura unreal plugin",{"name":2434,"description":2435},"Lea Kronenberger","3D Art Lead - Frictional Games",{"title":2437,"user":2438},"Where creativity meets control — a fresh approach to vegetation assets, built by passionate developers.",{"name":2439,"description":2440,"avatar":2441},"Paul Suchan","Environmental Artist",{"src":2442,"alt":2443},"https:\u002F\u002Fmedia.natsura.com\u002F0bbd236b-061f-4e18-b6bd-6c8a652afc19.jpeg","Environmental Artist - Warhorse",{"title":2445,"user":2446},"I love Natsura's approach of combining simulation with parametric control - the developers are passionate and it shows in the product.",{"name":2447,"description":2448,"avatar":2449},"Jan Klasen","Co-Founder - Realbiomes",{"src":2450,"alt":2451},"https:\u002F\u002Fmedia.natsura.com\u002F8e55e864-5021-4808-9557-17499655519a.jpeg","RealBiomes",{"title":2453,"user":2454},"The best way to describe Natsura would be to imagine all the possibilities inside Houdini combined with decades of experience in Procedural Vegetation Creation all combined in a single artist friendly toolbox.",{"name":2455,"description":2456},"Chico Spans","Expert Biome Artist @ Activision Elsewhere",{"title":2458,"user":2459},"Its an amazing software even though I'm totally new to Houdini.",{"name":2460},"Cheenu",{},{"title":2387,"description":2388},1790693984441]