Advancing the foundational work they did on The Heretic – seen by four million viewers – our award-winning Demo team now presents Enemies, a brand-new cinematic teaser featuring major advances for photorealistic eyes, hair, skin, and more – all rendered in real-time and running in 4K resolution. See it live at Game Developers Conference (GDC), March 21–25.
Creating and rendering a believable digital human character is one of the most difficult problems in computer graphics. But in recent years we have also seen substantial advances in many areas of technology, which fuel a lot of excitement among developers to imagine the opportunities that lie ahead. Unity’s own core technology has been constantly evolving to meet creators’ growing expectations for high visual quality and realism, including when it comes to digital humans.
As part of our efforts to prepare Unity to run and render realistic digital humans, some time ago our Demo team pioneered The Heretic demo, and now has expanded the work with the creation of Enemies.
The Heretic was a foundational step for us on the road to Enemies. We learned so much, developed new technology that laid the groundwork for further development, tried various approaches, made our fair share of mistakes and learned from them. When the project was done, we released the tech to the community in the Digital Human package, but had so many ideas about where to take it next and what else we could do. In a way, the Enemies project almost defined itself.
In close alignment with the roadmaps and development efforts of Unity’s engineering teams, the Demo team adopts all the relevant new technologies from a very early stage. It also fills the gaps between the various roadmaps by making improvements and fixes and contributing them, and develops new technologies when needed.
With Enemies, our efforts went in three directions: Developing a solution for hair, improving the realism of the face, and doing all that in the context of a real content piece.
This means that all the new, in-progress, and existing graphics and core Unity features were pushed to the max, including smooth interoperation, in order to raise overall image quality. More specifically, Enemies uses the entire feature set of Unity’s High Definition Render Pipeline (HDRP), Screen Space Global Illumination (SSGI), the new Adaptive Probe Volumes, ray tracing, NVIDIA’s Deep Learning Super Sampling (DLSS), and every other feature, big or small, that is relevant for our goals.
A person of different ethnicity and with different facial features provides a set of additional challenges that we didn’t tackle with the character Gawain in The Heretic. For Enemies, we chose an actress in her 40s, someone who fit the role from a narrative perspective and presented a new level of technical challenges.
To start, lighter skin is more transparent and the blood flow has a more visible effect on her skin as she moves and talks, so we developed tension tech to drive it. The wrinkles are more pronounced and need special attention from a shading and lighting perspective. Eyes present their own subset of challenges, some of which we had solved, but we boosted the realism by adding a caustic. Facial “peach fuzz” or vellus hair adds subtle but important realism to the shading of the skin, and we made it possible by moving the Skin Attachment system to the GPU. And last but not least, we gave her long hair.
We developed an all-new Unity Hair solution that comprises three parts, together creating the natural look and movement of the protagonist’s hair:
The Hair system (with strand-based hair simulation) is an integrated solution for authoring, skinning, strand-based simulating, and rendering of hair. This system works with any authoring tools that output data in the Alembic format, so you can create your grooms in the tool of your choice. For Enemies, we used Maya XGen for the hair groom, and we are currently validating the pipeline with Weta Barbershop as well. The Hair system will work with the shader of your choice, depending on the render pipeline you use. It supports HDRP, Universal Render Pipeline (URP), and the Built-in Render Pipeline.
To enable realistic looking hair and fur, Unity developed Hair shading in HDRP, which is similar to a model often used in live-action and animated films (e.g., Marschner / Disney). This allowed us to create heightened visual results in any light condition without needing to change parameters for good performance.
Hair rendering lets us render very thin hair strands efficiently and reduces the amount of aliasing caused by strands not getting properly rasterized when they are too small on screen. In Enemies, we use a multisampled visibility buffer to reduce the aliasing from very thin strands and the shading is done in a separate shading atlas, decoupling the visibility from the shading.
As with previous projects, the Demo team will be sharing the technology developed for Enemies with the community to try out in their own Unity projects.
In a month or two, we’ll release a Digital Human 2.0 package that contains all of the updates and enhancements we’ve made since the version we shared for The Heretic.
We will also release a package containing the strand-based Hair system on GitHub, which allows us to collect feedback and make updates before it becomes an officially supported feature. Keep an eye on Unity’s blog and social media to make sure you’re alerted when these packages are available.
Most of the improvements in Unity that originated from the production of Enemies, or were directly adopted in it, are already in Unity 2021.2 or will be shipping in 2022.1 or 2022.2.
If you’re attending GDC in person, be sure to drop by the Unity booth to see the demo directly in the Unity Editor.
We also encourage you to attend our presentations, led by Mark Schoennagel, senior developer advocate at Unity, who will be diving into various technical aspects of the project directly in Unity.
You can learn more about our GDC sessions on the Unity at GDC 2022 page.
Assisted by our guest hosts Cinecom.net and Lars Stranden, Mark Schoennagel will be leading a breakdown session on Twitch. Join them for Unity’s new real-time cinematic: Enemies on Friday, March 25, 9:30 am PT / 17:30 CET.
As we continue to create and publish additional behind-the-scenes content and details about the project, all the information will be collected on this dedicated webpage: unity.com/enemies.