Last time, I was explaining why I moved from Unreal Development Kit (which was the free version of Unreal Engine 3) to Unity instead of Unreal Engine 4, and then I told you about the reasons why I have now decided to check out Unreal Engine 4. I told you there are three different things that make UE4 appealing to me, but I am going to admit the most important one is the hair rendering feature.
Those who know me, know that I am a big tech enthusiast and, until the moment I got into game development, I was very into learning new techniques and methods to make fancy computer graphics (that drove me to learn the more complex things of Maya like cloth and hair simulation, and, at a job I had some time ago, I pushed for the company to make use of such things because nobody else was doing it in my country).
RELATED: Unity user explores Unreal Engine 4: Part 1
RELATED: Unity user explores Unreal Engine 4: Part 3
RELATED: Unity user explores Unreal Engine 4: Part 4
RELATED: Unity user explores Unreal Engine 4: Part 5
RELATED: Unity user explores Unreal Engine 4: Part 6
A while ago I saw the Tomb Raider reboot was getting an upgrade to use something called TressFX (you can see a video here: https://www.youtube.com/watch?v=HvHq4JIcneY ) I made me wonder when I would be able to get my hands on something like that for my own games. However, shortly after I began working on smaller, simpler games that don’t require fancy graphics and photorealism, so I decided to forget about it and focus on those types of games.
I should clarify Unity users can use Nvidia Hairworks to use natural-looking hair in Unity (you can either compile your own tools using the HairWorks SDK, or you can buy hair systems for Unity), so Unreal Engine 4 is not really the only engine that offers this capability (although it may be the only one that already has built-in tools for it, which is not only easier but also free).
After getting a hang of UE4, the first thing I did was to try out the hair tools, and the first thing I noticed was that, while UE4 includes hair rendering capabilities, it does not include a hair creation tool. To create the hair, you need to use a third-party 3D application (I’ve seen the ones that support it are Maya, Cinema 4D and Blender). I decided to use Maya to create my hair test object, obviously, since that’s the tool I am most familiar with. If you are a Maya LT user, I have bad news for you: these hair objects are created using xGen, and that feature is not available on Maya LT. I do wonder if Maya LT should include a “lite” version of xGen that only allows you to create the hair (but not simulate it), since hair can be used in game engines. However, hair is not a feature every indie out there would be using.
Maya has two ways of creating the hair with xGen: creating a hair from pre-drawn lines, or interactively shaping the hair using brushes and modifiers. With the little time I’ve spent with this tool, I can say I like the first option better since I feel it gives me more control (other people might feel differently), although this may change as I use it more. I will explore the xGen hair tools in depth in a future article.
Getting the hair object in UE4 was very easy, as it is imported just like any other object. Configuring the hair was also easy, specially since the Unreal Engine documentation shows you how to do it. On top of that, the result looks really good, and even includes self-shadows.
The engine includes a shader that is specific for hair, making it very easy to get a realistic look: when you create a new material, you can set “Hair” as the materia’s Shading Model, and that automatically tells the engine you can use this material for hair. Dynamics are also very nice looking. They require some time to configure, but they can produce very nice results.
However, when I needed to compile my test game, I ran into a big problem, and I’ve been unable to solve it: the compiled game crashes when the hair object includes physics.
While the results with the hair are amazing, I cannot say I am pleased because I’ve been unable to compile it. I’m still looking into that, and asking around, and I hope I can solve that soon. In the meantime, I will look into other parts of the engine, since there are other things I want to try out.
Get Unreal Engine: https://www.unrealengine.com/en-US/get-now