Presets
Ready-made looks, and small graphs that each teach one idea.
Load one
In the Graph Editor, Presets lists them by category. Hover a preset for a one-line picture of the look; pick it to load its graph, laid out left to right (backdrops name the branches of the technique presets).
-
They fit your scalp. Presets are made on a 20 cm head. On a bigger or smaller scalp, lengths and widths scale with it, densities with its area and curls per centimeter the other way, so the look is the same on a test sphere.
-
They need guides. Most shape the hair from your guides: draw or comb a few first. The fur presets marked "no guides" follow flow arrows instead.
-
Node names explain themselves.
frizzNoiseis a Noise on a fraction of the strands (frizz is a Noise setting, not a node of its own);curlsControlis a slider on the groom. -
Insert instead of replace. Each preset's submenu has Apply (the preset replaces the graph) and Insert after selected node: the preset's look, every node between its sources and its Output, becomes one Compound after the node you picked (or before the Output), fitted to your scalp, in one undo step. The Add-ons below are small looks made for it.
-
An inserted look reads as one node. The Compound shows the look's key controls on its own panel (clump strength and count, noise, curl, color, width... whatever the preset uses), with the same groups, units and sliders as the nodes inside, so you tweak the look without diving in. Edit, key or save them like any param; they set the nodes inside.
Hair
| Preset | What it shows |
|---|---|
hair_basics | The chain every groom builds on: Scatter, Interpolate, clumps, noise, color, width. |
cinematic_hair | Hero hair: two clump levels, frizz on a few strands, flyaways, color variation. |
wet_hair | Tight nested clumps and Tangle. |
curly | Curl on clumped hair, and the segments curls need. |
braids | Box braids with nothing to draw: AutoClump's centers become braids. |
parted_style | A part drawn with the Part tool, respected by Interpolate and Clump. |
sleek_long | Long, straight, glossy hair: hangs under its weight, soft broad clumps, almost no frizz. Draw long guides. |
mens_cut | A short cut, fuller on top and tapered at the sides and nape (the taper expression's sides). |
coily | Type 4 coils: tight locks coiled together, kinky frizz, volume at the root. |
ponytail | Every strand gathered into one tail tied high on the back of the head (tieSpot). |
beard | A full, coarse, slightly wiry beard, no guides. Apply it to a scalp cut from the beard area. |
brows | Short brow hairs sweeping out from the nose, no guides. Apply it to a scalp cut from the brows. Lashes need a lid scalp of their own. |
ponytail and brows assume the usual head orientation: Y up, the face looking down +Z.
Fur
| Preset | What it shows |
|---|---|
clumped_fur | Dense short fur from guides, in many small clumps. |
creature_fur | Fur laid by flow arrows (no guides), soft tufts, lighter tips. |
whiskers_part | Whiskers from guides, and the fur parted around each whisker root by a Clump with a negative strength. |
agouti_fur | The creature fur in wild-type bands: dark roots, a pale band, black tips, a plain undercoat. |
vellus_flow | Peach fuzz from flow arrows (no guides). |
flow_with_guides | Flow everywhere, guides only for tufts and accents. |
long_haired_dog | A long, silky coat hanging in soft waves, lighter at the tips. |
wool | Dense, crimped fleece in springy locks, no guides. |
mane_tail | A horse's mane or tail: long, coarse, heavy locks from guides. |
Feathers
feathers_contour, feathers_down, feathers_flight, feathers_afterfeather and
feathers_barred (bars, iridescence and a downy base: Color patterns):
one design each, as a Compound with its main params exposed. feathers_afterfeather shows branching inside
a design: the vane, a fluffy base and its barbules are three Propagates on the same shafts, each
with its own HairColor, joined by Merge. See Fur & feathers.
Scales
| Preset | What it shows |
|---|---|
dragon_scales | Scales laid out by strands: combed down the body, bigger on the back, green with darker tips, keeled plates on the back and shields on the belly, tiled and bent onto the skin. |
scales_from_guides | Scales pointed by your guides through Interpolate: comb or brush the guides and the scales turn with them. A Comb lays them down the body until you place guides. |
scales_from_flow | Scales pointed by flow arrows, no guides: draw flow arrows with the Flow tool and the scales follow. |
swept_spikes | Spikes or quills that bend with the guides: long, narrow plates in Instance's follow strand, based on the skin and bent along their strands' curves. |
Motion and games
| Preset | What it shows |
|---|---|
wind_and_jiggle | Wind and Jiggle after the look, before Collide. Play the timeline. |
underwater_hair | A Simulate node with water: hair floating and drifting in a current, its wetness tightening the clumps and darkening it. Set waterLevel to your water. |
everyday_sim | Shoulder-length hair whose guides are simulated with calm settings. Play the timeline. |
game_cards | A Cards node at the mid level of detail: Show cards, Bake Maps, export. |
feather_cards | Contour feathers carded one strip per feather, ready to bake and export. |
card_lods | One groom carded at the hero, mid and low levels of detail; the heroOrMid and lod switches pick one. |
Techniques
| Preset | What it shows |
|---|---|
blend_two_looks | Blend mixes a sleek and a curly look; its amount is the keyable ctl_curls. Key it to animate. |
merge_layers | A sparse layer of longer strands with its own Scatter, merged onto the base. |
switch_variations | Switch picks a hero look or a light one (a third of the strands) by its index. |
painted_maps | One color map, three masks: R clumps, G frizz, B length. The map is made for you. |
expression_driven | Expressions: longer hair at the crown (a keyable variable), harder clumps on long strands. |
compound_reuse | A Compound with exposed params: a look packed into one reusable node. |
instances | Snowflakes on the strands with the Instance node. |
leaves_on_strands | A leaf per strand, sized to span it (sizeMode fitStrand). Pick your leaf with Prototype from Selection. |
secondary_clumps | Strands grown in the graph become clump centers (procedural guides). |
Add-ons
Small looks meant for Insert after selected node: each adds one thing to whatever groom you have. They load on their own too.
| Preset | What it adds |
|---|---|
wet | Tight clumps and a darker color: hair just out of the water. |
frizz | Kinky noise on a share of the strands, growing toward the tips. |
flyaways | A few strands leave the flow near the tip and stand out. |
cards_mid | A Cards node at the mid level of detail; insert it before the Output. |
gravity | Strands hang under their weight, stiff at the root and kept off the scalp. |
Save your own
Presets > Save as Preset... saves the graph, its layout and its compounds to your presets folder. Yours appear at the top level of the menu. From Python:
from groomlab import presets
presets.save_preset(groom, "my_look", about={"title": "My look", "category": "Hair",
"description": "Wavy, for the lead."})
presets.apply_preset(other_groom, "my_look")A studio can share presets through GROOMLAB_PRESET_PATH.
Choose what an inserted preset shows
A preset file may list the params its Compound shows when inserted, in an "exposed" field:
"exposed": [
{"node": "clump", "param": "strength", "name": "clumpStrength"},
{"node": "color", "param": "melanin", "name": "melanin"},
{"node": "width", "param": "width"}
]Each entry names a node of the look and one of its params; name is what the Compound calls it
(the param's own name when left out, or node and param together, clumpStrength, when the
Compound has that name already). Entries naming a node outside the look (its Scatter or Guides)
are skipped. The panel lists them in the look's order, each with its node's slider range, unit
and group. Every shipped preset with a look lists 1 to 8.
A preset without the list (yours, saved from a graph) still shows a few: one param per look node for up to six nodes, clumps, curls, noise, braids, tangles, flyaways, gravity, combs, length, color and width first, each node's first plain number param (not an advanced one, and not one read from a map, a port or a key).
Share a look as text
Presets > Copy Graph puts the groom's look on the clipboard as text: the preset Save as
Preset writes, titled after the groom, in the "Shared" category, plus its control values
("controls"). Paste it in a chat, a forum or an email.
- Paste Graph puts copied text on the groom shown, fitted to its scalp, in one undo step.
Text in a code block (
```json) works too. - Saved as a
.jsonfile in a presets folder, the text is a preset like any other: it shows under Shared, and loading it sets the control values too. - What does not travel: painted maps, keys, files and scene meshes stay on the machine that made them. The status bar names what this groom lacks; those nodes use their defaults.
text = groomlab.copy_graph_text(groom)
report = groomlab.paste_graph_text(other_groom, text)
print(report["message"])