Designing a Nature-Inspired Braided Hairstyle with Unreal Engine & Ornatrix
Julia Duma, a member of the SWAME ART team, explained how she created a braided hairstyle inspired by nature spirits and spoke about why she chose to model the braid manually with guides instead of using Ornatrix's braid generator.
Introduction
Hi there! My name is Julia Duma, I'm a 3D Groom Artist (29), and I'd like to share a breakdown of a hairstyle I created for Swame Studio. In this article, I'll walk you through the main stages of the process and highlight some tips that might be useful for anyone interested in 3D grooming.
For this hairstyle, the studio provided a general vision for the final look, but also gave me a lot of artistic freedom. Together with Art Director, Yunna Minkova, we collected references of fairy-dryad-inspired braided hairstyles, and I started to work.
Ornatrix Maya Workflow
To make future adjustments easier, I usually separate the scalp from the main head mesh. On the scalp, I create a distribution mask that controls where guides and hair will be placed.
Depending on the task, I follow one of two approaches:
- From scratch: I delete all default plugin guides, then place a few manually in the area I'm working on. After grouping them, I use the extremely handy Surface Comb tool for blocking, and then refine the result with other editing tools.
- From presets: I divide the pre-made guides into groups and work on them in chunks.
At this stage, I focus on building the silhouette, moving from large shapes to smaller ones. I constantly check the outline using the Use All Lights option to ensure the hairstyle reads well.
When shaping the base forms, I enable Display Strand Groups in Edit Guides. This helps me spot and fix unwanted intersections early on.
Adding Detail
Once the main volumes are in place, I refine the inner silhouette with more clumps, frizz, and length randomness. To start, I usually apply a single clump modifier across all groups to bring the hairstyle closer to its final look. Then I go deeper: splitting hair into smaller groups, adjusting guides individually, and layering more clumps and modifiers for finer control.
Don't forget the Hair Width Mask. It's crucial for achieving a natural hairline and blending strands smoothly into the skin. It looks similar at first sight to the distribution mask, but with softer falloff around the edges.
This setting is essential for making loose strands look natural. I typically set the Min/Max values between 0.5 and 1, then use the randomize slider to find a pleasing balance.
Creating the Braid
Most of the time, I rely on the braid generator, which is simple and effective. For this project, however, I wanted more control, so I built the braid manually with guides. To avoid disturbing the top layers of hair, I created a separate plane with guides, braided them, and then combined the result with the main hairstyle. The tip of the braid was created the same way.
After I feel happy with the result in the viewport, I export the hair files as .abc (Alembic) and just drag and drop them into Unreal Engine.
NB: Don't forget to enable the Alembic Groom Importer plugin to be able to see your groom!
Unreal Engine Workflow
The material I use for hair in Unreal is pretty simple. Below you can see both the base Material and the Material Instance.
For the base color, I prefer using a colored noise texture. This approach is quick, lightweight, and adds a subtle vibrancy to the strands, making the hair feel more alive without extra complexity. Each strand picks up slightly different color values, which helps avoid that "flat" look you sometimes get with default material.
Conclusion
While working on this project, I faced some difficulties, mostly with finding the right shape (because I didn't have a clear final idea from the start) and dealing with intersections between strands in multiple groups. So if I were asked to give some advice to those aspiring to start in grooming, it would probably be:
- Have a good set of references and try to figure out the detailed idea of the final look in the early stages, just to avoid wasting time later.
- Set up at least the simplest render scene from the very beginning, and check your current result from time to time, because what you see in the viewport often differs from the render.
- "Finished is better than perfect". Try not to grow your WIPs folder with unfinished works just because they aren't perfect. Next time, you'll do even better on a different project.
In the end, this project taught me a lot about patience and observation. Grooming takes time, but every new attempt gets you closer to the result you imagine. Keep going, you'll see the progress.