Turning a Girl's Photograph Into a Stunning Hyperrealistic 3D Portrait
Lionel Verlinden discussed how he used Sefki Ibrahim's course to create a hyperrealistic real-time character based on a real-life photo, sharing his approach to capturing an Afro hairstyle wrapped in a turban.
Introduction
Hello everyone, I'm Lionel. I'm a Belgian Character Artist at Asobo Studio. I've been working there on Flight Simulator for 4 years now. I also teach part-time at Artside Game Art School, where I share my knowledge with future game artists! My journey is somewhat classic, as I picked up art school quite early in my student life. I've explored almost every art form before discovering my passion for 3D. I like art in general, so choosing a path was hard.
I realized I wanted to be a character artist when I understood that, in this field, you also create everything they wear. You can do any style, any period, hard surface, organic, … Then, choosing a style was easier. While stylized characters are amazing, I feel that realism offers a higher skill ceiling. It's almost impossible to master, which makes it endlessly challenging.
My work is, of course, inspired by the most realistic games out there, such as The Last of Us, Supermassive's titles, The Callisto Protocol, and the Hellblade saga. They're really pushing the boundaries of character rendering, and that's what I want to do as well!
Portrait Study
Funny story: the character wasn't originally meant to be real-time. I just wanted to practice head sculpting, but then I discovered Sefki Ibrahim's course called "Hyperreal Character". I needed a head model to follow the course, so I decided to push the project further. I searched Pinterest for inspiration and found that one girl — I couldn't find her name — who has those striking oversized glasses and a beautiful Afro wrapped in a turban.
I took some creative liberties, but I wanted to match her vibe. The goal was really to push as far as I could the realism inside Unreal Engine, using all its ray tracing features, even sometimes using console commands to bypass UE5's built-in optimizations.
References
Since the project wasn't meant to be a full character, the moodboard is pretty straightforward. I simply searched for each prop she'd wear and tried to match the reference as closely as possible.
After gathering my references, I started sculpting a blockout in ZBrush. I used the VFace head basemesh from TextureXYZ; its topology is very clean, and all the VFace Displacement maps are compatible with it, saving me a lot of time with on-skin pore details.
After finishing the head sculpt, I had to project a MetaHuman topology onto my sculpt so I could convert it as a MetaHuman Blueprint later in Unreal Engine.
For the props, I used primitives to block out volumes, then I iterated, refining the shapes with each pass. In ZBrush, I used fiber mesh to block out the hairstyle with a custom profile to get the curls.
I then lowered the density and exported the curves, which I used as a base for the guides inside XGen in Maya.
To export the groom, I highly recommend using Epic Games' official plugin for Maya (you'll find it on FAB.com).
I also made a really rough hair volume mesh so I could import it into Marvelous Designer and design the turban to match the hair placement. As you can see, I didn't pay too much attention to the lower part of the shirt since I knew I'd never show it in the final renders. No need to work for nothing!
Texturing
There aren’t a lot of textures; all metallic parts are procedural materials with a tiling Roughness map extracted from Substance 3D Painter. Here's my very basic master material:
The main textures that I made are the head's Roughness and Normal map, which are baked from my high-poly model, and the Base Color is a mix between VFace and MetaHuman so I could choose the information that I wanted in each of them.
For fine-tuning, Unreal Engine's built-in skin shader offers you a lot of options to tweak and customize each and every part of the face. While you could create a custom shader, you'd probably waste a lot of time trying to reach the same result as Epic Games. Trust me, I've tried.
For the rest, it's a very basic texturing pass inside Substance 3D Painter (e.g the turban).
As for the eyes, Unreal Engine's documentation strongly recommends using its eyes mesh and shaders since they're very much hard-coded into the engine. I am not a Tech Artist, so I took the advice and used Unreal Engine's eyes shader, which again offers plenty of options to have unique-looking eyes.
Composition and Lighting
Nothing much to say here; the composition is super simple. My only tip would be: don't hesitate to reduce the field of view distance, especially for portraits. My FOV is like 15 mm, which is unconventional because no camera lens like that is used, but I just prefer the look.
The lighting setup is fairly simple as well. It's a classic 3-point light setup, trying to match a photography studio atmosphere.
Of course, I added an HDRI to have some reflections on the metal/glasses. Post-production-wise, I just made minor color corrections, a touch of local contrast (clarity), a vignette, and chromatic aberration to achieve a realistic lens effect.
Also, depth of field is better in post. Real-time DOF is way too messy and inaccurate; I made a custom depth-pass render so I could add a lens blur in Photoshop.
For the animation, I followed the instructions from Sefki. He uses Unreal Engine's Live Link Hub tool. It lets you upload a video in almost any format. The tool processes the video and translates it into keyframe animations for your MetaHuman rig. (Those are his parameters; he tried a bunch. That's what worked for me as well.)
Once your video is processed, you can export it as a MetaHuman Performance and select what portion of the animation you like. I won't go into too much detail, as I've learned it through Sefki's course. I respect his work very much, and I don't want to ruin his business. If you want to learn more, definitely check out his tutorial! You should end up with a sequencer looking like that (but cleaner).
Where you can add an additive layer to clean the animation.
And here's the final result. It's nothing crazy, but that's much more than I could ever achieve with my animation skills (which are zero).
Conclusion
I can't tell for sure, as I worked on it both as part of a professional course and in my spare time. But it took something between 2 and 3 weeks. The main challenge was properly setting up my props on the custom Blueprint for the animation. Unreal Engine is still unclear on how to do it easily.
The project taught me pretty much everything I needed to know to have a good-looking character inside Unreal Engine; my previous attempts were so poor that I was essentially starting from scratch.
And my advice for beginner artists would be: don't fall into the AI trap. I know it's tempting; I know it can cut some production time, but it's a shortsighted approach. In the long run, relying too much on AI tools will make you a worse artist. This isn't just my opinion; it's backed by science. Moreover, recruiters don't want to see AI-generated work in your portfolio.
What you can do, however, is use scans as references. Import a head scan into your ZBrush scene and try to match it as closely as possible. This is the best practice you can do to sharpen your eye.
Lionel Verlinden, 3D Character Artist
Interview conducted by Stephanie Almogabar
Keep reading
You may find these articles interesting