[{"data":1,"prerenderedAt":851},["ShallowReactive",2],{"navigation":3,"\u002Fdocs\u002Fguru\u002Fcustom-decorations":557,"\u002Fdocs\u002Fguru\u002Fcustom-decorations-surround":846},[4,26,51,169,195,216,261],{"title":5,"path":6,"stem":7,"children":8,"page":25},"Getting Started","\u002Fdocs\u002Fgetting-started","1.docs\u002F1.getting-started",[9,13,17,21],{"title":10,"path":11,"stem":12},"Overview","\u002Fdocs\u002Fgetting-started\u002Foverview","1.docs\u002F1.getting-started\u002F01.overview",{"title":14,"path":15,"stem":16},"Installation","\u002Fdocs\u002Fgetting-started\u002Finstallation","1.docs\u002F1.getting-started\u002F02.installation",{"title":18,"path":19,"stem":20},"Interface","\u002Fdocs\u002Fgetting-started\u002Finterface","1.docs\u002F1.getting-started\u002F03.interface",{"title":22,"path":23,"stem":24},"Your First Tree","\u002Fdocs\u002Fgetting-started\u002Fyour-first-tree","1.docs\u002F1.getting-started\u002F04.your-first-tree",false,{"title":27,"path":28,"stem":29,"children":30,"page":25},"Core Concepts","\u002Fdocs\u002Fcore-concepts","1.docs\u002F2.core-concepts",[31,35,39,43,47],{"title":32,"path":33,"stem":34},"Simulation","\u002Fdocs\u002Fcore-concepts\u002Fsimulation","1.docs\u002F2.core-concepts\u002F04.simulation",{"title":36,"path":37,"stem":38},"Shaping","\u002Fdocs\u002Fcore-concepts\u002Fshaping","1.docs\u002F2.core-concepts\u002F08.shaping",{"title":40,"path":41,"stem":42},"Trunks & Meshing","\u002Fdocs\u002Fcore-concepts\u002Ftrunks-meshing","1.docs\u002F2.core-concepts\u002F12.trunks-meshing",{"title":44,"path":45,"stem":46},"Foliage & Instancing","\u002Fdocs\u002Fcore-concepts\u002Ffoliage-instancing","1.docs\u002F2.core-concepts\u002F13.foliage-instancing",{"title":48,"path":49,"stem":50},"Glossary","\u002Fdocs\u002Fcore-concepts\u002Fglossary","1.docs\u002F2.core-concepts\u002F14.glossary",{"title":52,"path":53,"stem":54,"children":55,"page":25},"Features","\u002Fdocs\u002Ffeatures","1.docs\u002F3.features",[56,68,80,104,113,137,145,161],{"title":57,"path":58,"stem":59,"children":60,"page":25},"Mapping","\u002Fdocs\u002Ffeatures\u002Fmapping","1.docs\u002F3.features\u002F01.mapping",[61,64],{"title":57,"path":62,"stem":63},"\u002Fdocs\u002Ffeatures\u002Fmapping\u002Foverview","1.docs\u002F3.features\u002F01.mapping\u002F01.overview",{"title":65,"path":66,"stem":67},"Mapping Cookbook","\u002Fdocs\u002Ffeatures\u002Fmapping\u002Fcookbook","1.docs\u002F3.features\u002F01.mapping\u002F02.cookbook",{"title":69,"path":70,"stem":71,"children":72,"page":25},"Effectors","\u002Fdocs\u002Ffeatures\u002Feffectors","1.docs\u002F3.features\u002F02.effectors",[73,76],{"title":69,"path":74,"stem":75},"\u002Fdocs\u002Ffeatures\u002Feffectors\u002Foverview","1.docs\u002F3.features\u002F02.effectors\u002F01.overview",{"title":77,"path":78,"stem":79},"Effectors Cookbook","\u002Fdocs\u002Ffeatures\u002Feffectors\u002Fcookbook","1.docs\u002F3.features\u002F02.effectors\u002F02.cookbook",{"title":81,"path":82,"stem":83,"children":84,"page":25},"Decorations","\u002Fdocs\u002Ffeatures\u002Fdecorations","1.docs\u002F3.features\u002F03.decorations",[85,88,92,96,100],{"title":81,"path":86,"stem":87},"\u002Fdocs\u002Ffeatures\u002Fdecorations\u002Foverview","1.docs\u002F3.features\u002F03.decorations\u002F01.overview",{"title":89,"path":90,"stem":91},"Surface Decoration","\u002Fdocs\u002Ffeatures\u002Fdecorations\u002Fsurface","1.docs\u002F3.features\u002F03.decorations\u002F02.surface",{"title":93,"path":94,"stem":95},"Trunk Decoration","\u002Fdocs\u002Ffeatures\u002Fdecorations\u002Ftrunk","1.docs\u002F3.features\u002F03.decorations\u002F03.trunk",{"title":97,"path":98,"stem":99},"Assembly Decoration","\u002Fdocs\u002Ffeatures\u002Fdecorations\u002Fassembly","1.docs\u002F3.features\u002F03.decorations\u002F04.assembly",{"title":101,"path":102,"stem":103},"Cluster Decoration","\u002Fdocs\u002Ffeatures\u002Fdecorations\u002Fcluster","1.docs\u002F3.features\u002F03.decorations\u002F05.cluster",{"title":105,"path":106,"stem":107,"children":108,"page":25},"Traits","\u002Fdocs\u002Ffeatures\u002Ftraits","1.docs\u002F3.features\u002F04.traits",[109],{"title":110,"path":111,"stem":112},"Trait System","\u002Fdocs\u002Ffeatures\u002Ftraits\u002Foverview","1.docs\u002F3.features\u002F04.traits\u002F01.overview",{"title":114,"path":115,"stem":116,"children":117,"page":25},"Materials","\u002Fdocs\u002Ffeatures\u002Fmaterials","1.docs\u002F3.features\u002F05.materials",[118,121,125,129,133],{"title":114,"path":119,"stem":120},"\u002Fdocs\u002Ffeatures\u002Fmaterials\u002Foverview","1.docs\u002F3.features\u002F05.materials\u002F01.overview",{"title":122,"path":123,"stem":124},"Surface Materials","\u002Fdocs\u002Ffeatures\u002Fmaterials\u002Fsurface","1.docs\u002F3.features\u002F05.materials\u002F02.surface",{"title":126,"path":127,"stem":128},"Atlas Materials","\u002Fdocs\u002Ffeatures\u002Fmaterials\u002Fatlas","1.docs\u002F3.features\u002F05.materials\u002F03.atlas",{"title":130,"path":131,"stem":132},"Copernicus","\u002Fdocs\u002Ffeatures\u002Fmaterials\u002Fcopernicus","1.docs\u002F3.features\u002F05.materials\u002F04.copernicus",{"title":134,"path":135,"stem":136},"Baking","\u002Fdocs\u002Ffeatures\u002Fmaterials\u002Fbake","1.docs\u002F3.features\u002F05.materials\u002F05.bake",{"title":138,"defaultOpen":25,"path":139,"stem":140,"children":141,"page":25},"Atlas Workflow","\u002Fdocs\u002Ffeatures\u002Fatlases","1.docs\u002F3.features\u002F06.atlases",[142],{"title":138,"path":143,"stem":144},"\u002Fdocs\u002Ffeatures\u002Fatlases\u002Foverview","1.docs\u002F3.features\u002F06.atlases\u002F01.overview",{"title":146,"defaultOpen":25,"path":147,"stem":148,"children":149,"page":25},"Scan Workflow","\u002Fdocs\u002Ffeatures\u002Fscans","1.docs\u002F3.features\u002F07.scans",[150,153,157],{"title":146,"path":151,"stem":152},"\u002Fdocs\u002Ffeatures\u002Fscans\u002Foverview","1.docs\u002F3.features\u002F07.scans\u002F01.overview",{"title":154,"path":155,"stem":156},"Trunk Extension","\u002Fdocs\u002Ffeatures\u002Fscans\u002Fextension","1.docs\u002F3.features\u002F07.scans\u002F02.extension",{"title":158,"path":159,"stem":160},"Baking for Scans","\u002Fdocs\u002Ffeatures\u002Fscans\u002Fbaking","1.docs\u002F3.features\u002F07.scans\u002F03.baking",{"title":162,"defaultOpen":25,"path":163,"stem":164,"children":165,"page":25},"Assembly Workflow","\u002Fdocs\u002Ffeatures\u002Fassemblies","1.docs\u002F3.features\u002F08.assemblies",[166],{"title":162,"path":167,"stem":168},"\u002Fdocs\u002Ffeatures\u002Fassemblies\u002Foverview","1.docs\u002F3.features\u002F08.assemblies\u002F01.overview",{"title":170,"defaultOpen":25,"path":171,"stem":172,"children":173,"page":25},"Unreal","\u002Fdocs\u002Funreal","1.docs\u002F4.unreal",[174,178,182],{"title":175,"path":176,"stem":177},"Take Your Tree to Unreal","\u002Fdocs\u002Funreal\u002Ftree-to-unreal","1.docs\u002F4.unreal\u002F01.tree-to-unreal",{"title":179,"path":180,"stem":181},"Wind for Unreal","\u002Fdocs\u002Funreal\u002Fwind","1.docs\u002F4.unreal\u002F02.wind",{"title":183,"defaultOpen":25,"path":184,"stem":185,"children":186,"page":25},"Nanite","\u002Fdocs\u002Funreal\u002Fnanite","1.docs\u002F4.unreal\u002Fnanite",[187,191],{"title":188,"path":189,"stem":190},"Working with Assemblies in Unreal","\u002Fdocs\u002Funreal\u002Fnanite\u002Fskeletal-assemblies","1.docs\u002F4.unreal\u002Fnanite\u002F01.skeletal-assemblies",{"title":192,"path":193,"stem":194},"Nanite Assemblies & Unreal Export","\u002Fdocs\u002Funreal\u002Fnanite\u002Ftroubleshooting","1.docs\u002F4.unreal\u002Fnanite\u002F02.troubleshooting",{"title":196,"path":197,"stem":198,"children":199,"page":25},"Guru","\u002Fdocs\u002Fguru","1.docs\u002F5.guru",[200,204,208,212],{"title":201,"path":202,"stem":203},"Extend Natsura","\u002Fdocs\u002Fguru\u002Fextend-natsura","1.docs\u002F5.guru\u002F01.extend-natsura",{"title":205,"path":206,"stem":207},"Building Your Own Decorations","\u002Fdocs\u002Fguru\u002Fcustom-decorations","1.docs\u002F5.guru\u002F02.custom-decorations",{"title":209,"path":210,"stem":211},"VEX","\u002Fdocs\u002Fguru\u002Fvex","1.docs\u002F5.guru\u002F03.vex",{"title":213,"path":214,"stem":215},"Make Your Own Tools","\u002Fdocs\u002Fguru\u002Fcustom-tools","1.docs\u002F5.guru\u002F04.custom-tools",{"title":217,"path":218,"stem":219,"children":220,"page":25},"Help","\u002Fdocs\u002Fhelp","1.docs\u002F6.help",[221,225,241,245,249,253,257],{"title":222,"path":223,"stem":224},"Commercial Use","\u002Fdocs\u002Fhelp\u002Fcommercial-use","1.docs\u002F6.help\u002F01.commercial-use",{"title":226,"path":227,"stem":228,"children":229,"page":25},"Install & Upgrade","\u002Fdocs\u002Fhelp\u002Finstall-upgrade","1.docs\u002F6.help\u002F02.install-upgrade",[230,233,237],{"title":14,"path":231,"stem":232},"\u002Fdocs\u002Fhelp\u002Finstall-upgrade\u002Foverview","1.docs\u002F6.help\u002F02.install-upgrade\u002F01.overview",{"title":234,"path":235,"stem":236},"Install Natsura (Package Method)","\u002Fdocs\u002Fhelp\u002Finstall-upgrade\u002Fpackage","1.docs\u002F6.help\u002F02.install-upgrade\u002F02.package",{"title":238,"path":239,"stem":240},"Upgrading","\u002Fdocs\u002Fhelp\u002Finstall-upgrade\u002Fupgrading","1.docs\u002F6.help\u002F02.install-upgrade\u002F03.upgrading",{"title":242,"path":243,"stem":244},"Troubleshooting","\u002Fdocs\u002Fhelp\u002Ftroubleshooting","1.docs\u002F6.help\u002F03.troubleshooting",{"title":246,"path":247,"stem":248},"Common Issues","\u002Fdocs\u002Fhelp\u002Fcommon-issues","1.docs\u002F6.help\u002F04.common-issues",{"title":250,"path":251,"stem":252},"FAQ","\u002Fdocs\u002Fhelp\u002Ffaq","1.docs\u002F6.help\u002F05.faq",{"title":254,"path":255,"stem":256},"Support","\u002Fdocs\u002Fhelp\u002Fsupport","1.docs\u002F6.help\u002F06.support",{"title":258,"path":259,"stem":260},"Contact","\u002Fdocs\u002Fhelp\u002Fcontact","1.docs\u002F6.help\u002F07.contact",{"title":262,"path":263,"stem":264,"children":265,"page":25},"Node Reference","\u002Fdocs\u002Fnodes","1.docs\u002F7.Nodes",[266,269,273,276,280,284,288,292,296,300,304,308,312,316,320,324,328,332,336,340,343,347,351,355,359,363,367,371,375,379,383,387,391,395,399,403,407,411,415,419,423,427,431,435,439,443,447,451,455,459,463,467,471,475,479,483,487,491,495,499,503,507,511,515,519,522,526,530,534,538,541,545,549,553],{"title":262,"path":267,"stem":268},"\u002Fdocs\u002Fnodes\u002Fnode-reference","1.docs\u002F7.Nodes\u002F0.node-reference",{"title":270,"path":271,"stem":272},"Ancestor Effector","\u002Fdocs\u002Fnodes\u002Fancestor-effector","1.docs\u002F7.Nodes\u002Fancestor-effector",{"title":97,"path":274,"stem":275},"\u002Fdocs\u002Fnodes\u002Fassembly-decoration","1.docs\u002F7.Nodes\u002Fassembly-decoration",{"title":277,"path":278,"stem":279},"Assembly Edit","\u002Fdocs\u002Fnodes\u002Fassembly-edit","1.docs\u002F7.Nodes\u002Fassembly-edit",{"title":281,"path":282,"stem":283},"Assembly Pack","\u002Fdocs\u002Fnodes\u002Fassembly-pack","1.docs\u002F7.Nodes\u002Fassembly-pack",{"title":285,"path":286,"stem":287},"Assembly Resource","\u002Fdocs\u002Fnodes\u002Fassembly-resource","1.docs\u002F7.Nodes\u002Fassembly-resource",{"title":289,"path":290,"stem":291},"Atlas 3D","\u002Fdocs\u002Fnodes\u002Fatlas-3d","1.docs\u002F7.Nodes\u002Fatlas-3d",{"title":293,"path":294,"stem":295},"Atlas Emboss","\u002Fdocs\u002Fnodes\u002Fatlas-emboss","1.docs\u002F7.Nodes\u002Fatlas-emboss",{"title":297,"path":298,"stem":299},"Atlas Import","\u002Fdocs\u002Fnodes\u002Fatlas-import","1.docs\u002F7.Nodes\u002Fatlas-import",{"title":301,"path":302,"stem":303},"Atlas Layout","\u002Fdocs\u002Fnodes\u002Fatlas-layout","1.docs\u002F7.Nodes\u002Fatlas-layout",{"title":305,"path":306,"stem":307},"Atlas Material","\u002Fdocs\u002Fnodes\u002Fatlas-material","1.docs\u002F7.Nodes\u002Fatlas-material",{"title":309,"path":310,"stem":311},"Atlas Mesh","\u002Fdocs\u002Fnodes\u002Fatlas-mesh","1.docs\u002F7.Nodes\u002Fatlas-mesh",{"title":313,"path":314,"stem":315},"Atlas Remesh","\u002Fdocs\u002Fnodes\u002Fatlas-remesh","1.docs\u002F7.Nodes\u002Fatlas-remesh",{"title":317,"path":318,"stem":319},"Atlas Source","\u002Fdocs\u002Fnodes\u002Fatlas-source","1.docs\u002F7.Nodes\u002Fatlas-source",{"title":321,"path":322,"stem":323},"Atlas Trace","\u002Fdocs\u002Fnodes\u002Fatlas-trace","1.docs\u002F7.Nodes\u002Fatlas-trace",{"title":325,"path":326,"stem":327},"Atlas Wizard","\u002Fdocs\u002Fnodes\u002Fatlas-wizard","1.docs\u002F7.Nodes\u002Fatlas-wizard",{"title":329,"path":330,"stem":331},"Bake","\u002Fdocs\u002Fnodes\u002Fbake","1.docs\u002F7.Nodes\u002Fbake",{"title":333,"path":334,"stem":335},"Build Assembly Rig","\u002Fdocs\u002Fnodes\u002Fbuild-assembly-rig","1.docs\u002F7.Nodes\u002Fbuild-assembly-rig",{"title":337,"path":338,"stem":339},"Classify","\u002Fdocs\u002Fnodes\u002Fclassify","1.docs\u002F7.Nodes\u002Fclassify",{"title":101,"path":341,"stem":342},"\u002Fdocs\u002Fnodes\u002Fcluster-decoration","1.docs\u002F7.Nodes\u002Fcluster-decoration",{"title":344,"path":345,"stem":346},"Core Decoration","\u002Fdocs\u002Fnodes\u002Fcore-decoration","1.docs\u002F7.Nodes\u002Fcore-decoration",{"title":348,"path":349,"stem":350},"Create Proxy","\u002Fdocs\u002Fnodes\u002Fcreate-proxy","1.docs\u002F7.Nodes\u002Fcreate-proxy",{"title":352,"path":353,"stem":354},"Debug Tree Rig","\u002Fdocs\u002Fnodes\u002Fdebug-tree-rig","1.docs\u002F7.Nodes\u002Fdebug-tree-rig",{"title":356,"path":357,"stem":358},"Deflection Effector","\u002Fdocs\u002Fnodes\u002Fdeflection-effector","1.docs\u002F7.Nodes\u002Fdeflection-effector",{"title":360,"path":361,"stem":362},"Delay","\u002Fdocs\u002Fnodes\u002Fdelay","1.docs\u002F7.Nodes\u002Fdelay",{"title":364,"path":365,"stem":366},"Direction Effector","\u002Fdocs\u002Fnodes\u002Fdirection-effector","1.docs\u002F7.Nodes\u002Fdirection-effector",{"title":368,"path":369,"stem":370},"Effector (Custom Base)","\u002Fdocs\u002Fnodes\u002Feffector","1.docs\u002F7.Nodes\u002Feffector",{"title":372,"path":373,"stem":374},"Effector Template","\u002Fdocs\u002Fnodes\u002Feffector-template","1.docs\u002F7.Nodes\u002Feffector-template",{"title":376,"path":377,"stem":378},"Export Unreal Nanite Assembly","\u002Fdocs\u002Fnodes\u002Fexport-unreal-nanite-assembly","1.docs\u002F7.Nodes\u002Fexport-unreal-nanite-assembly",{"title":380,"path":381,"stem":382},"Create Graft Mesh","\u002Fdocs\u002Fnodes\u002Fgraft-mesh","1.docs\u002F7.Nodes\u002Fgraft-mesh",{"title":384,"path":385,"stem":386},"Gravity Effector","\u002Fdocs\u002Fnodes\u002Fgravity-effector","1.docs\u002F7.Nodes\u002Fgravity-effector",{"title":388,"path":389,"stem":390},"Grow","\u002Fdocs\u002Fnodes\u002Fgrow","1.docs\u002F7.Nodes\u002Fgrow",{"title":392,"path":393,"stem":394},"Grow Draw","\u002Fdocs\u002Fnodes\u002Fgrow-draw","1.docs\u002F7.Nodes\u002Fgrow-draw",{"title":396,"path":397,"stem":398},"Import Highpoly","\u002Fdocs\u002Fnodes\u002Fhighpoly-import","1.docs\u002F7.Nodes\u002Fhighpoly-import",{"title":400,"path":401,"stem":402},"Identify Shared Instances","\u002Fdocs\u002Fnodes\u002Fidentify-shared-instances","1.docs\u002F7.Nodes\u002Fidentify-shared-instances",{"title":404,"path":405,"stem":406},"Import Assembly","\u002Fdocs\u002Fnodes\u002Fimport-assembly","1.docs\u002F7.Nodes\u002Fimport-assembly",{"title":408,"path":409,"stem":410},"Import Props","\u002Fdocs\u002Fnodes\u002Fimport-props","1.docs\u002F7.Nodes\u002Fimport-props",{"title":412,"path":413,"stem":414},"Internal Nodes","\u002Fdocs\u002Fnodes\u002Finternal-nodes","1.docs\u002F7.Nodes\u002Finternal-nodes",{"title":416,"path":417,"stem":418},"Kill","\u002Fdocs\u002Fnodes\u002Fkill","1.docs\u002F7.Nodes\u002Fkill",{"title":420,"path":421,"stem":422},"Magnet Effector","\u002Fdocs\u002Fnodes\u002Fmagnet-effector","1.docs\u002F7.Nodes\u002Fmagnet-effector",{"title":424,"path":425,"stem":426},"Map","\u002Fdocs\u002Fnodes\u002Fmap","1.docs\u002F7.Nodes\u002Fmap",{"title":428,"path":429,"stem":430},"Map Attribute","\u002Fdocs\u002Fnodes\u002Fmap-attribute","1.docs\u002F7.Nodes\u002Fmap-attribute",{"title":432,"path":433,"stem":434},"Map Blend","\u002Fdocs\u002Fnodes\u002Fmap-blend","1.docs\u002F7.Nodes\u002Fmap-blend",{"title":436,"path":437,"stem":438},"Map Constant","\u002Fdocs\u002Fnodes\u002Fmap-constant","1.docs\u002F7.Nodes\u002Fmap-constant",{"title":440,"path":441,"stem":442},"Map If","\u002Fdocs\u002Fnodes\u002Fmap-if","1.docs\u002F7.Nodes\u002Fmap-if",{"title":444,"path":445,"stem":446},"Map Random","\u002Fdocs\u002Fnodes\u002Fmap-random","1.docs\u002F7.Nodes\u002Fmap-random",{"title":448,"path":449,"stem":450},"Mapping Template","\u002Fdocs\u002Fnodes\u002Fmapping-template","1.docs\u002F7.Nodes\u002Fmapping-template",{"title":452,"path":453,"stem":454},"Noise Effector","\u002Fdocs\u002Fnodes\u002Fnoise-effector","1.docs\u002F7.Nodes\u002Fnoise-effector",{"title":456,"path":457,"stem":458},"Pivot Edit","\u002Fdocs\u002Fnodes\u002Fpivot-edit","1.docs\u002F7.Nodes\u002Fpivot-edit",{"title":460,"path":461,"stem":462},"Prune","\u002Fdocs\u002Fnodes\u002Fprune","1.docs\u002F7.Nodes\u002Fprune",{"title":464,"path":465,"stem":466},"Repeat","\u002Fdocs\u002Fnodes\u002Frepeat","1.docs\u002F7.Nodes\u002Frepeat",{"title":468,"path":469,"stem":470},"Rig to Assembly","\u002Fdocs\u002Fnodes\u002Frig-to-assembly","1.docs\u002F7.Nodes\u002Frig-to-assembly",{"title":472,"path":473,"stem":474},"Scan Material","\u002Fdocs\u002Fnodes\u002Fscan-material","1.docs\u002F7.Nodes\u002Fscan-material",{"title":476,"path":477,"stem":478},"Scan Profiles","\u002Fdocs\u002Fnodes\u002Fscan-profiles","1.docs\u002F7.Nodes\u002Fscan-profiles",{"title":480,"path":481,"stem":482},"Scan Rig","\u002Fdocs\u002Fnodes\u002Fscan-rig","1.docs\u002F7.Nodes\u002Fscan-rig",{"title":484,"path":485,"stem":486},"Scan to Parts","\u002Fdocs\u002Fnodes\u002Fscan-to-parts","1.docs\u002F7.Nodes\u002Fscan-to-parts",{"title":488,"path":489,"stem":490},"Scan to Patch","\u002Fdocs\u002Fnodes\u002Fscan-to-patch","1.docs\u002F7.Nodes\u002Fscan-to-patch",{"title":492,"path":493,"stem":494},"Scan to Tube","\u002Fdocs\u002Fnodes\u002Fscan-to-tube","1.docs\u002F7.Nodes\u002Fscan-to-tube",{"title":496,"path":497,"stem":498},"Seed Points","\u002Fdocs\u002Fnodes\u002Fseed-points","1.docs\u002F7.Nodes\u002Fseed-points",{"title":500,"path":501,"stem":502},"Select Decoration","\u002Fdocs\u002Fnodes\u002Fselect-decoration","1.docs\u002F7.Nodes\u002Fselect-decoration",{"title":504,"path":505,"stem":506},"Signal","\u002Fdocs\u002Fnodes\u002Fsignal","1.docs\u002F7.Nodes\u002Fsignal",{"title":508,"path":509,"stem":510},"Simplify Tree Rig and Skin","\u002Fdocs\u002Fnodes\u002Fsimplify-tree-rig-and-skin","1.docs\u002F7.Nodes\u002Fsimplify-tree-rig-and-skin",{"title":512,"path":513,"stem":514},"Simulate","\u002Fdocs\u002Fnodes\u002Fsimulate","1.docs\u002F7.Nodes\u002Fsimulate",{"title":516,"path":517,"stem":518},"Split","\u002Fdocs\u002Fnodes\u002Fsplit","1.docs\u002F7.Nodes\u002Fsplit",{"title":89,"path":520,"stem":521},"\u002Fdocs\u002Fnodes\u002Fsurface-decoration","1.docs\u002F7.Nodes\u002Fsurface-decoration",{"title":523,"path":524,"stem":525},"Surface Resource","\u002Fdocs\u002Fnodes\u002Fsurface-resource","1.docs\u002F7.Nodes\u002Fsurface-resource",{"title":527,"path":528,"stem":529},"Surface Wizard","\u002Fdocs\u002Fnodes\u002Fsurface-wizard","1.docs\u002F7.Nodes\u002Fsurface-wizard",{"title":531,"path":532,"stem":533},"Switch","\u002Fdocs\u002Fnodes\u002Fswitch","1.docs\u002F7.Nodes\u002Fswitch",{"title":535,"path":536,"stem":537},"Treeparameterize","\u002Fdocs\u002Fnodes\u002Ftreeparameterize","1.docs\u002F7.Nodes\u002Ftreeparameterize",{"title":93,"path":539,"stem":540},"\u002Fdocs\u002Fnodes\u002Ftrunk-decoration","1.docs\u002F7.Nodes\u002Ftrunk-decoration",{"title":542,"path":543,"stem":544},"Unreal Wizard (Deprecated)","\u002Fdocs\u002Fnodes\u002Funreal-wizard","1.docs\u002F7.Nodes\u002Funreal-wizard",{"title":546,"path":547,"stem":548},"Wind Config","\u002Fdocs\u002Fnodes\u002Fwind-config","1.docs\u002F7.Nodes\u002Fwind-config",{"title":550,"path":551,"stem":552},"Wind Previs","\u002Fdocs\u002Fnodes\u002Fwind-previs","1.docs\u002F7.Nodes\u002Fwind-previs",{"title":554,"path":555,"stem":556},"Wrangle","\u002Fdocs\u002Fnodes\u002Fwrangle","1.docs\u002F7.Nodes\u002Fwrangle",{"id":558,"title":205,"body":559,"description":831,"extension":832,"meta":833,"navigation":843,"path":206,"seo":844,"stem":207,"__hash__":845},"docs\u002F1.docs\u002F5.guru\u002F02.custom-decorations.md",{"type":560,"value":561,"toc":815},"minimark",[562,580,583,588,593,596,612,615,619,625,657,660,664,669,672,684,688,691,698,702,709,715,719,724,741,744,748,774,778,785,788,792],[563,564,565,566,569,570,569,572,569,574,576,577,579],"p",{},"The four built-in decorations (",[567,568,93],"a",{"href":539},", ",[567,571,89],{"href":520},[567,573,101],{"href":341},[567,575,97],{"href":274},") cover the common meshing cases. When they don't fit (custom meshing logic, a specialised proxy decoration, a debug visualisation overlay, a decoration that consumes a project-specific attribute), the way forward is to author your own decoration on top of ",[567,578,344],{"href":345},".",[563,581,582],{},"This is a technical workflow. The constraints come from Natsura's compiled-graph runtime: decorations are stored and executed as compiled SOP networks, which forces a particular discipline around how nodes are wired and how parameters are passed. The payoff is portability (a custom decoration can be saved as geometry and loaded into another scene) and performance (compiled execution is cheaper than ad-hoc SOPs at cook time).",[563,584,585,586,579],{},"For the broader system this fits inside, see ",[567,587,81],{"href":86},[589,590,592],"h2",{"id":591},"when-to-build-your-own","When to build your own",[563,594,595],{},"Cases the four built-in decorations don't cover:",[597,598,599,603,606,609],"ul",{},[600,601,602],"li",{},"A specialised proxy decoration for gameplay collision or LOD that needs custom geometry per internode.",[600,604,605],{},"A debug visualisation overlay (markers, vectors, frame axes) tied to specific tree attributes.",[600,607,608],{},"A decoration that consumes a project-specific attribute (a damage attribute, a per-internode infestation flag, a custom stress tensor) and routes its output accordingly.",[600,610,611],{},"A meshing approach for an organ that none of the standard decorations handle directly (fruit, thorns, spines, distinct cap geometry).",[563,613,614],{},"If the built-in decorations cover the case but at the wrong density or with the wrong parameters, a custom decoration is overkill; lean on the existing parameter surfaces first.",[589,616,618],{"id":617},"what-a-decoration-is-technically","What a decoration is, technically",[563,620,621,622,624],{},"Recap from ",[567,623,81],{"href":86},":",[597,626,627,637,644,654],{},[600,628,629,630,634,635,579],{},"A decoration is a ",[631,632,633],"strong",{},"compiled SOP graph"," stored as geometry, so it can be invoked later by ",[567,636,512],{"href":513},[600,638,639,640,643],{},"The graph is ",[631,641,642],{},"portable",": it can be saved (for example as bgeo) and loaded into another scene and still evaluate.",[600,645,646,647,650,651,653],{},"Decoration parameters are passed in as ",[631,648,649],{},"geometry primitives"," (similar in spirit to ",[567,652,57],{"href":62},"), so parameter changes don't trigger recompilation.",[600,655,656],{},"VEX inside the decoration reads the primitives and turns them into attributes that drive verbs (Sweep, Copy, Deform, and so on).",[563,658,659],{},"Each of these properties imposes constraints on what you can put inside a custom decoration.",[589,661,663],{"id":662},"the-constraints","The constraints",[665,666,668],"h3",{"id":667},"compilation","Compilation",[563,670,671],{},"The compiled-graph runtime requires that the network compile to a self-contained, attribute-driven structure. Changing the structure (adding or removing nodes) forces a recompile and reattachment. Parameter changes do not, because parameters arrive as primitives rather than as direct UI references.",[563,673,674,675,678,679,683],{},"The practical rule: ",[631,676,677],{},"no relative channel references to regular SOP nodes inside the compiled graph",". A reference to ",[680,681,682],"code",{},"..\u002Ffoo\u002Fvalue"," will break when the graph is loaded somewhere else. Drive behaviour via attributes and VEX instead.",[665,685,687],{"id":686},"verbs-and-vex","Verbs and VEX",[563,689,690],{},"Most native Houdini verbs (Sweep, Copy, Deform, Resample, and so on) cooperate with the compiled-graph framework. Non-verbs and non-compilable nodes are less cooperative; they either won't compile or will compile in a way that loses portability.",[563,692,693,694,697],{},"Practical rule: ",[631,695,696],{},"work with verbs and VEX",". When you reach for a node that isn't a verb, check whether the same effect is achievable through a verb plus attribute setup.",[665,699,701],{"id":700},"parameters-as-primitives","Parameters as primitives",[563,703,704,705,708],{},"To keep recompilation cheap, decoration parameters are not direct UI links. They are passed in as geometry primitives. VEX inside the decoration reads them with ",[680,706,707],{},"primuv()"," or parameter-dictionary calls, then writes attributes that drive the verbs.",[563,710,711,712,714],{},"This is the same pattern used for ",[567,713,57],{"href":62}," parameters. The decoration's UI on the outside looks like a normal parameter pane; what's happening underneath is a primitive-based handoff.",[589,716,718],{"id":717},"starting-from-core-decoration","Starting from Core Decoration",[563,720,721,723],{},[567,722,344],{"href":345}," is the template. The expected shape:",[597,725,726,732],{},[600,727,728,731],{},[631,729,730],{},"Input 0: Graph."," The growth graph carrying the skeleton and its attributes.",[600,733,734,737,738,740],{},[631,735,736],{},"Output: Graph."," The graph with your decoration instructions appended, ready for the next node downstream or for ",[567,739,512],{"href":513}," to execute.",[563,742,743],{},"Inside the wrapper, you author the SOP network that consumes the Natsura skeleton and attributes and produces the meshes you need. The deferred-generation pattern means your network doesn't produce geometry directly; it produces instructions that Simulate executes later, in the right order, with the right context.",[589,745,747],{"id":746},"design-principles","Design principles",[597,749,750,756,762,768],{},[600,751,752,755],{},[631,753,754],{},"Attribute-driven, not node-coupled."," Read attributes from the input graph. Write attributes onto your intermediate streams. Use those attributes to drive verb parameters.",[600,757,758,761],{},[631,759,760],{},"Read primitives in VEX, write attributes, drive verbs."," This is the standard pattern. Parameter primitives enter the network, VEX translates them into per-point or per-internode attributes, verbs read those attributes to do the work.",[600,763,764,767],{},[631,765,766],{},"Avoid non-compilable nodes."," When in doubt, check whether the node has a verb equivalent.",[600,769,770,773],{},[631,771,772],{},"Avoid relative channel references."," Anything that depends on a specific node path will break the portability promise.",[589,775,777],{"id":776},"looking-forward","Looking forward",[563,779,780,781,784],{},"The compiled-SOP-graph approach is the current authoring path. Longer-term, ",[631,782,783],{},"authoring APEX graphs directly for decorations is planned",", which will let APEX users skip the SOP-side compilation discipline. The constraints above will still apply where they reflect the fundamental compiled-execution model; the authoring surface will change.",[563,786,787],{},"More templates and worked examples will follow as the custom-decoration pattern matures. Track the recording-prompts queue.",[589,789,791],{"id":790},"related","Related",[597,793,794,800,805,810],{},[600,795,796,799],{},[567,797,798],{"href":86},"Decorations (concept)",". The broader decoration system that custom decorations sit inside.",[600,801,802,804],{},[567,803,344],{"href":345},". The template you start from.",[600,806,807,809],{},[567,808,57],{"href":62},". The sibling framework for scalar parameters via primitives, which custom decorations rely on.",[600,811,812,814],{},[567,813,554],{"href":555},". The artist-facing VEX surface, useful for prototyping the attribute logic that your decoration will codify.",{"title":816,"searchDepth":817,"depth":817,"links":818},"",2,[819,820,821,827,828,829,830],{"id":591,"depth":817,"text":592},{"id":617,"depth":817,"text":618},{"id":662,"depth":817,"text":663,"children":822},[823,825,826],{"id":667,"depth":824,"text":668},3,{"id":686,"depth":824,"text":687},{"id":700,"depth":824,"text":701},{"id":717,"depth":817,"text":718},{"id":746,"depth":817,"text":747},{"id":776,"depth":817,"text":777},{"id":790,"depth":817,"text":791},"How to author custom decorations: the constraints, the data model, and the design principles that keep them compilable and portable.","md",{"tags":834,"sidebar":841},[835,836,837,838,839,840],"natsura","decorations","custom","authoring","advanced","concept",{"label":842},"Custom Decorations",true,{"title":205,"description":831},"kNunBgB6e9w3nROrZEcu3Vi3nhyS1qgzx0c5P4Cdj9w",[847,849],{"title":201,"path":202,"stem":203,"description":848,"children":-1},"Natsura is built to be opened up and extended. Author your own decorations, write custom effectors and wrangles, define custom maps, and compose your own tools out of the core verbs.",{"title":209,"path":210,"stem":211,"description":850,"children":-1},"VEX is the common language for extending Natsura's growth: computing custom effector fields, authoring attributes and gates with wrangles, and exposing custom mappable parameters.",1780555254894]