Often, we see virtual reality (VR) being used on a small scale—hotel rooms and small bungalows. It is not often we see a large urban plan being adopted for virtual reality. Looking at a large-scale model, such as a model from Planning and Urban Design, the functionality and process to bring it to life is completely different. Focus is less on the small details, such as furniture types and kitchen appliances, and more towards the functionality and interactivity to suit the larger scale designs.
This article details a CallisonRTKL case study showcasing the implementation of bringing some of the largest urban developments in the world into VR and creating an interactive area over 1,000 meters wide, and over 1,000 meters high. It covers the process and optimization of your 3ds Max files and integrating them into Unreal Engine, with some simple interactivity to help navigate through large-scale models. Finally, it looks at how to simply maintain these models through the design process.
Introduction
Before commencing any VR project, we are required to understand the challenges and scope of the project at hand. With larger urban environments, this involves looking at several key components. Firstly, it is important to consider the value and purpose of the VR experience and master planning. Even though the plans can span kilometers, it is essential to start developing the project at the level of the human experience.
Getting Started
Start the initial process by establishing the fixed components within your design. Ideally, if you’re creating a VR experience you should be considering it from the beginning. This is to ensure that most of your time can be spent creating fun experiences and troubleshooting, rather than remodeling other people's work or designs.
Why Unreal?
With so many great products on the market, the first question that always arises is why we choose to work with Unreal. Typically, there are no wrong choices when bringing your designs to VR. Yet, due to the scale and size of projects we are developing at CRTKL, it is the optimum choice to use the Unreal Engine to facilitate them. Additional benefits of this program are: it allows for a simple workflow with the preexisting architectural programs, demonstrated ability to handle and manage the models, and the level of detail that can be achieved. Lastly, one of the key deciding factors for working with Unreal is that it is a game engine, so it allows you to narrate your own experience—as long as you have the skills and knowledge of how to do so.
What’s Your Narrative?
The key benefit of using Unreal is its ability to craft a story and experience for its users. This gives it a massive advantage when we are considering master planning, as most common VR platforms do not currently provide this benefit. This capacity to personalize the user’s experience can be used in the navigation, the control, and even the quality. You control how and what your client sees. Imagine crafting a VR experience that is so intuitive you don’t even need to be in the room.
Optimize 3ds Max Files for VR
File Size
File size, though a basic element, is often overlooked when designing a VR project. With increasingly efficient methods of bringing our models into a VR environment, we fail to consider the complexity that the VR program must handle. The largest file for a master plan which we have dealt with was a 3ds Max file of over 11 GB. We found this was too large a quantity of information for the VR program to support. So if you have a file anywhere over 100 MB, you may want to reconsider the level of detail within it.
Split Your Model
This initial step requires you to divide your model into smaller, more manageable segments. This is beneficial for numerous reasons:
1. Allows for easy identification of problematic areas (e.g., those that have a higher than recommended poly count).
2. Supports multiple users, allowing them to work simultaneously on different areas of the project, without interrupting workflow.
3. Keeps the .3ds files small and manageable for average computers.
4. Creates a library of components that can be easily updated and managed within Unreal Editor.
Poly Count
A seemingly minor part of your project that could surprise you is how dense it is in geometry. One reason for this could be you have inherited it from another user or company. It is possible that the original use of the model was not intended for VR. Models created for renders are typically heavy in geometry. Why is this important? Unreal VR is a live rendering tool, meaning it renders every frame of every second that you are in there. When it has to cope with millions and millions of polys and complex geometry, it becomes harder for the computer and the software to keep up. So, let’s look at some tools and tips that will help us reduce the size of our models.
MultiRes (Modifier)
The MultiRes modifier reduces the memory overhead needed to render models by decreasing the number of vertices and polygons. This is useful not only within 3ds Max, but for content creators who export models for use outside of 3ds Max, such as Unreal. MultiRes offers several advantages over the Optimize modifier, including faster operation and the ability to specify reduction as an exact percentage or vertex count.
Optimize (Modifier)
The Optimize modifier lets you reduce the number of faces and vertices in an object based on angle. This simplifies the geometry and speeds up rendering while maintaining an acceptable image. A before/after readout gives you exact feedback on the reduction as you make each change.
Edit Polylines (Manually)
Regardless of whether it’s your model or not, always review your model with the wireframe view port as sometimes even flat surfaces have unnecessary edges that can be removed to reduce poly count.
Grouping/Ungrouping
Unreal engine renders what it can see, whereas what it can’t see demands little power from your computer. Certain VR experiences can be very slow and drop frame rate, because there is too much needless information in the scene being processed. In the case of large urban environments, a large grouped component can cause issues later for the project, such as roads, pavements, parks, and even towers. Why? Because even if a small part of the group is showing in the corner of your vision, as it’s created in the form of a single component, the entire segment is consequently rendered in your scene. Let’s see an example:
Here we have a plot map for a segment of a master plan. On it are roads and the grounds around the developments. The object you see above is almost 2,000 meters wide. Currently it is one object: wherever you stand, it brings in the entire object.
Detach
A simple way to handle this is to break the model up with the detach tool. Within the Edit Poly command, you can select the faces or objects and detach them as separate components.
Once completed, you will have numerous objects scattered across your master plan. This will avoid additional and sometimes never-seen parts of the model being rendered unnecessarily.
Attach
There are also occasions where the opposite effect is desired; accordingly, the Attach Tool can be utilized. This usually applies to the smaller elements within your urban master plan. As all individual objects enter into Unreal as separate elements, you are going to have plenty of objects in your scene to work with. Minimizing the number will make management of these objects much simpler. In this case, we would look to minimize the number of elements by using the attach tool. See below example:
This single tree element has 9 separate objects. In a master plan with over 300 trees, the aim is to make management of these as simple as possible. Depending on how you’ve set up your materials and material IDs you will select a different option. There is no optimum choice here, but you will have to ensure that your materials appear correctly before exporting to Unreal.
Clean Your Files
Finally, when preparing your models for VR it’s important to only retain in them features which you are absolutely going to see. Once you know your narrative, this task becomes more straightforward; for example, towers that appear in the distance need minimal levels of detail, as they won’t be entered and their internal layouts are unnecessary.
The aim is to be selective with what you keep, as managing this and adding extra details in later is far easier than trying to find new ways to optimize your 3D model.
David Weir-McCall is an architect and enthusiast for design technology. After spending several years working with Apple and teaching at Robert Gordon University in the UK, his passion finally took him abroad looking for more creative challenges and opportunities. He has worked with architectural engineering firms, taking their first BIM projects in the region off the ground, facilitating in the training and roll out of the emerging technology. This has included creation of training materials and working towards company BIM standards. Currently David works as a senior designer with the Design Firm CallisonRTKL, focusing on the company’s development in design technologies across the different sectors, including BIM, A360, and VR.