Rendering a photo-realistic human in Unreal Engine 5, Jaakko Saari
In this video I take a look at rendering a photo-realistic human in Unreal Engine 5 using MetaHuman and Marvelous Designer. I show some of the best practices in lighting and overall scene setup.
I started the process by looking for a pose by just posing a bare MetaHuman on a box for the bed. Already at posing stage, I was able to test different lighting. And I was able to lock in a rough frame, which helped a lot to set up the scene without needing to model things that were never going to be seen.
I then posed the MetaHuman base in Maya paying more attention to fingers and such and added the keyframe to transition the avatar.
The garment was then modeled in Marvelous Designer based on the animated avatar which was very smooth experience. I did my best to look at different pictures of people in Japanese hospitals and found out how Japanese hospital garment has a very specific look with the red accent on the collar. I created the pattern and simmed it and exported the result as a static object, as there is no need for animation.
The garment simulation setup in Marvelous Designer.
Setting up the character in Unreal Engine 5 was straightforward. I just created a new level sequence and dragged the MetaHuman blueprint to it.
Notice the separate tracks for body and face in level sequence
This automatically creates separate animation tracks for body and face. So what is ideal about this approach is that we are able to later finesse the facial expression even when the pose of the body (or could also be animation) is locked in.
I brought in some props to decorate the scene. Nothing special here except I skipped the optimization of the heavier objects and opted to use nanite instead. Nanite is so powerful and painless and will significantly help with keeping the frame rate manageable even on lower end systems.
Here are the imported props in Unreal Engine. I like creating a kind of asset catalog to a separate level so that I remember what is where.
The curtains and fabrics on bed were Maya cloth simulation. I also created a towel that is a little a bit visible on the right using the new modeling tools in Unreal Engine, creating a very dense displacement based on a height map I found. And of course ticked in the nanite on that static mesh as well.
Lighting wise, I used Lumen with Hardware Raytracing enabled. But what I realized is that even software Lumen works really well. I could have created this scene using a few years old gaming laptop with no big problems, except maybe having to wait the initial shader compilation.
The IV bag uses subsurface scattering instead of translucency.
Subsurface scattering now also works flawlessly in Unreal Engine 5 with Lumen. I used the effect for this IV bag that looks a bit like orange juice. What I struggled with most, still even with raytraced effects was the translucency. I wasn’t able to get the translucent liquid look right, so I went with this kind of soft diffused plastic that I think look quite good. The bag was created also in Marvelous Designer and Substance Painter.
The hospital bed below was old medical visualization asset that I created originally for V-Ray scene. This is a relatively heavy asset that uses UDIMs. Importing the UDIM based FBX to Unreal Engine was no problem. Enabling Virtual Textures in Unreal will allow UDIM tiles to be imported properly, you only need to import tile 0 from each of the textures and it will do the rest automatically, don’t try to drag in all of the tiles. We live in a world of joy being able to use assets without modifications needed from offline renderers in Unreal.
Here are some renders of the scene using film style camera settings and post processing. Rendering a photo-realistic human in Unreal Engine has never been this easy.
I very much like the old Portra 400 style look I achieved with adjusting the camera film curves. I used to be a portrait photographer before and this stuff is golden.
Please feel free to contact us if you need photo-realistic custom MetaHumans.