Realtime Fur Experiments

Comments on work in progress
User avatar
Posts: 828
Joined: 09 Oct 2012, 20:48
Skype: ondraise
Location: Colombia

Realtime Fur Experiments

Post by Draise » 31 May 2017, 21:42


Fur Study

So.. when I don't want to work, I experiment and study. lately I have been trying out fur techniques. I have started to learn hair grooming in both Softimage and Blender. But both systems are locked into their rendering solutions within their software, and by no means export by any way to other packages like Mach Studio Pro 2 or Unreal Engine - limited to rendering inside them with the biased or unbiased renderers on CPU/GPU acceleration (but still not realtime).. But both do export Alembic and FBX.

So I thought to myself, why can't I use geometry with textures, like they use in realtime games, made in Softimage or Blender.

I tried out different techniques first in Softimage (which was hard) using some free addons. I succeeded in a feather like system with some texture limitation - but in turn learnt about Syflex and simulating cloth in a very powerful way to simulate the cloth. I also tried out a very inefficient geometry painter. I also learnt that Softimage instancing and particle system, within itself, is very powerful - but not easy to export. I then exported the result I could create with that system to MSP for some thick splodgy fur with a fresnel specular and SSS. It looks nice, alien in a way. Probably could work on the shaders more in Unreal Engine, with some fresnel transparency or something. Though, now that I did it, simulating it could be an issue, but the particle system in SI is quick to do something alternative, and it might be good for full body characters with that system, as the system is weighted to the rig, with simulations applied, and quick styling guides. Export doesn't take long, result, realtime ready. Partial success.
Pro: can use geometry fur for realtime solutions or alembic workflows, can create curve hair guides with cluster controls, can transfer body textures to full body fur textures easily, can simulate geometry fur relatively easily, attached to weighted characters very quickly and easily.
Cons: geometry fur is based purely on geometry and can quickly get heavy, hard to style clumps and other fur features, no alpha map can included with the texture, no individual card UV sets, no multiple texture clusters, requires more knowhow to get it down and third party addons
Future workaround: make thin geometry hair polygons, like literal hairs, have multiple hair sets, keep hair cards light on geometry count, import weighted and animated characters from elsewhere, or FBX from elsewhere, then apply fur and export to realtime solution, render with more shader development in Unreal Engine instead of MSP, learn more ICE stuff to help create clumping as it must be possible.

So, now I turn to Bforartists, a Blender fork that has everything Blender has, though easier to play around with (once you have relearnt all the shortcuts and workflow a bit). I create geometry instance hair really easily, quickly convert easily, turn into UV'd geometry easily - but lose simulation as soon as I convert it to geometry - partial success, non simulated fur a go. I then work on a symbiotic relationship with Softimage, assigning clusters to my card system so I can apply anchors to the inner part of the fur to then simulate it to the weighted geometry of a rig. I have yet figured out a sure fire system that will work under pressure - but atleast I can make fur really quickly, and for nonsimulated hair, it works like a charm.
Pro: Geometry fur has UV's, meaning cards can be used speeding up potential animation and simulation speeds - and reandering, styling with the cards have the same hair tools available as the ones used in Blender, can export as FBX or Alembic, can have multiple texture clusters applied to the hair, perfect for static hair systems, can have some limited hair deformations using operators
Con: Cannot be truely simulated once converted to geometry, hard to attach simulated fur to weighted or animated rigs,
Future Workaround: by using the texture clusturs in my hair cards, I can apply weighted cloth attributes in Softimage and maybe Blender using a weighted rig input as the anchor - a proof of concept still needs to be made..

But so far I'm happy with the potential realtime fur I can do from Blender and somewhat Softimage - a behemoth of a software with all the doors open, if only I knew what they were and how to walk through them better - or the more friendlier Blender that just gets the job done in some curious way.

User avatar
Posts: 399
Joined: 12 Mar 2013, 18:44

Re: Realtime Fur Experiments

Post by mc_axe » 01 Jun 2017, 02:04

Interesting study! I think even real time engines using some sort of instancing but yep you dont need that for a game so full geometry is an option of course with some limits but ye interesting.

Did some tests with instanced hairs (The default option within the hair property), i selected a group with one single strip mesh with no volume (that alrdy had UVs). Then did some quick brooming that i learned recently ;). Export to obj with Save Render Mesh addon took some time..

A good thing is that all hairs in the result mesh "pull" texture from same coordinates (all hairs overlaping) very eazy to paint some gradients for realtime hair like difuse transparency. Maybe is possible to transfer some weights with gator or somthing. But yep i have no idea how you can simulate this.

Then i managed to crash xsi with shift enter hehe