Shader Museum - Tinsel

So You Wanna Make Tinsel

But how? My first hunch was to try to do it in xGen and seeing how the engine handles it. Here’s where my fellow Character Artist peers came in. I had never really used hair cards or Maya altogether, but man was it fun.

I was a bit lost to begin with, but I picked it up quite quickly and made a few iterations of my tinsel, exported the alembic file and into UE4 it went. But while it looked great in engine, the performance took quite a hit and my level was running at 60 FPS tops with just 4 tinsel meshes in. Not ideal.

I first tried the lazy approach of LODing the groom asset and keeping an eye on the FPS count to see how it affects it. I did gain about 5-10 FPS but in the big picture it didn’t make that much of a difference, as it was very clear that that wasn’t the most optimised way of doing this and any other technical artist would scream if they saw that in my level.

I then decided my next approach would be baking the hair cards onto planes instead and trying again. But instead I made a very quick opacity map in substance designer. I made a very simple masked material in UE4 to try it out, and this was the result:

It looks alright, but it’s not quite there, and my FPS is still only around 80, so at this point I’m still really confused. Each tinsel mesh is now only a few hundred polys, yet the performance is still questionable.

This is when I used a couple trusty profiling tools to check memory and GPU usage, and while 300 MB of textures is quite a lot, this doesn’t seem to be the cause of my issues.

At this point I’m still a bit confused and it’s about 5 PM so time to go home. I close out of Maya and what do I see? 10 FPS made their lovely way back to my counter. I then close out of Chrome and gain a whopping 30 FPS back. 30 whole FPS were eaten my my browser this entire time while I was trying to see what was going on within the engine. What did I learn? When in doubt, just open task manager.

All jokes aside, I did learn a lot and even though it was a little bit frustrating, I would (and will) do it all again. Even though this isn’t my first rodeo with profiling tools, I’ve once again been reminded of how useful they can be.

I know this post was a bit shorter than my usual ones, but I wanted to just focus on my tinsel creation process and all the issues I encountered. Hope to see you in the next one though, take care!