For scalars, Natsura uses Mappings: a general mechanism for turning attributes into parameter controls, so users can build their own sliders instead of relying on fixed UIs.
Effectors exist to provide the same general mechanism for vectors:
a way to carry directional and spatial information per point, without needing new parameters or node types every time someone wants a new type of control.
Effectors provide reusable vector channels that other nodes can read.
They can be used to:
They carry information; behaviour comes from how that information is read and mapped into parameters.
At the technical level, an effector is:
v@eff_dir, v@eff_curve, v@eff_wind).Natsura Wrangle, etc.).There is no special effector data type.
Effectors are ordinary attributes that the system treats as directional / influence channels by convention.
In a typical setup:
Effectors provide raw vectors; mappings and node logic define how that data shapes growth.
Effectors can come from several places:
These attributes can be treated as effectors and reused throughout the graph.
Examples (existing / planned) include gravitropism, phototropism, thigmotropism, curve attraction, attractors/magnets, noise fields, and wind fields.
Internally, they all follow the same pattern: compute a vector → write a vector attribute.
Natsura Wrangle// Natsura Wrangle example
vector up = {0,1,0};
vector noise = snoise(@P * ch("freq"));
v@eff_custom = normalize(up + noise * ch("amp"));
This creates a custom effector eff_custom.
From the system’s point of view, it is equivalent to any built-in effector.
Effectors are stored per point:
This inheritance is simple but important.
Example:
Result: branches follow the trunk’s direction instead of having their own curve-relative vectors.
To give branches their own behaviour, the effector must be computed explicitly on those branch points as well.
Natsura evaluates graphs in a deferred way: you build an engine that runs later, instead of a strictly top-to-bottom SOP chain.
Effectors follow the normal attribute flow:
Effectors do not use a separate data path; they are part of the standard attribute system.
Sometimes it is useful to read an effector not only from the current point but from its ancestors in the growth hierarchy.
Natsura provides tools to:
This enables:
This is still based on attributes; ancestor access simply chooses which point’s attribute to read.
When an effector appears to have no effect, it is usually an attribute or mapping issue. Check:
If all of the above are correct, the effector is behaving as designed; further adjustments belong in how it is read or mapped.