Jhosep Chevarria has told us more about the Cyberpunk Alley project, sharing some tips on how to create a realistic and immersive environment with dynamic lighting, shadows, and reflections in UE5.
Introduction
My name is Jhosep Chevarria. I am 28 years old and I live in Arequipa, Peru. I have been working with Unreal Engine since 2011, initially during a learning period with the Unreal Engine Development Kit. Since 2013, I have been working professionally with Unreal Engine 4 Beta, creating various projects for games, simulators, and architectural visualization. Additionally, I have gained experience as a programmer and team leader for different clients and companies worldwide. Over the years, my skills have been honed through feedback from my clients, valuable comments from the Unreal community, and daily practice.
I chose to be a 3D Environment Artist 12 years ago because I loved art in general, from painting on a canvas to photography. I loved how traditional knowledge could be translated perfectly into digital art. My motivation became stronger since I joined the Unreal Engine Beta program, remembering the moment I received a Christmas poster signed by Tim Sweeney. Every challenge involving Unreal Engine is a great challenge for me.
The software I usually use includes Unreal Engine 5, Blender, Photoshop, Substance 3D Painter, and Substance 3D Designer. I began utilizing Unreal Engine 5 from its first preview, and I have been enjoying the new features such as Lumen and Nanite. I am amazed at how smoothly my photogrammetry models work with Nanite providing new styles to my scenes. The ability to use my UE4 assets seamlessly with UE5 has been a great advantage.
In the past, with Unreal Engine 4, I had to rely on LPV and Raytracing for global illumination. However, Unreal Engine 5 takes lighting to the next level with Lumen and its incredible ability to illuminate scenes. The combination of Nanite and Quixel Megascans has truly been a game-changer, as it opens up doors to a vast range of incredible models for our scenes. Building worlds has become much easier for everyone.
The Cyberpunk Alley Project
I always enjoy viewing concept art from various websites and album covers, often imagining how they would appear in Unreal Engine. The inspiration for this Cyberpunk Alley project originated from a collection of notes, including elements, such as a classic city backdrop with neon lights, a retrofitted futuristic car, a sunset or nighttime setting, vibrant pink, and violet neon lights illuminating close-knit buildings. Using these notes as a starting point, I visualized the desired final scene.
To begin, I focused on establishing the lighting and atmosphere, while also testing potential assets for the scene, such as materials, meshes, reflections, and the interaction of the sky with the ground. I paid special attention to achieving realistic reflections on the floor.
Through continuous testing, I refined the lighting and atmosphere to ensure they aligned with the envisioned scene.
Testing custom foliage for the scene:
Testing possible materials and evaluating how they look with the desired lighting:
Testing reflections:
Here you can also see the car. The car is a modified car from the Cyberpunk Megapack, CR01, with classic wheels added, and new materials. This classic car was perfect for my scene:
Then, I placed key elements: a blockout of the scene with important assets like the road and city in the distance. This way I could have a sense of scale and distance for the atmosphere.
The scene is divided into two parts: the background city and the alley. Here you can also see the initial blockout:
The Asset Creation Workflow
In my asset creation workflow, I utilized the modeling tools provided by Unreal Engine for creating and editing geometry. For the street lamps and cables, I made use of splines, which are curves that enable the creation of smooth shapes or paths for objects like cables or pipes. Additionally, I incorporated pre-existing palm and tree assets for both distant and close-up views, allowing for efficient reuse of resources. To achieve the desired foliage, I employed a technique of assembling and creating foliage directly within Unreal Engine. This involved using planes with branches projected onto them, and for palm leaves, I utilized curved planes. Overall, these techniques and tools within Unreal Engine facilitated the creation of assets and the construction of the desired scenes.
Some tips for beginners who want to learn how to create assets for Unreal Engine:
- Start with simple shapes and basic materials and gradually add more details and complexity;
- Use reference images or concept art to inspire your design and style;
- Follow online tutorials or courses that teach you how to use Unreal Engine's modeling tools and the material editor;
- Experiment with different settings and features of Unreal Engine such as lighting, post-processing, or physics;
- Optimize your assets by reducing their polygon count, texture size, and draw calls. This will improve your scene's performance and loading time;
- Reuse your assets by creating modular pieces that can be combined or arranged in different ways. This will save you time and resources and create consistency in your scene;
- Create variations of your assets by changing their colors, shapes, sizes, or orientations. This will add diversity and realism to your scene and avoid repetition;
- Use Nanite to enable high-quality assets with minimal performance impact and Virtual Textures to reduce memory usage and streaming time.
I utilized a custom master material to generate different material variations for my assets, including metal, plastic, glass, and neon. This master material featured adjustable parameters for modifying the color, Roughness, Emissive Properties, and Opacity of each material instance. This flexibility allowed me to achieve a diverse yet consistent appearance throughout my scene. For the store assets, I utilized the Cyberpunk Gigapack (for the shops and vehicles) from the Unreal Marketplace, the KB3D Cyberpunk pack for billboards, and Quixel Megascans for the background and terrain at the end of the road (specifically the Mossy_Forest_Ground asset).
These assets were purchased from online sources that provide high-quality models, textures, and materials catering to various themes and genres. Their incorporation added more details and variety to my scene. Additionally, I have been fortunate to accumulate a personal gallery of assets over my 12 years of working with Unreal Engine. Notably, assets from the Infiltrator Demo, A Boy, and His Kite demo, and the Particle Effects demo hold a special place in my collection. Among them, the SM_Cave_Floor_01a from the Particle Effects demo played a vital role in the creation of this scene.
I used three main colors for the light in a basic scene first: blue, pink, and green. These are the typical colors for a cyberpunk aesthetic. I placed them carefully around the scene to create contrast and interest.
Here is a screenshot of my lighting setup and rendering pipeline:
To have the nice aurora effects, I used the Ultra Dynamic Sky blueprint from the Unreal Marketplace. I changed the atmosphere colors to have darker skies while maintaining strong auroras. I adjusted the contrast and saturation from the post-process settings to get this effect.
Lumen helped with the billboards and small elements, they are often used in cyberpunk scenes to create a sense of depth and density. The Ambient Occlusion and color bleeding effects from Lumen enhanced the scene by adding new natural pleasant colors to the scene. Ambient Occlusion is a technique that simulates how light is blocked or occluded by nearby objects, creating darker areas or shadows. Color bleeding is a phenomenon where light reflects from one surface to another transferring its color. Small details but very important, like the trash bags colored with Lumen, became more visible. The big neon lights complimented the rect lights, and billboards added extra details illuminating hidden areas.
Here is a screenshot of how Lumen affected my scene:
Those small elements were placed next to a billboard and Lumen did the job, I used three colors for the lights but Lumen added lots of sweet tones to the scene making a very rich colorful lighting with beautiful darker tones.
Final Words and Pieces of Advice
It took me approximately a week to complete the scene, starting from the initial idea and progressing towards the final renders. Along the way, I encountered challenges such as asset placement, establishing the appropriate distance between the background city and the alley, and creating the desired surroundings and atmosphere. The Sky Atmosphere, guided by the Art Direction, played a crucial role in achieving the overall look and tone of the sky. Additionally, a custom Volumetric Fog volume added depth to the scene.
For a convincing cyberpunk-style scene, here are some lighting tips:
- Utilize a dark or blue sky combined with bright or colorful elements to create contrast and evoke mood. Consider incorporating fog or smoke to enhance the atmosphere and add depth;
- Employ various types of lights, such as point lights, spotlights, rect lights, or emissive materials, to simulate different sources of light like street lamps, neon signs, and car headlights.
- Take advantage of Lumen to achieve realistic global illumination and reflections. Lumen can also assist in adjusting the brightness and color of the scene without compromising performance.
- Utilize post-process settings to fine-tune the appearance of the scene. Adjust exposure, contrast, saturation, bloom, lens flare, chromatic aberration, and other effects to enhance or stylize the scene.
During the asset creation process, one of the challenges I faced was optimizing the polygon count and draw calls within the scene. Techniques such as instancing, merging, and baking were employed to reduce the number of meshes and materials. Additionally, the use of LODs (level of detail) helped simplify the geometry of distant objects.
I strongly recommend the daily practice and following YouTube channels like William Faucher, Unreal Sensei, and Ryan Laley. Engaging with the Unreal Community and exploring the Unreal Forums can provide valuable insights into industry best practices. Feel free to explore your own artistic path, unleash your creativity, and remember that practice leads to mastery. In the words of Bob Ross: "Painting is like everything else. The more you practice, the easier it becomes, and the better you get, the more confidence you have."