The Virtual Reality Pipeline

Virtual reality is emerging as the future of real-estate.
Advances in technology have opened the gateway for seamless interactive photo-realistic experiences, used
 for architectural visualization, marketing, virtual staging, property showcasing and more.

The prospect of developing a VR project may seem daunting, but can be learned quickly with the right information.
This page is designed to inform you of basics behind the creation of Architectural Visualization experiences, helping you make the best decisions for your future projects.


Scripting Interactivity in VR

The most time consuming part of VR development is scripting the interactive experience. The most commonly used program for developing real-time Visualizations is Unreal Engine 4, which features a visual scripting system called “Blueprints”.

Unreal 4 Editor

With Unreal Engine 4 (commonly known as ‘UE4’), the following interactive components can be implemented to your interactive visualization projects:

– Interactive Doors, Cupboards & Drawers, taps, etc
– Interactive Light Switches & Electronic Devices (radios, microwaves, etc)
– Drag-and-drop Movable furniture with physics
– Swinging ceiling lights with physics
– Changeable Furniture
– Changeable Materials
– Floorplan mini-maps
– Teleportation & Free Fly user movement
– Customized Menu with any and all utilities required

Although time consuming, the UE4 blueprint scripting system can be copied from project-to-project; meaning that the after the initial completion, the time it takes to implement scripting into new projects isn’t too long.

At Davis3D, we incorporate our own pre-made ArchViz script for new projects, enabling a quick and efficient workflow. Most of the time spent on new projects is from 3D Modelling, Material design, Lightmapping and Effects; not scripting.


Real-time 3D Models

3D Models used in interactive visualizations take longer than pre-rendered visualizations because they must be optimized in order to run at 90 frames a second. The degree of time spent on optimization is inversely proportional to the power of the hardware the software will run on.

For example, if you are going to demonstrate your application on a very powerful computer, the amount of time spent on optimization will be very small If the application is designed for the average consumer hardware, then more time must be spent on the optimization of 3D models.

The best way to optimize models is to have multiple Levels Of Detail.

The Level of Detail system (or “LOD” system) changes the amount of faces on each 3D model based on how far away you are from them. LODs are usually processed automatically.

LOD Example

Optimized models also require more time spent on ‘UV Mapping’.

UV Unwrapping is when an object’s surface is sliced and peeled open in a certain way in order to be flat (see image for example). The faces of the UV Map must be packaged in a way that has the least amount of empty space as possible to minimize texture sizes.

UV Map Example

Depending on how optimized your application needs to be, 3D models can take up to 50% longer to create. An office chair could take between 20-60 minutes to complete, so it’s important to know how much optimization is required for your hardware in order to save time and costs.


Lighting

Home computers cannot render photoreal lighting at 90 frames per second; so by ‘baking the lighting’, the computer calculates photo-realistic lighting only once, and then applies this lighting to all objects in the scene. It does this by converting the lighting data into ‘lightmap’ textures.

Pros and Cons of Baked Lighting:

Every light-baked 3D Model must have two UV Mapping Channels, so that both textures and lightmaps can be applied to them.

Baked lighting increases the application’s file size, and can require many hours of test-baking to get right due to errors in light baking caused by UV seam issues.

Architecture that is too elongated must also be separated into multiple 3D models in order to fit into the correct UV Map dimensions for light baking.

These extra tasks mean that a light baked scene can take up to 50% longer to create.

Baked lights also lack the ability to be moved in-game, but can be combined with dynamic lights if movable lighting is needed.

Most people agree that the extra financial cost it takes to complete these tasks are worth the photo-realistic quality, but if reducing monetary costs is a priority, then it may be better to use dynamic lighting and avoid light baking. The quality of dynamic lighting is not as good, and performance is slightly worse, but choosing dynamic lighting may save many hours of 3D modelling.

Baked Lighting

Dynamic Lighting

Almost all applications designed for VR use a combination of baked and dynamic lighting, as interactive architectural walkthroughs require movable components like doors and light switches. It is standard procedure to use light baking for everything that doesn’t move, and use dynamic lights for movable objects.

It is also possible to prepare your project with dynamic lighting to see how it appears before making the choice on whether or not to use baked lighting.


Effects

 

Reflections

True real-time reflections are impossible with consumer hardware, so real-time applications use optimized systems that create the illusion of reflections. The most common reflection system is called “Screen Space Reflections” (SSR). SSR mirrors whatever is currently on the screen and applies it to the reflective material. The quality will not be perfect on extremely shiny surfaces, but the performance is good for VR, and is the default choice among developers.

For those who have top-end hardware, Planar Reflections can be used. Planar Reflections are limited to being used on flat surfaces, but they reflect true geometry unlike screen space reflections. This is very expensive to compute; so planar reflections should only be used on one surface, such as the floor.

Post Processing

Post processing adds visual filters to your project. You can apply effects such as bloom, depth of field, lens flares, fog, color alteration, and many more.
The task of setting up Post Processing usually take less than an hour to complete.
When recording cinematic videos, these effects are often animated for optimal effect.


Getting Started with Davis3D

At Davis3D, we are happy to discuss any potential projects you would like us to create; but before any Architectural Visualization project begins, a specific set of data is required.

3D Project Files

If 3D files have already been created in an application such as AutoCAD, we will need you to export a DWG file for us. Before exporting, the contents of the file should be moved to the origin (x=0, y=0, z=0) in order to keep the accuracy of 3D Geometry. The DWG file should also include materials if available.

2D Plans

Regardless of whether 3D files have been designed, all 2D floor plans and material information will be required, as 3D files sometimes exclude details listed in the 2D plans.

Scope

A detailed scope will need to be negotiated before commencement.
This must include, but not be limited to:

– Picture & or Video examples of the quality you desire.
– A list of interactive components in the project (light switches, movable furniture, etc)
– If certain materials need to be very specific, we will need some example pictures.
– We need detailed specifications of the target Hardware
– File Size Limitations (if any)

 


The ArchViz Pipeline

Although each studio is different, Davis3D has been perfecting its pipeline since the release of Unreal Engine 4 in 2014. Here is an outline of development tasks in sequential order, with blue steps reserved for light-baked projects only:

Basic Architecture Setup

  1. Reconstruct the 3D file provided by the client
  2. Split the 3D Models into Sections
  3. UV Map the 3D Models
  4. UV Map the second channel for light baking
  5. Import the Models Unreal 4
  6. Test Light Baking on the Models
  7. Fix any Light baking errors & re-import until there are no errors are left
  8. Test that collisions are correct & Fix any collision errors
  9. Create and Apply Materials to all surfaces

Furniture & Decoration

  1. Search & Download furniture references online
  2. 3D Model or reconstruct furniture from images or 3D files
  3. UV Unwrap the furniture
  4. UV Map the second channel for light baking
  5. Import to Unreal 4 for testing.
  6. Test the Light Baking on the furniture
  7. Fix any Light baking errors & re-import until there are no errors are left
  8. Create ‘Level of Detail’ levels for each model
  9. Re-import to Unreal 4 with LOD levels included
  10. Create Collision for each model
  11. Create and Apply Materials to Furniture
  12. Position Furniture in the environment

Final Stages

  1. Apply pre-made Archviz blueprint script to the level
  2. Set up interactive components such as light switches, doors, etc
  3. Add lights & reflection actors
  4. Run Light Baking Drafts until lighting looks appropriate
  5. Add Post-Processing Effects
  6. Send to client for review & revisions
  7. Revise project according to client notes
  8. Run Final Light Baking pass (This can take 12+ hours to process)
  9. Compile Project & Send to Client

Contact Us

Although the basics have been covered, there are many more technical elements to learn within the field of Architectural VR development. We would be happy to discuss such details over the phone with you anytime between 10am and 11pm AEST.

Please contact the director of Davis3D, Justin Davis, to discuss your future project today!

Davis3D


Send us a Message