GroomLab app
Groom, look-dev and export without Maya. Coming soon.
Coming soon
The standalone app is in preview and not released yet. This page describes the current build; details may change before release.
The GroomLab app grooms, lights and exports a groom without Maya. It runs the same core as the
Maya plugin, so a .groom file looks the same in both.
Open a groom
With nothing open, the middle of the window offers Open groom, New groom on mesh and your recent files.
- File > Open Groom... (Ctrl+O) opens a
.groomfile, saved here or from Maya. - File > New Groom on Mesh... (Ctrl+N) starts a groom on an
.objor.abcmesh, with the default graph and no guides. An animated Alembic mesh stays animated: it becomes the groom's scalp cache. - Or drop a
.groom,.objor.abcfile on the window.
File > Reload from File (Ctrl+R) reads the saved file again. Tools > Transfer Groom to Mesh... moves the groom onto another mesh.
The layout
The viewport fills the window. Everything else floats over it.
| Where | What |
|---|---|
| Top left | The menu button (File, Edit, View, Tools, Help) and the file name. A dot means unsaved edits. |
| Top center | The modes: Groom, Look, Cards and Export. |
| Top right | Undo, redo and Render. |
| Left | The brush rail: every brush, then Select (Groom mode). |
| Right | The panel rail (Groom mode): Guide groups, Nodes, Maps, Correctives, Look, Display and Frame all. |
| Bottom | The brush bar (Groom mode), the stats, and the Graph and Presets pills. |
Both rails widen under the mouse to name each button, then shrink back. Nothing else moves.
Each panel button opens a floating panel beside it; click it again to close it. Two more panels open on their own: Brush, from the brush bar's settings button, and Node, when you select a node in the graph.
A timeline shows at the bottom when the groom animates: a scalp or guide cache, or a graph that reads the time. It plays, scrubs and loops, and Follow carries the groom with the scalp. With a Simulate node in the graph it also has Simulate, Bake and Clear.
Groom with brushes
Pick a brush on the left rail. The rail holds the same brushes as Maya, in the same order: Create, Shape, Trim and Paint, then Select and Freeze. See Guides and brushes for what each does.
- Drag on the groom to stroke. Ctrl reverses the brush; Shift smooths.
- Freeze paints a mask the other brushes leave alone; frozen guides draw blue. Ctrl
unfreezes. To unfreeze everything, remove the
freezemap in the Maps panel. - Shift+click a guide to brush its level; Page Up and Page Down step it.
- Hold B and drag, or middle-drag, to set the radius. Shift+middle-drag sets the strength.
- Alt with any mouse button moves the camera, whatever the tool.
- Esc leaves the brush for the camera.
The brush bar at the bottom holds the radius, strength, falloff, Sym X and pen pressure. Its settings button opens the Brush panel with every setting.
Guide groups lists the groups. Untick one to hide it, double-click to rename it. Its buttons add a root or child group, generate children, select or remove a group, delete the selected guides, mirror a group +X → -X, sync symmetry, promote a group and resample guides. The parts and flow the Part and Flow brushes drew are listed there too.
The node graph
Press Tab or click the Graph pill. The graph draws over the viewport, so you see the groom between the nodes.
- Tab over the graph searches for a node to add. Enter adds it, wired after the selected node when their ports match.
- Drag from an output port to an input to wire them. Drag a wire off an input to disconnect it.
- Click a node to select it; its params open in the Node panel.
- Right-click a node to rename, duplicate, bypass or delete it, or make it the output. Right-click the canvas to add a node, tidy the layout or fit the view.
- Drag empty space to pan; scroll to zoom. Alt+drag still moves the camera.
Close the graph with Esc, the close button beside the pills, or by clicking a mode. Each edit is one undo step. See Node graph for the nodes.
Presets
The Presets pill (or View > Graph Presets) lists the presets by category. Hover one for its description. Each preset has two choices:
- Apply replaces the graph with the preset.
- Insert after selected node keeps your graph and adds the preset's look as one Compound node after the selected node, or before the output when nothing is selected.
Either way the preset's sizes are fitted to your scalp, the maps it reads are made, and it is one undo step. The same menu has Save as Preset..., Copy Graph and Paste Graph: a graph as text you can share or paste onto another groom. See Presets.
Parameters
Click a node in the Nodes panel or in the graph to edit it.
- Params are grouped under headers you can fold. Rarely used ones sit in Advanced at the bottom, folded.
- A row hides when its setting does nothing, and shows again when it would.
- Numbers show their unit: a percentage, degrees, turns, seconds or pixels.
- Ramps get a curve editor. Mappable params can read a value, a painted map, a texture, a color set, an expression or a field.
- Bypass turns the node off for a with/without comparison.
- Upgrade shows beside the title when the node was saved with an older version of its operator. It switches the node to the newest behaviour, as one undo step.
Dragging a slider updates the groom while you drag; with GPU preview on (Display panel), the GPU draws the drag and the release commits it.
Painting maps
Open Maps. New map makes a vertex map, a texture map or a guide layer, gray or color. Pick a map and click Paint this map: the brush paints toward the value or color you set, Ctrl the other way. Show on scalp draws the map on the scalp.
A mappable param's Paint pill does it in one step: it makes a map for that param, connects it and starts painting it. Strokes lower the value; Ctrl raises it. See Painting maps.
Correctives
Correctives holds shot-sculpt layers over the animated groom. New layer applies on every frame; Fix this frame applies fully at the current frame, fading in and out over six frames. Pick a layer under Sculpt into and your strokes go into it instead of the guides.
Look
Look mode shows the look card, with three tabs:
- Material: hair color swatches (the groom's own, black, brown, blonde, red, white, dyed) and the melanin, redness and roughness sliders. These edit the groom's HairColor node, so they save with the groom. More settings shows every hair material setting and the surfaces (scalp, props, eyes).
- Lighting: presets (studio, daylight, overcast, sunset, rim), exposure, the lights, an environment, the tone map and the background.
- Render: interactive or refine quality, refine samples and resolution scale.
Render at the top right refines the picture from scratch: the viewport keeps adding frames until it converges. The Look panel on the right rail holds every look setting, texture files included.
Display (right rail) sets what the viewport draws: preview density, the point budget, lookdev shading, GPU preview, strand colors (solid, color set, attribute, random, clump, density), guides, the scalp and a map on the scalp. The point budget starts at 300k points so big grooms stay fast; set it to 0 for no limit.
Game cards
Cards mode turns the groom into hair cards. Click Add Cards node if the graph has none.
- Strands or Cards switches what the viewport shows. Maps shows the baked maps on the cards, cut out by their coverage as in Maya and in a game engine. Before a bake the cards are flat.
- LOD picks Hero, Mid, Low or Custom. Sliders set clusters, cards per clump, layers, width, segments, variations, the atlas size and a card budget.
- Bake maps writes the cards' maps (depth, coverage, tangent, attribute, color, occlusion) as
TGA files in a
_cardsfolder beside the saved groom file. The baked atlas shows in the panel.
The panel counts the cards, triangles and textures, and says when the cards changed since the bake. See Game export.
Export
Export mode (Ctrl+E) writes the groom out. Pick a target:
| Target | What you get |
|---|---|
| Alembic curves | Every strand with its ID, channels, color and root UV. |
| USD curves | BasisCurves in a text .usda layer. |
| Unreal groom | Alembic for Unreal's groom importer, with the guides it simulates. |
| Cards (glTF) | The cards at this frame as .glb (or .gltf), maps inside, with the hair cap. |
| Unity strands | Alembic for Unity's hair package, resampled to a fixed point count. |
Set the frames (the current one, or a range for an animated groom), the density and the target's options, then the output file (type it, or pick it with ...). Export shows its progress and can be cancelled. FBX cards come from Maya.
Exports need a license: in Learning mode the app opens Help > License... instead, where a key is activated (or bought). See Licensing.
Save and open in Maya
File > Save (Ctrl+S) and Save As... (Ctrl+Shift+S) write a .groom file: the graph,
guides, scalp, maps, parts, flow and correctives. Export mode has Save and Save as... too.
In Maya, choose GroomLab > Groom Files > Import Groom File.... Select the scalp mesh first if the scene has it, or let GroomLab make the scalp from the file. To bring later edits into a groom linked to the file, save in the app, then choose GroomLab > Groom Files > Reload from Groom File in Maya: one undo step. See The .groom format.
Keyboard shortcuts
Help > Keyboard Shortcuts shows the same list in the app.
| Keys | What it does |
|---|---|
| Ctrl+O | Open a groom |
| Ctrl+N | New groom on a mesh |
| Ctrl+S / Ctrl+Shift+S | Save / Save as |
| Ctrl+R | Reload from the file |
| Ctrl+E | Export |
| Ctrl+Z / Ctrl+Y | Undo / Redo |
| Tab | The node graph (over it: add a node) |
| Esc | Close the graph; leave the brush |
| F | Frame all (over the graph: fit it) |
| B | The brush (B+drag: the radius) |
| S | Select guides |
| Shift+middle-drag | The brush strength |
| Ctrl / Shift (stroke) | The opposite effect / smooth |
| Page Up / Page Down | The brush level |
| Alt+drag | Orbit (with any tool) |
| Delete | The selected guides, node or wire |
| Ctrl+D / Ctrl+L (graph) | Duplicate the node / tidy the layout |