35,99 €
If you excel at creating beautiful architectural renderings using traditional software but want to master real-time, interactive visualizations, this book will show you how the versatile Unreal Engine 5 enables such transformations effortlessly. While UE5 is widely popular, existing online training resources can be overwhelming and often lack a focus on Architectural visualization. This comprehensive guide is for both beginners and experienced users offering a clear, end-to-end approach to creating stunning visualizations from scratch as well as managing tight deadlines, striving for photorealism, and handling typical client revisions inherent to architectural visualization.
The book starts with an introduction to UE5 and its capabilities, as well as the basic concepts and principles of architectural visualization. You'll then progress to essential topics such as setting up a project, modeling and texturing 3D assets, lighting and materials, and post-processing effects. Along the way, you'll find practical tips, best practices, and hands-on exercises to develop your skills by applying what you learn.
By the end of this book, you'll have acquired the skills to confidently create high-quality architectural visualizations in UE5 and become proficient in building an architectural interior scene to produce professional still images.
Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:
Seitenzahl: 561
Veröffentlichungsjahr: 2024
Architectural Visualization in Unreal Engine 5
Create photorealistic architectural interior renderings in UE5
Ludovico Palmeri
Copyright © 2024 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
Group Product Manager: Rohit Rajkumar
Publishing Product Manager: Vaideeshwari Roshan
Book Project Manager: Aishwarya Mohan
Senior Content Development Editor: Feza Shaikh
Technical Editor: Reenish Kulshrestha
Copy Editor: Safis Editing
Proofreader: Safis Editing
Indexer: Rekha Nair
Production Designer: Joshua Misquitta
DevRel Marketing Coordinators: Namita Velgekar and Nivedita Pandey
First edition: February 2024
Production reference: 1170124
Published by Packt Publishing Ltd.
Grosvenor House
11 St Paul’s Square
Birmingham
B3 1RB, UK
ISBN 978-1-83763-976-2
www.packtpub.com
This book is dedicated to my parents, who shaped me into who I am.
To Vera Greco, my mum, who one day ignited my spark by bewitching me with the magic of a drawing, and who showed me that real beauty is not a gem to be discovered but a flower to cultivate.
To Orazio Palmeri, my dad, who taught me the value of sacrifice and patient persistence in the projects one cares for, where care is an expression of love, and he did so every day of my life, through his example.
Ludovico Palmeri, a former architectural engineer, set out on a journey of mastery in architectural visualization. He honed his craft at the esteemed MADI program in Venice and further sharpened his skills in real-time visualization through the Unreal Masterclass at State of Art Academy. Ludovico’s career took him to renowned firms such as Bloomimages and Diorama, where he refined his 3D visualization expertise. Transitioning to freelance work, he collaborated as a 3D generalist and environment artist for international companies, immersing himself in virtual productions, gaming, and VR. His eclectic understanding of Unreal Engine allows him to test innovative workflows in real-time Archviz, trying to push the boundaries of the field.
A heartfelt acknowledgment goes out to the person who shares my journey every day: the love of my life, my wife Rosalia. She not only believed in me and wholeheartedly backed me on this adventure but also provided invaluable support in countless ways, always standing by my side. Whether it was with a comforting hug or a delightful meal prepared while I was immersed in the world of writing, her presence has been my anchor throughout.
Farshid Naji is a 3D artist. He was born in Istanbul and lives in Manisa. He enjoys art, 3D, and VFX. He uses UE5, 3ds Max, and other tools to create high-quality artwork that meets each project’s technical and artistic requirements. He has worked remotely as a real-time visualizer for several companies in the US and Ireland. He has also worked as an Unreal artist for a company named Emperia, in the UK.
Being a UE5-authorized instructor, Sulbha Jadhav, a seasoned professional, excels in blueprint scripting, level design, and comprehensive 3D modeling and rendering modules. With extensive experience, she plays a pivotal role in imparting knowledge at universities and institutions, conducting impactful Unreal Engine training bootcamps. As a distinguished 3D QA professional, Sulbha specializes in testing vital synthetic data for computer vision, advancing cutting-edge visual AI. Actively exploring UE-Fortnite games in UE5, she remains committed to staying at the forefront of industry advancements. With proficiency in various tools and programming languages, Sulbha contributes significantly to 3D design and emerging technologies.
Uriel Cruz Martínez is a game designer and Unreal Engine developer. From software development to game design, his journey has sculpted these skills. Programming, level design, and software development became second nature during his tenure at various companies. His academic journey features a master’s in Unreal Engine and a Superior Course in game design from Tokio School. Parallelly, he expanded his horizons through courses in Unreal Engine 5, C++, multiplayer, and environment design, signifying his commitment to staying at the forefront of innovation. His journey embodies a fusion of dedication, adaptability, and an unyielding thirst for knowledge
This book emerges at the intersection of Architectural Visualization (Archviz), one of the most fascinating applications of CGI, and the renowned game engine Unreal Engine 5 (UE5).In recent years, the Archviz industry has transitioned toward real-time solutions, with countless examples. Among all software dedicated to real-time visualization, Unreal Engine stands out as a prestigious choice, extensively used not only in video games but also in the Hollywood industry. While simpler solutions exist, Unreal Engine is the only fully customizable option for various needs, whether they involve still images, animation, VR experiences, or real-time applications resembling video games. Unreal Engine opens the door to a world of possibilities, but the key lies in your ability to step through that door.
Proficiency with UE5 in the Archviz world means staying a step ahead, working with one of the most powerful, versatile, and sought-after pieces of software on the market. As UE5 gains popularity and adoption, online training materials abound, but they can be overwhelming and often focus on specific topics. Especially for beginners, a structured schedule with concepts introduced in a specific order is essential; learning such vast software can prove challenging otherwise, especially within a busy work routine. This is where this book comes in handy. Think of it as a manual guiding you, step by step, through your journey inside Unreal Engine for architectural visualization. Its approach is hands-on and practical, meant to be followed and applied, not just read.
The book begins by introducing UE5 and its capabilities, along with the basic concepts and principles of architectural visualization. It then delves into all the necessary topics to develop an Archviz project inside UE5 from A to Z: preparing and importing your scene, creating lights and materials, utilizing blueprints, cameras, post-processing effects, and more. Throughout, you’ll find practical tips, best practices, and hands-on exercises to help you apply what you’ve learned. Ultimately, you will gain the knowledge and skills needed to create high-quality architectural visualizations using Unreal Engine. By the end of this book, you will confidently build an architectural interior scene in UE5 and render still images from it. Beyond still images, this book also provides valuable lessons and tips not strictly related to Archviz image production but of great usefulness for animations and real-time applications.
If you identify with any of the following categories, look no further – this is the book for you:
An Archviz artist: Skilled at crafting beautiful images and animations through offline renderings but struggling to achieve the same quality in real time with Unreal EngineAn architect: Familiar with parametric and CAD modeling tools but looking to dive into the world of real-time visualization due to the endless opportunities it offers to showcase projects to clientsA CGI artist: Genuinely fascinated by UE5 amid all the buzz but haven’t had the time to try it or make a proper switchA real-time visualization enthusiast: You simply need to take your real-time visualization skills to the next level with UnrealChapter 1, Setting Up the Project, guides users through the process of installing Unreal Engine, creating a new project with proper settings, defining the project scope, and organizing a clean file structure aligned with the community.
Chapter 2, Preparing the Scene, explores optimal practices for achieving accurate Archviz models in UE5, tailored to the project scope outlined in the previous chapter. It offers guidance on modeling, unwrapping, and organizing complex models, and preparing them for materials.
Chapter 3, Importing the Scene, explores diverse scene assembly methods and workflows, learning model export techniques based on your chosen approach, and discovering how to efficiently update and edit your models within the editor.
Chapter 4, Managing Your Assets, covers organizing your assets effectively by structuring files (layers, levels, and groups) and importing external resources (Quixel Bridge, marketplace items, and personal content) with a focus on efficient organization.
Chapter 5, Lighting in Unreal - the Essentials, explains the various light types in Unreal Engine, covering their basic properties. It explores distinctions between baked and real-time lighting, emphasizing essential considerations for effectively illuminating your project.
Chapter 6, Lighting the Scene, explores diverse methods of illuminating a scene, beginning with natural light and progressing through hybrid techniques to complete artificial lighting setups.
Chapter 7, Exploring Materials, explores the unique approach to shaders in Unreal Engine, delving into fundamental concepts such as master materials, material instances, material functions, material parameters, and shading models.
Chapter 8, Creating Architectural Materials, looks into managing key architectural materials: dielectric, metals, refractive, fabrics, and masked materials. The chapter includes practical examples.
Chapter 9, Detailing the Scene with Decals, introduces decals: their purpose, creation, and editing techniques.
Chapter 10, Making Interactive Elements Using Blueprints, offers a thorough introduction to the Blueprint system, guiding you in utilizing blueprints to craft interactive elements in a 3D environment. Emphasizing application in architectural visualization projects, it covers fundamental blueprint usage and includes diverse case studies.
Chapter 11, Communicating between Blueprints, delves into the advanced application of blueprints in architectural visualization, offering examples and optimal techniques for incorporating blueprints to develop interactive features in a project. Topics include creating dynamic elements such as light switches using level and UI blueprints, as well as establishing effective communication between blueprints and other actors.
Chapter 12, Optimizing the Scene, offers a comprehensive guide to optimizing the performance of 3D projects, specifically tailored for architectural visualization in Unreal Engine. It covers the significance of resource optimization, outlines the benefits, and provides practical tips and examples for maximizing efficiency.
Chapter 13, Setting Up Cameras, explains how to create and customize cinematic cameras, explore key features and options, animate them for cinematic actors, and discover tips, tricks, and recommended add-ons for achieving compelling shots in architectural visualization.
Chapter 14, Post-Processing Images, delves into Unreal Engine’s post-processing, a crucial step executed on every frame. It explores techniques and tools to elevate the visual appeal of your scenes, encompassing topics such as color grading, bloom, depth of field, and various other effects.
Chapter 15, Discovering the Sequencer, introduces Sequencer in Unreal Engine, explaining its role in cinematic content creation and still image rendering. It guides you through creating a new Sequencer asset, importing media, and setting up initial shots.
Chapter 16, Rendering the Scene, explores exporting and rendering Sequencer content. Topics include exporting to different formats, utilizing Render Queue for task management, optimal settings for high-quality rendering, and available options to generate your own top-notch still images.
Appendix, Substrate Materials, introduces Unreal Engine 5.2’s experimental Substrate Materials, slated to replace the current system in future versions. While not recommended for production in the current version (5.3), it offers an overview and basic usage instructions.
To effectively engage with the content in this book, it is recommended that you possess prior experience in modeling architectural scenes using your preferred software. Ideally, you should also be proficient in navigating the offline rendering pipeline, including tasks such as lighting and creating PBR materials.
Moreover, while not mandatory, familiarity with the Unreal Engine’s interface and basic operations is advisable. This background knowledge will enhance your understanding and application of the concepts presented in the book.
Software/hardware covered in the book
Operating system requirements
Unreal Engine 5.2 and higher versions
Windows, macOS, or Linux
Adobe Photoshop
Windows, macOS, or Linux
Any 3D modeler of your choice (Blender, 3ds Max, Maya, Cinema 4D, etc.)
Windows, macOS, or Linux
If you are using the digital version of this book, we advise you to type the code yourself or access the code from the book’s GitHub repository (a link is available in the next section). Doing so will help you avoid any potential errors related to the copying and pasting of code.
You can download the example project files for this book from GitHub at https://github.com/PacktPublishing/Architectural-Visualization-in-Unreal-Engine-5.
We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!
There are a number of text conventions used throughout this book.
Code in text: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: “Set the domain to deferreddecal.”
Bold: Indicates a new term, an important word, or words that you see onscreen. For instance, words in menus or dialog boxes appear in bold. Here is an example: “A popup window will appear; the main options you need to check for now are build nanite and do not create material, and uncheck import textures. Then, you can click Import Allto proceed.”
Tips or important notes
Appear like this.
Feedback from our readers is always welcome.
General feedback: If you have questions about any aspect of this book, email us at [email protected] and mention the book title in the subject of your message.
Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you would report this to us. Please visit www.packtpub.com/support/errata and fill in the form.
Piracy: If you come across any illegal copies of our works in any form on the internet, we would be grateful if you would provide us with the location address or website name. Please contact us at [email protected] with a link to the material.
If you are interested in becoming an author: If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, please visit authors.packtpub.com.
Once you’ve read Architectural Visualization in Unreal Engine 5, we’d love to hear your thoughts! Please click here to go straight to the Amazon review page for this book and share your feedback.
Your review is important to us and the tech community and will help us make sure we’re delivering excellent quality content.
Thanks for purchasing this book!
Do you like to read on the go but are unable to carry your print books everywhere?
Is your eBook purchase not compatible with the device of your choice?
Don’t worry, now with every Packt book you get a DRM-free PDF version of that book at no cost.
Read anywhere, any place, on any device. Search, copy, and paste code from your favorite technical books directly into your application.
The perks don’t stop there, you can get exclusive access to discounts, newsletters, and great free content in your inbox daily
Follow these simple steps to get the benefits:
Scan the QR code or visit the link belowhttps://packt.link/free-ebook/9781837639762
2. Submit your proof of purchase
3. That’s it! We’ll send your free PDF and other benefits to your email directly
The first section is dedicated to learning the fundamentals, covering everything necessary to initiate an architectural visualization project in Unreal Engine. This encompasses the essential concepts both prior to entering Unreal, such as scene conceptualization, and upon opening the software, guiding you through the process of importing meshes. Additionally, this section provides a comprehensive overview of the Unreal interface and fundamental operational procedures.
This part has the following chapters:
Chapter 1, Setting Up the ProjectChapter 2, Preparing the SceneChapter 3, Importing the SceneChapter 4, Managing Your AssetsHey there – I’m Ludovico, and I’m going to be your sherpa through this book… except I haven’t written it as a book, but more like a manual, meaning that it has a very practical approach and a concrete goal. So, think of it as a guide where you must follow its instructions to assemble your product. I’ll be developing a project during these pages, and I advise you do the same with a project of your choice; there’s no better teacher than experience in this case. Unreal Engine is a very vast piece of software and may seem intimidating at first, but it’s quite user-friendly to use once you start, so don’t wait until the end of this book to start playing with it. The best thing to do is to proceed step by step alongside me.
So, let’s get started!
The first step is to create a project, and this chapter will teach you how. You’ll learn about defining the project’s scope, activating the necessary options and plugins, and organizing a clean file structure that adheres to community standards and is ready for client iterations.
In this chapter, we’re going to cover the following main topics:
Installing Unreal Engine and any necessary pluginsCreating a new project in Unreal Engine, naming the project, selecting the project’s location, and configuring any desired project settingsDefining the scope of the project (animation, stills, virtual reality (VR), and interactive) and activating plugins and features accordingly, besides picking the proper templatePersonal projectOur goal for this chapter is to lay the foundations of our scene in Unreal Engine 5 (often abbreviated as UE5), making all the right moves before diving deep into the magic of Unreal. Starting with the right foot forward, or in this case with the right template, is essential to save time and be efficient.
To effectively use Unreal Engine 5 for architectural visualization, you’ll need a workstation with at least 16 GB of RAM and an RTX graphics card (2070 or higher). An SSD is ideal but not mandatory. These are not the minimum requirements, but the ones to fully utilize the potential of Unreal Engine 5 for architectural visualization. For further information on the specifications, please refer to this link: https://docs.unrealengine.com/5.1/en-US/hardware-and-software-specifications-for-unreal-engine/.
It’s important to note that although Unreal Engine 5 offers powerful modeling tools, they cannot replace the need for a third-party tool to create your 3D model and prepare it for UE5. Examples of such tools include 3ds Max, Blender, Maya, Cinema 4D, and Rhino. In this book, we’ll be using 3ds Max by Autodesk, but you’re free to choose any software that meets your needs and can handle both 3D modeling and UV coordinates creation.
The project files for the chapter can be found at https://github.com/PacktPublishing/Architectural-Visualization-in-Unreal-Engine-5
The first step in installing Unreal Engine is to obtain the Epic Games Launcher, which will serve as the starting point for all subsequent operations. To do this, follow these steps:
Navigate to https://store.epicgames.com/ and download the launcher. If you do not already have an account, you will need to create one. Once the launcher has been downloaded, open it, and enter your credentials to log in.To begin, navigate to the Unreal Engine page on the left-hand side. Next, click on the Library tab located at the top of the page.From here, click on the small + icon to add a new version of Unreal Engine. Select the latest version, such as “Unreal 5.3,” and after specifying the installation path, press Install to begin the installation process. As shown in Figure 1.1, click on the + button to add as many Unreal versions as you need:Figure 1.1: The launch screen
How to save space on disk
Unreal Engine requires a significant amount of storage space, with projects often the size of several GB. Disk space can be a crucial consideration, so it’s worth taking steps to save space where possible. One simple tip is to choose which components to install with the software. For example, if you’re using a Windows operating system and primarily developing content such as still images and animation for architectural visualization, you likely won’t need the Android, Linux, HoloLens, and iOS components. Removing these components during installation can save you almost 20 GB of space, and doing this for all your Unreal Engine versions can result in substantial storage savings over time. However, keep in mind that if you plan to develop apps for virtual reality headsets such as Meta Quest, or AR applications, you will need to install some of these components. You can add or remove those components at any time, even after installing Unreal – just click on the small tab within the Unreal icons and choose Options, as shown in Figure 1.2. Uncheck the checkboxes for Android, HoloLens, iOS, and Linux before proceeding with the installation, then click Apply.
Don’t worry about these components – you can always add them back later.
Figure 1.2: Removing unnecessary components
Now that we have Unreal Engine installed, it’s time to start having fun with it. However, before that, we have to learn how to create new projects and move around inside them.
To launch Unreal Engine, you can either click on the Launch button in the top-right corner of the Epic Games Launcher and choose your desired version or double-click on the Unreal Engine icon which will likely be created on your desktop, which is linked to a specific version. The launcher is more flexible and provides more options. Once the engine has been launched, you will be presented with a window that contains multiple options. The left-hand side of the window displays five sections, each representing different fields of usage, such as game development, architecture visualization, and virtual production. Each section contains several templates, but don’t be intimidated by these choices – you can always import content and activate plugins from other templates later on.
For architectural visualization, it’s best to start from the Architecture section and choose either the Blank or Archvis template. For demonstration purposes, I will start with the Blank template:
Figure 1.3: Creating a new project
Next, you will need to choose the default location and name of your project. It’s highly recommended that you name your project properly from the beginning to avoid any future issues when packaging it. The naming convention in Unreal Engine, which is based on C++, is CamelCase, meaning a name is formed by multiple words joined together as a single word with the first letter of each word capitalized. An example is TheCliffHouse.
Once we’ve opened our newly created project, we’ll be greeted by Unreal’s sometimes intimidating interface. Don’t let it scare you – it can be overwhelming at first glance, but with a little bit of understanding, it becomes quite intuitive:
Figure 1.4: Unreal’s default interface
The interface is divided into several main areas, each with its own purpose: in the center of the screen, you can see a 3D viewport (1) depicting your scene. Several panels provide access to different tools and settings. Some of the most used panels include the scene outliner (2), which shows a hierarchical view of all the objects in the scene, and the Details panel (3), which allows you to edit the properties of an object. From the Window tab, you can add other panels and dock them anywhere within the interface.
Unreal Editor is also where you will find the Content Browser(4). This is where you can access all the assets that you have imported into your project, such as textures, models, and audio files. Last, but not least, you have the Place Actors tabs (5) from which you can insert into the scene all the main types of actors. With a little bit of practice and experimentation, you will soon become comfortable using Unreal Engine’s interface. The short command line at the bottom of the interface is the console tab (6) and is where you can type and give instructions through console commands. This part is vital and can be expanded via the Output Log button next to it.
In short, to organize your scene and assets, there are three main things you must focus on:
Content Browser: This is where you keep everything and is arguably the most important panel.The outliner: This displays all the objects in the scene and allows you to organize them into folders and groups.The Level panel: By default, it is hidden, but it can be called by going to the menu bar, choosing Windows, then Level, and docking it on the interface. Levels, which are also known as Maps in Unreal, are scenes containing actors and can serve multiple purposes. The Level panel might resemble a layer manager, but that would be incorrect since levels are much more powerful; each is a standalone scene that can be programmed with specific instructions.Besides these, there are some more useful functions for organizing assets, such as collections and layers, but we’ll discuss them briefly later when we cover asset management. It’s important to organize things from the start, including preparing the interface, to ensure a smooth workflow and prevent a simple scene from becoming a cluttered and disorganized monster. We’ll revisit this topic in future chapters.
Now that we’ve had our first look at Unreal from within, let’s learn how to organize our interface and project.
Your workspace can be customized to meet your needs by dragging tabs and panels around the interface. You can open any desired panel from the Window tab and dock it in a desired location or leave it floating. Once you’re satisfied with your interface, you can click on Window | Layout | Save Layout | Save Layout As... to save it. If needed, you can restore the default layout by going to Load Layout | Default Editor Layout:
Figure 1.5: Saving the custom layout or restoring the default one
It’s worth noting that you can have multiple instances of the same panels, such as Content Browser and outliner, which can be extremely useful. For example, you can keep one Content Browser open for materials, another for textures, and so on.
At this point, you’re almost ready to start playing around with your scene. But first, we might want to check out some plugins so that we’re good to go. Unreal is improved by various plugins that allow you to perform amazing feats. Some of these plugins come with Unreal itself, while others can be obtained for free or purchased from the official marketplace. For architectural visualization purposes, it is necessary to activate some plugins as they simplify many aspects. Most of them are enabled by default, but only if you start from one of the architectural visualization templates. In this section, we will explore how to enable a plugin and which ones are the most beneficial for architectural visualization, as well as how to locate and install plugins from the marketplace.
To activate a plugin, click on the Edit button on the menu bar and select Plugins; a pop-up window will appear. On the left-hand side, you can filter the plugins by category. Simply click the checkbox next to the plugin you want to enable and restart your system when prompted. If you need to activate multiple plugins, it is recommended to enable them all at once before restarting:
Figure 1.6: Enabling plugins
Note that plugins slow down your game when you’re loading it, so don’t enable them if they’re not necessary, and disable them if they are no longer needed.
For Archvis usage, we’re going to need the following:
Datasmith content.Datasmith importer/CAD importer/C4D/glTF importer: The exact one depends on the modeling software you are using and the material your clients provide. We will return to this topic later.Movie Render Queue.Movie Render Queue Additional Passes.Typically, if you start from the Archvis template, all these plugins will be enabled by default. If you have selected a different template to start with, you will need to activate the corresponding plugins to use the associated features.
You can locate officially released plugins on the marketplace, while those that are still in development or have not been officially released can often be found on GitHub. It is recommended to only use the marketplace initially. To access it, open the Epic Games Launcher and go to the Marketplace section, or simply navigate to the marketplace website by going to https://www.unrealengine.com/marketplace/en-US/store. Search for the plugin you need; before making a purchase, ensure that it is available for the Unreal version you are currently using for your project. Once you have confirmed this, click Install to Engine:
Figure 1.7: Installing a plugin
Then, select the version you wish to install. At this point, you’re good to go:
Figure 1.8: Choosing the version of Unreal for the plugin
After installation, don’t forget to activate the plugin inside your project.
The following are some of the more useful plugins for Archvis:
Quixel Bridge: This is installed and activated by default. Nevertheless, if you also download the standalone version from https://quixel.com/bridge, it can help you navigate the assets and pick your favorites before you jump into UE5.Substance 3D: This is very useful for texturing as the substance materials have their own shaders that can benefit from substance procedural capabilities.AXYZ design anima: This is not available on the marketplace but it can be installed alongside the Anima software.Once all the necessary plugins have been enabled or checked, you can move on to the not-so-secret control room of Unreal to see what’s under the hood.
These technical settings lay the foundation for your project. It’s crucial to identify the scope of your project in the early stages to set the appropriate settings. The type of project you’re working on – whether it’s for still rendering, animation, computer VR, or mobile VR – has an impact on your workflow and project settings. It’s essential to understand that your choice of project type will shape your workflow, although this distinction may become less significant in the future.
If you’re focused on learning animation and still image creation, you can skip the next few sections as the default project settings, when using the architectural visualization templates, are optimized for these specific purposes. However, it’s still important to understand how to modify certain settings if needed as there may be other scenarios where customization is required.
Essentially, Unreal Engine was created as a game engine with the frame rate (also known as frames per second (FPS)) as a crucial factor to consider. Over time, it has evolved and now allows you to produce various outputs with varying minimum frame rates, which affects the fluidity of the scene. A smooth gaming experience requires a minimum of 30 FPS (ideally 60 FPS), which is also necessary for interactive experiences. VR outputs, on the other hand, are more demanding and require a minimum of 90 FPS. Fortunately, architectural visualization stills and animations do not pose major performance issues. A fluid scene is preferred, but there are not strict performance requirements, and the best approach is to use your judgment to prevent a slow, heavy scene. Running a scene at 20 FPS is not ideal, but it will not impact the final output for architectural visualization.
Why is this important? By default, Unreal Engine 5 has some features enabled (such as Lumen and Nanite), which are innovative but not suitable for all purposes and may slow down performance in some cases. For example, VR experiences on mobile headsets (not PC VR) will benefit from traditional techniques such as baked lights. Thus, these types of projects will require different features and project settings.
On the contrary, if you’re aiming for maximum photorealism and have a powerful machine, you might want to enable all the best features available. The Archvis templates have almost all of these features enabled by default, but if you started with a different template, you’ll need to go to Project Settings and enable the following settings in the Rendering section:
Dynamic Global Illumination Method: LumenSoftware Ray Tracing Mode: Detail Tracing (or choose Global to save on performance)Support Hardware Ray Tracing and Path Tracing: Check these boxesFigure 1.9 shows where you can find the settings that enable maximum graphics quality:
Figure 1.9: Project settings for maximum quality
Don’t activate all these settings immediately; the default settings from the Archviz template are sufficient initially. In general, a good rule of thumb would be “don’t kill flies with a cannon,” or rather start slowly and add settings and functionalities as you need them.
For our purposes, we won’t be modifying any settings. However, if you’re creating other things such as a VR experience, you may opt for a workflow with baked lighting,which would require a different approach to modeling and scene preparation. This would involve disabling lumen and possibly nanite from the Project Settings area.
To help you better understand what we’ve covered, I will be creating a project as I progress through each chapter. This way, you will see how I apply the steps outlined in this book. It is strongly recommended that you do the same. Choose a small project you have already completed to save time on modeling and be able to focus on the creative aspects. This way, you’ll have a reference for your shots and a quality target to strive for. Ideally, the project should be a small interior scene, not cluttered with too many props and objects. I will be recreating The Cliff House by MacKay-Lyons Sweetapple Architects.
Let’s start our project:
Launch Unreal Engine 5 and create a new project using either the Blank template or the Archvis template from the Architecture section. Remember to name the project appropriately.Next, we must create our main level. Right-click inside Content Browser and select New Folder or click the Add button on the left. Name it maps. There are conventions for folders and names. While you can choose your filenames, it’s advisable to follow these conventions. The folder for levels is usually named maps, regardless of how unusual it may seem.On the top bar, click File and then New Level. Choose Blank Archvis Template from the options provided. Although starting with a completely blank level is preferable, for teaching purposes, we’ll use the blank Archvis template as it contains some basic elements such as lights, sky, and fog; we haven’t covered these yet but they’re useful for pre-visualization purposes.An empty level will open. Save it immediately by clicking File | Save Current Level and place it inside the maps folder you created. Give it an appropriate name; in my case, this is TheCliffHouse:
Figure 1.10: Saving the new level
Navigate to the menu bar, select the Plugins option, and enable any necessary plugins (mainly Datasmith and Movie Render Queue; refer to the How to deal with plugins section of this chapter for more information).To view your scene immediately upon opening it, go to Project Settings, select Maps & Modes, and replace the current map in the Editor Startup Map and Game Default Map fields with the one you created previously. This will ensure that the default map is not displayed every time you open your scene:Figure 1.11: Changing the default map
Done? Great! We are ready to start building our scene.
In this chapter, we learned how to install Unreal Engine 5 and get started with the necessary materials. We also learned how to set up the right type of project by choosing from different templates, naming the project, and selecting the project’s location.
We focused on which project settings need to be enabled or configured and discovered how to activate all the necessary plugins depending on the scope of the project. In particular, we have learned which ones are most useful for Archviz.
Finally, we started our exercise project by creating the main map.
In the next few chapters, we’re going to learn how to prepare our 3D scene, import it, and set it up to bring it to life within Unreal Engine 5.
In architectural visualization (Archviz), a proper modeling phase is crucial for achieving great results during the rendering step. To achieve the best results for real-time rendering in Unreal Engine 5, you must adopt a slightly different approach than for traditional offline rendering engines. For these, in fact, high-poly models with photorealistic lighting are crucial: they can handle almost anything and unwrapping are less important. In fact, the renderer can handle almost anything and still produce good results. In contrast, Unreal requires following certain guidelines to ensure accurate lighting and optimal performance.
This chapter will provide best practices for obtaining accurate models for Archviz in UE5, taking into consideration the scope of the project defined in Chapter 1, Setting Up the Project. You will receive tips and advice on both modeling and unwrapping, as well as how to organize complex models and prepare them for receiving materials.
We’re going to cover the following main topics:
3D modeling for real-time usage3D unwrapping and why it mattersEnvironment design for ArchvizPrepare your scene for exporting to Unreal Engine 5The project files for the chapter can be found at https://github.com/PacktPublishing/Architectural-Visualization-in-Unreal-Engine-5
When creating a scene in Unreal Engine, it’s important to understand the difference between working on an Archviz project and working on a game, mobile, or other real-time experiences. Although the workflows can vary, it can be valuable to learn about different approaches as they may offer useful insights in various practical situations. In the gaming industry, environment artists are responsible for creating environments, much like the typical Archviz artist who creates architecture, landscapes, and other elements based on the client’s design. This process is similar to offline rendering using tools such as V-Ray, Corona, or Cycles. In real time, the main difference is in the tools used rather than the main concepts. Unlike offline rendering tools, there are two main approaches to environment creation. The first, which you’re likely familiar with, involves modeling everything inside your 3D software before jumping into Unreal – let’s call it the Archviz workflow. The second approach, used in games, is modular and requires only modular pieces to be done beforehand.
Before starting
It’s impossible to talk about environment design without considering the units in which we will work and model. In Archviz, it is advised to use the metric system. Unreal works in centimeters, but if the units in your 3D scene are set correctly, there should be no problem during the importing phase, even if you used meters.
In the world of game development, the creation of environments and levels takes place within the game engine itself – in our case, Unreal Engine 5. 3D modeling programs are used to craft individual pieces, such as walls, doors, roofs, and even terrain features, which are then exported as .fbx files and assembled within the game engine. This approach, known as modular design, involves constructing levels using blocks and modular units, rather than modeling each unique piece. This method offers numerous benefits, including increased flexibility and a lighter workflow. In Unreal Engine, any actors in the scene are instances of their corresponding assets in the content browser, eliminating the need for multiple copies of the same asset. To achieve this, it is essential that each asset is designed to be modular, rather than unique.
In the next screenshot, there is an example of a modular set of assets designed for building architectural scenes. Each piece is capable of being combined with other pieces in the set to create an endless variety of configurations and variations:
Figure 2.1: Modular meshes for gaming workflow
Materials are treated a bit differently: to optimize space, many artists use trim sheets and a combination of tileable textures and custom-made sets of textures per object.
Using trim textures is an essential skill for any environment or asset artist in the gaming industry. By utilizing a small library of detailed trim sheets, you can efficiently add detail and assemble modular kits, all while maintaining your memory budget.
For a typical modular asset, consider the example shown in the accompanying screenshot:
Figure 2.2: Typical mesh for gaming workflow
As you can see, this gaming asset consists of various parts, including a basement, wall, and window. However, it only uses a single material that requires manual unwrapping. In Archviz, on the other hand, modular assets typically have different parts, or at least different materials. Also, objects within the gaming workflow are typically manually unwrapped, rather than relying on box or cylinder mapping.
As you can see, this is not applicable for Archviz purposes, but let’s get to it later.
The main factors to consider when creating scenes using the game workflow are as follows:
Architectural objects are modular pieces, and they are exported positioned at the origin (0,0,0) to be combined later in the game engineAll meshes have proper, manual unwrappingMaterials are unique for each mesh or derived from trim sheetsMeshes are exported in the .fbxfile formatIn the world of Archviz, architectural models, unlike modular assets, are typically preassembled and complete with unique pieces. They should then be modeled outside of Unreal and then imported inside it. Clients provide materials in the form of 3D models from CAD software or 2D drawings. If you have a 3D model, it is recommended to clean up and organize it in 3D modeling software for the best results. On the other hand, if 2D drawings are provided, the scene must be modeled from scratch. Whichever path we pick, after organizing and importing the assets inside Unreal, the focus will shift to adding details, props, and foliage to enhance the scene. Maintaining a well-organized file structure and using consistent asset naming can streamline the process of updating and reimporting the scene, making it more efficient and seamless. In this workflow, while it is not strictly necessary, it is strongly recommended to use a plugin called Datasmith.
In Chapter 3, the use of Datasmith is further explained. Essentially, this plugin has successfully addressed several limitations of the traditional approach when applied to the Archviz process, such as the loss of original pivot points and the inability to create instances among meshes.
The structure of a model for Archviz is inherently unique, and therefore walls, floors, and other components do not need to be modular. Please refer to Figure 2.3 for further clarification. It shows an apartment modeled in 3ds Max, ready to be imported into Unreal Engine. It’s already completed and all of its parts are assembled:
Figure 2.3: Built-in-place scene for the Archviz workflow
Lastly, there is a question regarding materials in architecture. Materials are a crucial aspect of the design process, and clients often request changes to every element of the image, particularly focusing on materials. For example, a floor may change from wood to stone, metal, or terrazzo in several iterations. Even if you’re lucky enough to avoid this, you may still be asked to make variations to several elements or a single part, such as door handles, column bases, floor inserts, and so on. To avoid this, it’s better to have materials separated at the mesh level to allow for independent changes. This is a fundamental feature in configurators, allowing for the ability to change and try different materials or colors on demand:
Figure 2.4: Divided material for the Archviz workflow
The main factors to consider when creating scenes using the Archviz workflow are as follows:
The scene has already been assembled with all the elements in their proper positions and has been exported as isEach object must have UVW coordinates assigned to it, but for consistency and efficiency, we often utilize automatic mapping through either cube or cylinder projection in Blender or the UVW Map Modifier (a semi-automated modifier to project simple UVW coordinates to 3D models) in 3ds MaxTileable materials are frequently utilized instead of custom-painted shadersThe scene should ideally be exported using the Datasmith pluginI suggest adopting a hybrid workflow for our scene assembly process. We should primarily use third-party software to assemble the scene but leave out items such as furniture, pipes, fences, and modular decorations to be placed in Unreal later. We can use the “gaming” approach for props, foliage, and modular parts while adopting a more traditional approach for architectural elements such as walls, floors, and ceilings.
To speed up the design process, we translate the client’s idea into a third-party 3D program using provided inputs such as drawings or 3D models. This allows us to create the main structure quickly and maintain a link with the project, which can be updated simultaneously. Then, we leverage the power of Unreal tools to populate the rest of the scene. By using native tools such as Blueprints or Procedural Content Generation (PCG), we can fill the scene much faster and create a more engaging and interactive environment.
In short: we should only model the parts that the client specifies, such as the architectural structure and immediate context. All other parts can be easily placed in Unreal or created with blueprint actors, so there’s no need to waste time filling our scene in the 3D software.
The hybrid workflow combines elements of both gaming and Archviz:
Structural and architectural elements: All placed correctly, near the origin but in their proper position, and exported through Datasmith.Furniture and modular decorations: Placed in the origin and exported individually as .fbx files.Doors, windows, and similar elements: Can be treated as desired. You can place them in your modeling software or within Unreal. The latter option is more useful if you intend to animate the objects or add additional functionality.We have just learned about the conversion of Archviz skills into the real-time world and changes in a typical gaming workflow in Archviz projects. We also got a glimpse into how to approach 3D modeling in this scenario. It is now time to delve deeper into the topic and explore how we should properly model and handle UV maps and IDs in our scene before exporting it to Unreal Engine.
As previously stated, I will be utilizing 3ds Max to create my scene, but you can choose to use any other software for this stage. Common options include Blender, Cinema 4D, and Maya. Rhino, Revit, SketchUp, SolidWorks, and other CAD/BIM modeling software can also be used, although some of the concepts mentioned here may not be applicable. This is because Unreal Engine only works with meshes, converting CAD inputs into meshes during the import process and not providing as precise control over polycount as a dedicated 3D software would.
One of the most challenging aspects of video games and game engines has been keeping the polycount (that is, the number of polygons composing the models) at a reasonable level, as a high polycount would result in a laggy scene that is too much for the graphics card to handle. A few years ago, real-time modeling meant sacrificing unnecessary details, baking normal maps to low-poly models, manually re-topologizing high-density models, or using the level-of-detail (LOD) technique.
LOD
LOD is a performance optimization technique used in Unreal Engine that involves creating multiple simplified versions of an object with decreasing LODs and swapping them based on distance from the viewer to reduce the number of objects that need to be rendered in full detail at any given time.
However, those times are almost gone. Thanks to advancements in video card technology, such as AI super sampling, these issues have been greatly reduced. But the real revolution in this field is the introduction of Nanite by Unreal Engine 5: an incredible technology that uses virtualized geometry to handle billions of polygons on the screen without any lag. It operates efficiently by only processing details that can be perceived, reducing the workload. The data format of Nanite is also highly compressed and supports seamless streaming with an automatic LOD, leading to numerous improvements. No longer will frame budgets be restricted by polycounts, draw calls, or mesh memory usage. Also, LOD management is automated, eliminating the need for manual setup for each mesh’s LODs.
In conclusion, it is safe to say that Unreal Engine 5 is capable of handling extremely complex scenes better than other software. With Nanite, artists no longer have to worry about polycount and can experiment with new workflows. There is no need to rely on displacement or normal maps, as all the desired details can be achieved through real geometry.
Where’s the catch?
Well, there is no real catch – rather, a big “but” to consider when using Nanite. While it works well, there are a couple of reasons to approach it with caution:
Size is an issue: Despite the ability to have unlimited polygons in the scene, the high-density models still occupy the same space on the disk, resulting in huge files of several GB. Using only a high-density model, relying on Nanite magic, can lead to a risk of dealing with gargantuan files in no time. This might make opening, copying, uploading, and downloading the scene much slower.Light might be another issue: There is a compatibility problem with path tracing, one of the best algorithms for rendering. Path tracing currently (Unreal 5.3) does not fully support Nanite meshes, which is a problem, although there is a little workaround.Shaders might present compatibility issues: While the number of supported shaders and effects is increasing with every Unreal Engine release, it’s still something to keep in mind. For instance, as of the time of writing, anisotropic reflections are not yet possible within Nanite meshes. This limitation is noteworthy because such effects are widely used in architectural rendering. It also conflicts with certain types of World Position Offset (WHO) effects (a material node inside Unreal).When modeling, it is important to be mindful of polycount. Avoid going crazy with unnecessary detail. Archviz models are typically lightweight compared to assets such as people or furniture, so it should not be a problem. A hybrid approach is best, exploiting Nanite for assets that will benefit from it (such as 3D scans) and a traditional approach for others; for example, using normal maps to create more detailed models without necessarily making them dense like 3D scans. Actually, as we will see in better detail in the next chapter, Nanite should be activated on every mesh whenever possible, but this does not necessarily mean that every mesh needs to have a high density.
So, what is the correct polycount for architectural scenes? This depends on the specific scene, and it is important to remember the tip, “If it looks right, it is right.” Subdivide things only as much as needed to achieve the desired appearance, not more. Usually, low-poly (10-999 polygons) to mid-poly meshes (1k to 100k polygons) are more than enough; higher counts serve only specific cases.
In the next example, you can see that the two meshes have the same visual quality, but the second one has hundreds of times more polygons than the first, which is unnecessary. This was a mistake I made when I started working in Unreal. While Nanite can absolutely deal with excess polygons, it begs the question: why waste space?
Figure 2.5: Difference between mid-poly model and unnecessary high-poly model
Let’s get more practical now. Unreal has no problems handling a large number of polygons thanks to Nanite, but it may still face difficulties with an excessive number of actors, particularly in scenarios where Nanite can’t be used. Additionally, Nanite itself has a limit on the number of actors it can handle, unlike polygons. Hence, it is advisable to keep the number of actors on screen within reasonable limits for practical reasons.
For example, it is a very bad idea to have all posts in a long railing as separate objects. If for any reason you cannot use Nanite, it will result in performance crashes. In this case, it could be better to join the railing into one mesh so that it does not cause problems even without Nanite. Furthermore, it is more efficient to keep meshes assembled wherever possible, but without overdoing it.
That’s because the new lighting system called Lumen introduced in Unreal Engine 5 has specific requirements and may not always function optimally with assembled meshes.
Therefore, the key is to maintain a balance between avoiding too many single objects and merging too many objects.
It is also advisable to minimize the use of smoothing groups on a single mesh, as having too many of them will result in an increase of vertices between polygons with differing smoothing groups.
In the following section, let’s examine the different types of objects found in Archviz scenes and how I suggest tackling them.
These