Achieving FF Agni Philosophy Hair in UE4

Hey guys,

So i saw Final Fantasy’s tech demo of their realtime game engine cinematic Agni’s Philosophy

and so far I feel that UE4 can do the same, all except for the hair…

In Agnis Philosophy the hair felt so real, there was no way it was procedural

However in a game engine Ive only ever heard of procedural hair, even some of the more popular ones like Witcher 3 used procedural hair.
(Although Im not sure if The Order and Uncharted 4 used procedural hair)

So my question is can we actually achieve hair control to create realistic hair animation like it there is in Maya?(but in a game engine, in which FF is obviously able to do so_

Maybe Nvidia HairWorks or AMD TressFX Hair ?

Luminous Studio has a “hair rendering engine”; in that demo the characters have around 200k polys on hair each.
It’s a lot like TressFX, but much more automated process (they scan hair models and import into Maya to generate the in-game final result).

That hair is not procedural, things like TressFX and Hairworks instead render hair strands rather than using textured planes.

Yeah but scanning the hair is just the modeled part of it, i mean how are they getting that ridiculously realistic animation and movement of the hair, whereas in game engines its just automated animation like with Nvidia Hairworks and Tress FX.

Yeah sorry bout that, but its like TressFX and hairworks still doesnt look cinvincing enough compared to Maya hand animated hair = more realistic

So how can FF achieve that realisitic animation that Tress and hairworks with their automated cant get right?

For ex) in Tomb raider and witcher, the hair flies in different direction and snaps and does all kinds of things many times throughout gameplay

There’s a lot of manual animations on “guide splines” mixed with physics based animations that they do there.

Can we do manual animation on guide splines like you said, but in UE4 as well? (If so what are some ways?)

UE4 doesn’t have a “hair system”; as said before, that engine has a lot of tools builtin specifically for hair and cloth animation, UE4 has some hair shader that’s all.

Okay thanks Bruno

Manual animation for hair takes a long process of setting up a proper rig with many custom controls so that the animators can work it (these are not done on spline directly per say) but rather a single bone chain affecting multiple strands and so on, UE is not such a tool and if it was it would need to have an enormous and very mature rigging/animation pipeline which obviously it doesn’t, In addition to the hand animated hair controls, the hair can also be tied into cloth or hair dynamics system inside the 3d application of choice Maya/Max/Blender to give the “first pass” animation, (note these dynamics systems are nothing like any real time engine can produce, they have many sub samples and are stable as well as can collide with objects properly), after this process the animator puts in the additive touches to finalize the work before its pre-baked and exported.

Also note that these hairs are geometry based for the most part and not like TressFX or Hairworks.

Also note the eyelashes are individual strands of complete geometry and not texture mapped, this is a smart choice for hero characters and gives far better results for both close up and far shots as texture based eyelashes on a flat geometry or planes will ultimately fade away on many angles and this result can change characters expressiveness and eye shade levels which changes their expressions.

So basically what youre saying is that, as long as it for a cinematic (even though it is real time rendered in a game engine)
We can basically use Maya to do hair animations and then export those animations into UE4?

This way we can still get that nice hair animation but just with a different program and not throughout the game, but only for the cinematic sequences of it right?

I guess its similar to Mocap where everything is transferred into Maya first, so the animation will always be the same, and then exported into the game engine?

It goes both ways not only just for cinematic sequences but can be used for gameplay motions as well, so if you really want to get the anims as well as they could be, you will be relying on keyframe animation for every motion clip of your animation. For instance character jumps and lands, those two animation clips already coming in from Max/Maya will not only have the body motions but also jump and land animations for the hair, which is also keyframed. Same with walk loop, run etc… This gets you to rely less on unpredictable and most of the time bad looking realtime sims on hair or even cloth (but thats another topic) and to rely more on hand animation and pre-bake motions for these parts. This process is no doubt the most time consuming and would require more experience and solid workflow, but for polished games with good hero characters and naratives/combat this would be in my opinion the best approach that would produce from a visual/art side the best looking results.

Thanks this is great!

Just to know that even if UE4 doesnt have the tools, its flexible enough that it can use tools fro Maya and achieve the same effect.

The only thing I wonder about is how does everything scale and calibrate correctly?

Cause I know transferring a model from ZBrush to Maya its way too small,

But thats just a small problem…compared to how motion capture calibrates into Maya and then how that keyframe animation calibrates into UE4?

Like If i know in the scene the guy is sitting at a table.
In mocap would i just sit him at any table?

and then how does that work in Maya cus the asset is in UE4

And then when it goes into UE4 will everything calibrate correcltly like the model wont be sitting above or inside the model of the chair, etc.

Well, sorry I guess at this stage you are asking the questions that are very basic : ), I believe it is best if you start from the beginning and look into the starting tutorials both for maya and unreal concerning this subject before you move on further, to the more complicated tasks, it may be less confusing that way for you and better since explaining those points would be near impossible here.

In short the assets would be in Maya first before UE, at these stages UE is non existent, so you need to set everything up in 3d app first. Mocap and coordination is a subject of its own and requires careful measurement and planning. so if a guy sits on a chair you need to roughly measure the circumference of that chair to somewhat match your 3d chair height size etc…( ex. Royal chair with handles vs bar chair etc…).

Later everything would be assembled in maya. The import into UE4 from Maya for a prebaked scene should come in exactly the same way as you have arranged it in Maya, this is not a problem.

I see so basically everything would be handled like it was a Maya work from the start, UE4 would just be used for its rendering

I guess if thats the case, might as well just go thru the whole thin gin maya if we already got that far, instead of reconfiguring everything over to UE4 and working with SSS and diff shader constraints