Introduction
The Roll Hair Curves preset in Blender’s Geometry Nodes hair system twists hair strands around an axis, creating curls or coils. It’s useful for ringlets, curled ends, and twisted tufts, offering procedural, non-destructive styling within the Curves-based Hair system (Blender 3.3+, expanded in 3.5). It can be combined with other hair nodes for complex hairstyles. Available in Blender 3.5+, it simulates curly hairstyles, afro-textured coils, and adds natural twists to straight hair. It provides controllable curling for stylized characters or hair variation. This preset’s inputs and outputs, tips, and the PixelHair asset collection alternative are detailed below.
Input Sockets
The Roll Hair Curves node group comes with a variety of input sockets that let you fine-tune the curling effect. In addition to the specific parameters listed below, the node has a Geometry input (to plug in the hair curves you want to deform) and a Factor input (to blend or scale the overall effect on/off). The Factor is essentially an influence slider – at 0 the hair remains unchanged, at 1 the full rolling effect is applied
With that in mind, let’s go through each of the main input sockets and what they do:
Subdivision
This input controls the subdivision level applied to each hair curve before deformation. Higher subdivision means each strand is split into more segments, allowing the roll to appear smoother and more continuous. Essentially, Blender will add extra points along the hair so that when it curls, it doesn’t look angular or blocky. Use this to ensure tight curls look smooth – for example, increasing Subdivision for very curly or long rolled hair. Keep in mind that higher subdivisions can impact performance, so it’s about finding a balance between smooth curls and computational load.
Variation Level
Variation Level adjusts the level of smoothing on the roll’s path to introduce shape variation
In simpler terms, it influences how “perfect” or irregular the rolled coil is. A low Variation Level might produce a very uniform coil shape, whereas a higher value smooths and varies the rolling path so that each loop isn’t identical, giving a more natural, less mechanical look. This can simulate the slight irregularities seen in real curled hair (where not every coil has exactly the same diameter or spacing). Tweak this if your curls look too uniform – increasing Variation Level can break up the pattern subtly for realism.

Roll Length
Roll Length defines the length of each curve to be rolled (coiled)
This essentially sets how much of the strand, measured from the tip downward, will be involved in the rolling effect. For example, if you have long hair strands but only want to curl the bottom half, you would set Roll Length to about 50% of the strand length. If you set Roll Length equal to the full length of the hair, the entire strand will be rolled up into coils.
Shorter Roll Length values mean only the tips curl (leaving the rest of the strand straight), whereas longer values coil more of the strand. This is a key parameter for controlling the style: a small Roll Length gives just a little flip or curl at the end, while a large Roll Length can coil the whole strand into a spiral.
Roll Radius
Roll Radius specifies the radius of the rolls
i.e. how large or wide the curl loops are. A larger radius produces big, open curls (the coils will be wider loops), whereas a smaller radius yields tight, narrow curls. For instance, setting a small Roll Radius can create spring-like coils or tight ringlets, while a large radius might result in gentle, flowing curls or waves.
It’s essentially the distance from the center of the curl to the hair itself – think of it like the size of the curler you’re wrapping the hair around. This parameter, in conjunction with Roll Length, determines the overall curl shape (long + small radius = many tight loops; short length + large radius = a single broad curve at the tip, etc.). Adjust Roll Radius to match the type of curl you need for your hairstyle.
Roll Depth
This controls the depth offset of the roll
In more practical terms, Roll Depth adjusts how the coil extends along the hair’s axis. Positive or negative values might shift the coil forward or backward along the strand’s direction (or inward/outward relative to the strand’s original position). It can be thought of as moving the rolled coil up or down the length of the hair slightly.
Why is this useful? Because it allows you to adjust the spacing between each loop of the curl. A higher depth might stretch the coil so loops are spaced further apart (elongating the curl along the strand), whereas a lower (or negative) depth might compress the loops closer together. By fine-tuning Roll Depth, you can control whether your curls are tightly stacked or slightly stretched out along the hair length, which affects the springiness and look of the curl pattern.

Roll Taper
Roll Taper defines the taper of the roll
in other words, how the curl’s radius changes from start to end. A taper usually means one end of the curl is tighter and it widens or narrows along the coil. If Roll Taper is zero, the coil maintains a uniform thickness/radius throughout. A non-zero taper could make the curl tighter at the tip and looser toward where it meets uncurled hair (or vice versa, depending on implementation).
This helps achieve more natural curls where the very end might taper off finer, or stylized effects where the curl gradually diminishes. For example, increasing the taper might cause the coil to start large and gradually shrink, mimicking a curl that loses energy toward the end. Use this to avoid a “tube-like” uniform coil and instead get a curl that has variation along its length, often resulting in a more believable strand of hair.
Retain Overall Shape
Retain Overall Shape is a toggle/parameter that offsets the roll along the original curve to preserve the hair’s overall shape. When enabled, curling maintains the strand’s original flow/silhouette by translating the rolled coil along the hair’s original path. This prevents the hair from bunching up or drastically changing position. It preserves the hairstyle’s volume and outline, adding curls without losing the groomed shape. If disabled, the hair strictly coils in place, potentially altering the outline. Use this option to maintain original positioning while adding curls, preventing style collapse or shrinking.
Roll Direction
Roll Direction sets the axis around which hair curves are rolled, determining the curl’s orientation. By default, hairs have root-to-tip direction and normals, but Roll Direction overrides or specifies the rotation axis. Setting it to (0,0,1) coils hairs around the Z axis, (1,0,0) around the X axis, etc. It ensures consistent curl orientation relative to the character or gravity. The default aligns with each strand’s local axis, creating natural curls. A custom direction creates specific effects, like a windswept look. It can be driven by attributes or textures for varying curl orientation. Roll Direction controls the curl’s turning direction, providing creative control over its spatial orientation.
Random Orientation
Random Orientation introduces randomness into curl orientation, randomizing the Roll Direction. At 0, all strands follow the same orientation. Increasing it causes each hair’s coil to twist around different axes or start at different angles, reducing uniformity. This adds realism, as real hair curls are not perfectly aligned. Moderate values break up repetition while preserving style. High values create chaotic curls. It works with a Seed for repeatable or varied randomness.

Seed
Seed is simply the random seed for the random orientation variation
Changing the Seed value will produce a different random distribution of orientations without changing the overall amount of randomness. This is useful when you want to shuffle the random pattern to one you like best. For example, if you’ve set Random Orientation to a certain value and the result is close but not quite what you envisioned, adjusting the Seed will “reshuffle” the randomness.
It’s a good way to iterate different random arrangements of curls while keeping all other parameters the same. The Seed has no effect if Random Orientation is 0 (since there’s no randomness then), but otherwise any integer seed will give a unique result. It allows you to achieve a specific random look or to ensure consistency (by using a fixed seed) between scenes or hair assets.
Preserve Length
Preserve Length maintains each curve’s length during deformation. Rolling a hair strand shortens the root-to-tip distance. Preserve Length extends the curve as it curls, keeping the total path length consistent. This maintains hairstyle length and volume, preventing curls from shrinking the hair. It may slightly space out coils. Disabling it allows physically accurate shortening. Typically, keeping it on ensures consistent length after rolling.
The input sockets control the curling effect: Subdivision and Variation affect curl smoothness and shape; Roll Length/Radius/Depth/Taper shape curl size and form; Retain Overall Shape maintains original strand position; Roll Direction and Random Orientation (with Seed) control curl orientation and variation; and Preserve Length ensures consistent length. Mastering these allows for various curl types.
Output Sockets
The Roll Hair Curves preset has one output: Geometry. This outputs the hair curves geometry with the roll effect. Connect it to other geometry nodes or the Group Output to apply changes to the hair object. The Geometry output delivers curled hair curve strands. There are no additional data outputs beyond the geometry (rotations are included).
In a typical setup, connect this output to subsequent hair nodes or directly to the output. For instance, connect it to a Set Hair Curve Profile node or Join Geometry node. In the Hair Asset workflow, adding Roll Hair Curves in the modifier stack automatically feeds its output to the final hair curves result. Use the Geometry output to connect the curled hair to the next node or the final output for rendering.
Faster Hair Creation in Blender Using PixelHair 3D Hair Asset Collection
PixelHair 3D Hair Asset Collection by Yelzkizi speeds up hair creation in Blender with pre-made, professionally groomed hairstyles (e.g., curly afros, braids, dreads), compared to the time-intensive geometry nodes like Roll Hair Curves. Key aspects include:
- Overview: Offers .blend files with scalp mesh and particle hair system, including settings, children, and materials. Artists append and fit it to a character’s head, avoiding complex node setups, ideal for quick, high-quality results for freelancers or studios, with tweaks possible in Particle Edit or settings like length and density.
- As an Alternative to Geometry Nodes Hair: Provides realistic hair without manual node-building, using the particle system, not curves. Convertible to curves in Blender 3.5+ for node adjustments, with Yelzkizi planning geometry nodes integration when mature, adding procedural flexibility (e.g., adjustable curl intensity) to its ease-of-use.
- PixelHair with Unreal Engine (Real-time Rendering): Exports as Alembic (.abc) files to Unreal Engine 5’s groom system, compatible with MetaHuman rigs and materials. Retains strand fidelity with physics and LODs, bridging Blender and Unreal efficiently for games or interactive applications.
PixelHair complements geometry nodes with a library of expert hairstyles for fast use or study, evolving with Blender’s hair system and supporting both Blender renders and Unreal for speed and quality.

FAQs (Frequently Asked Questions)
- What exactly is the “Roll Hair Curves” preset and where do I find it in Blender?
Roll Hair Curves is a geometry nodes asset for curling hair strands, found in Blender 3.5+ via the Add Menu or Asset Browser, requiring a hair curves object. - Why can’t I find the Roll Hair Curves node in my Blender, or it’s not working?
If Roll Hair Curves is missing, check your Blender version (3.5+ required) and ensure you’re using a Hair Curves object. If it’s present but not working, check the Factor input (should be 1) and ensure hair strands have sufficient length and segments. - How do I use the Roll Hair Curves node to get curly hair tips but keep the roots straight?
Curl only hair tips by adjusting Roll Length or using a gradient in the Factor input. Combine both for fine control. - My curls look jagged or kinked. How can I make them smoother?
Increase the Subdivision input to smooth jagged curls. Also, check Roll Taper. Avoid excessive subdivisions for performance. - The hair strands became much shorter after using Roll Hair Curves – is this normal?
Curling shortens hair; enable Preserve Length to maintain original length, or disable it for realistic shortening. - What’s the difference between “Roll Hair Curves” and “Rotate Hair Curves” presets?
Roll Hair Curves curls individual strands, while Rotate Hair Curves rotates the entire strand’s orientation. - Can I animate the Roll Hair Curves effect (for example, have the hair curl up over time)?
Yes, you can animate the Roll Hair Curves effect by keyframing its inputs like Factor, Roll Length, or Roll Radius in the Geometry Nodes modifier. - Does Roll Hair Curves work with hair physics and simulations?
Roll Hair Curves is static, not physics-based. Physics for hair currently primarily uses particle systems. Future Blender updates will likely add direct physics for geometry node hair curves. - How do I use PixelHair assets in my project, and can they be combined with geometry nodes like Roll Hair Curves?
Use PixelHair by appending the hair object, then position it. To use geometry nodes, convert it to curves and add modifiers. Future PixelHair will natively support geometry nodes. - What are some best practices for using the Roll Hair Curves node effectively?
For realistic curls, combine inputs like Subdivision and Random Orientation, check overall shape with Retain Overall Shape, use Factor with textures, solo the effect for fine-tuning, manage performance, and always test render.
Best Practices for Roll Hair Curves & Hair Nodes
- Start Simple, Then Layer Effects: Begin with basic hair generation and perhaps a simple Set Hair Length or combing, then add Roll Hair Curves to curl it. It’s easier to debug styling issues if you introduce one node effect at a time. Once curls look good, you can layer other nodes like Frizz Hair Curves or Clump Hair Curves afterwards for more detail.
- Use Adequate Subdivisions: As noted, smooth curls need enough geometry. Increase Subdivision in Roll Hair Curves for tight or long curls, but keep an eye on performance. A good practice is to use just enough that the curl looks smooth to the eye; you don’t need 10 subdivisions if 3 will do – each extra subdivision adds computation on every strand.
- Leverage Attributes for Control: Remember that most inputs (like Factor, Roll Length, Roll Radius, etc.) can take field inputs. You can paint vertex groups on the emitter mesh or use texture maps to drive these inputs via the Capture Attribute or directly if available. For example, a vertex group painted on the scalp could control where hair curls vs. stays straight (by mapping that to the Factor). This way, you can have styled regions (bangs that are less curly, sides that are tightly curled, etc.) all in one modifier stack.
- Randomness and Seed:If using Random Orientation, experiment with different Seed values to find the most aesthetically pleasing curl distribution. Small changes in the seed can significantly alter the look. Avoid settling on the first seed if clumping occurs. Iterate quickly and choose a seed you like for consistency, especially when regenerating or sharing the file.
- Retain Shape vs. Not:With Retain Overall Shape enabled, curls may be slightly offset to follow the original strand. For uniform, tube-like curls, disable Retain Shape, making curls originate directly from the strand’s point. For natural hairstyles, keeping it ON preserves volume. Disable it for stylized, perfectly coiled looks, and enable it for realistic, volume-retaining hairstyles
- Order of Operations: Node order in a geometry nodes stack is crucial. Generate and interpolate hair first, then apply deformation nodes like Roll, followed by Trim or Set Profile, and finally output. Clumping order affects results: clump after rolling for grouped curls, clump before for individual curls. Experiment by reordering nodes, as the procedural nature allows immediate visual feedback.
- Optimize for Viewport: Curls can increase hair density, making it heavy to draw. Use Viewport Display Percentage to temporarily reduce displayed hair strands, or style with fewer guide hairs and increase the count later. While Roll Hair Curves is lightweight, a large number of curves can cause slowdowns. Turning off unnecessary overlays improves performance when viewing complex curled hair.
- Avoid Common Mistakes:Ensure Roll Hair Curves is connected to hair curves geometry from a Guide or Generate Hair Curves node, as it doesn’t generate hair itself. Avoid extreme input values, as they can cause knotted or inverted hair. Use realistic ranges based on hair length. Be cautious when stacking multiple deformers, as it can lead to complex, self-intersecting shapes. Consider merging or resampling curves between deformers to normalize them.
- Learn from Examples:To learn curly styles, examine Blender’s Hair Demo files or community examples. Study presets like “Curl Hair Curves” and analyze PixelHair assets for curl structure. Engage with the Blender community for tips and shared node setups. Practice to develop intuition for input combinations that produce various curl types, and internalize best practices.

References & Additional Resources
- Blender Manual – Roll Hair Curves Node: Official documentation for the Roll Hair Curves geometry node, detailing its inputs and usagedocs.blender.org. (Blender 4.x Manual)
- Blender Developer Forum – Procedural Hair Nodes (Blender 3.5): Insight from Blender developers on the set of hair node group assets introduced in 3.5 (including Roll Hair Curves), and how they fit into the new hair grooming systemblender.stackexchange.com. (DevTalk thread by Simon Thommes, 2023)
- Yelzkizi Blog – PixelHair on Stylized Characters in Blender: Article explaining the PixelHair asset library, its benefits, and integration with Blender and Unreal Engineyelzkizi.org. Contains a FAQ section where the developer mentions plans for Geometry Nodes hair support.
- Yelzkizi Blog – Understanding PixelHair: 3D Hair Assets: A comprehensive guide to using PixelHair assets in Blender, including how to append them, customize them, and the workflow for real-time enginesyelzkizi.org. Useful for those who want to speed up hair creation by starting with pre-made grooms.
- Blender Stack Exchange – Creating Curly Hair with New Hair System: Community Q&A discussing how to achieve curly hairstyles using Blender’s new curves-based hair, with tips on using the Curl Hair Curves asset and related nodesblender.stackexchange.com. This can supplement your understanding of using Roll Hair Curves in context with other hair assets.
Recommended
How Do I Add a Camera to My Blender Scene?
What Is the Purpose of the Camera View in Blender?
How Do I Lock the Camera to the View in Blender?
Can you control a camera in Blender with game controllers?
What is the difference between Perspective and Orthographic Camera in Blender?
How to Put Pattern on Texture in Blender: A Step-by-Step Guide to Creating Custom Materials
How do I animate a zoom effect with the Blender camera?
The Best Way to Render Hair Without Excessive Noise
How Do I Create a First-Person Camera in Blender?
Can I Improve My Metahuman in Blender? A Comprehensive Guide