Retopology - Too many hair strands for game character?

Hi everyone, still relatively new to Blender and entirely new to game-ready asset creation.

I’m currently working on some human models for my first video game. My intention was to give the three main characters more detailed hair, and go a lower detail route for NPCs. I used the Curve approach, and spent countless hours modeling what I thought would be (relatively) easy to clean up topology. Fast forward to me spending dozens more hours doing manual retopology and losing my mind at the sight of the face count.

I’ve been using the Checker Deselect + Edge Loop workflow and managed to reduce them to just under 30k Faces/60k Tris at this point, but I’m really struggling to get them any lower than that without losing too much of the shape.

Character Hair Reduced Topology

Decimate and QuadRemesher aren’t really helpful, as they collapse the structure of the strands or end up creating more topology, not less.

Am I just mad for trying to add that many (350+) individual strands to a character model? Is there any way this could work, or should I look into reducing the strand count itself? For context, the entire rest of the character including clothes has ~30k Faces/60k Tris.

In another example, the first set of hair I made was even more detailed with 986 individual strands and 1.3 Million Faces before any retopology. After struggling with one third of that already, I’m absolutely dreading retopology for that one :')

Protagonist Hair High Topology

I’d appreciate any advice for the entire hair workflow!

Before deciding if the triangle count is too much, I would ask a few questions.

  • Is the hair rigged/animated or is it static? If it’s animated, that is too much for a game character. Static might be fine, especially if you are going to use LODs with further reduced versions.

  • What kind of platform are you aiming for? For modern consoles or PC, this might be fine. For a mobile game or something meant to work on cheaper computers, this would be multiple times too much and you would have to use a completely different way of doing hair.

  • Which game engine? They aren’t all equal on polygon counts. I use Unreal and it would eat 60k triangles for a static mesh like it’s nothing, but other engines might not have the same capacity. You would have to know your game engine and what it can support with its LOD system.




If you do need to reduce the polygon count, there is something I can suggest.

I assume the curves all share a single strand model? If yes, you could remove the bevels and unnecessary edges that go the full length of the strand and instead get a similar shading with a normal map. It would even allow you to have the look of your high-res hair, but with greatly reduced complexity.

That way, you get to keep more edge loops in the direction that is going to have a strong curve and remove them in the direction where they are less noticeable.

1 Like

Thanks for your comprehensive answer, gave me a few new things to consider!

The game is intended to be released for PC only, using UE5. The hair mesh itself won’t be animated, so I’m relieved to hear that the poly count would be fine for that scenario.

In the case of my second more detailed example, I have unfortunately already deleted the original Curves when I converted the mesh, meaning I’ll probably have to go about it in the manual way again. But I’ll look into the mentioned Normal map for details, thanks for the tip!

1 Like

In UE5, if you use the nanite system for a static mesh, there is basically no polygon count limit (except for the final size of your game that could get big fast). That system automatically reduces your meshes the farther away they are from the camera, so the real polygon count will basically never be used. You could probably get away with half a million triangles.

When working with hair strands like this, it can really pay to go non-destructive. You model a single strand of hair and apply it to the curves using instances. That way, you can come back to the original strand and modify it even after they have been placed on the character and every strand will have the same modification at the same time.

1 Like