working with arch viz in unreal engine
TRANSCRIPT
Working with Arch Viz in Unreal EngineWorkflow, Shortcuts and Optimizations in Unreal Studio
History & Pipelines
Traditional workflow for design data optimization
FBX
Merge objectsReduce polygon countAdd Lightmap UVsDefine LODsetc...
THIS IS A PROBLEM
The traditional method is a time consuming and destructive process.
We need something that can intuitively and elegantly handle design changes.
Unreal Studio workflow for design data optimization
*.udatasmith
Merge objectsReduce polygon countDefine LODsEtc...
PYTHON + BLUEPRINT
Design Viz Workflow
● Automatic Texture conforming and application
● Vray, Corona, Standard Materials
● Lights, Cameras, Physical Cameras
● Automatic UV’s for Lightmapgeneration
● Non-destructive
Content Preparation
Content Preparation General
● Develop in Metric.○ Feet.. Inches.. Miles? Where do leagues come
into it?○ Avoid converting on import. For the best
results try and fix it before it enters Unreal.
● Unreal Studio automation is effective but a bit of a cleanup can go a long way for key assets.○ Combine logical elements ahead of time. ○ Set up UVs on major assets before exporting.
● Naming Conventions matter.○ Prefix_AssetName_Suffix○ Never use spaces between words.○ Consider underscores or Camel Case.
Exporter to Importer
● Data must be set up for export first from within 3ds Max
● Creates a *.Datasmith file that houses all data for importation into Unreal Engine
● Pipeline is not required for CAD data as they allow for direct importation
3DS Max
3DS Max Exporter
Datasmith
Unreal Engine
3DSMAX Export Settings
Exported data includes:● Object Instances● Pivot Locations● Scene Hierarchy and Layers● Material and Physical Based Rendering
(PBR) Characteristics and Textures● Light Positions, Colors, Sizes, IES
Profiles and Intensities● Camera Properties● Meta Information and Custom Attributes● Unit Conversion● Auto conversion of Bump Maps into
Normal Maps● Image File Type Conversions● Generating and packing Lightmap UVs
Importing into Unreal
● Select assets to import● Set Lightmap Resolution range● Contain within a subfolder in your project● Creates a DatasmithSceneImportData
file. Use this for handling reimporting● Coordinate Systems can be matched
through the FBX importer if necessary with the “Convert Scene” option.
Setting Up Your Scene
Lighting Models – Static vs Dynamic
No direct option for Static or Dynamic lighting as a whole but rather a general series of guidelines for lighting an environment.● Static
○ Higher Memory Overhead○ Typically more Performant○ Well suited to interior scenes
● Dynamic○ Can be changed at will (For instance: day
night cycles)○ Lower Memory Overhead○ More suited to exterior scenes
Lighting Models – Static Lighting
● Chord Tolerance○ Sets the maximum distance between a
generated triangle and the original surface. Smaller values will increase the triangle count, where higher values decrease them.
● Max Edge Length○ Sets the maximum length of any edge of a
generated triangle. Smaller values will increase the triangle count, where higher values decrease them.
● Normal Tolerance○ Sets the maximum angle between any
adjacent triangles generated from a surface. Smaller values will increase the triangle count, where higher values will decrease them.
Lighting Models – Swarm
Unreal allows for distributing the effort of baking lighting across multiple machines.● Swarm Agent
○ Controls how many cores to utilize for baking and which Render Group to be associated with
○ Can have developer menu enabled to show more options for baking distribution
● Swarm Coordinator○ Only one needed per network. Connects
swarm agents with one another.○ Can be used to remotely restart swarm
agents when necessary
Lighting Models – Lighting Portals
● Indoor areas lit by a Skylight can now be massively improved by setting up Portal actors over openings.
● Portals tell Lightmass where to look for incoming lighting; they don't actually emit light themselves.
● Portals are best used covering small openings that are important to the final lighting.
Lighting Models –IES Profiles
● Used to accurately simulate real-life light sources with a curve falloff
● Can only be applied to Point Lights and Spot Lights
● Adds a high degree of realism to lighting setups
● Imported as a *.uasset file● Can typically be obtained through
manufacturer websites
Lighting Models –Lighting Scenarios
● Store multiple lighting scenarios as sublevels of a map
● Toggle between them through Blueprint calls
● Stores reflection captures (as of 4.19) which prevents hitches seen in earlier engine versions
Lighting Models – Dynamic Lighting
● Mobile Skylight● Directional Lighting with Cascaded
Shadow Maps● Distance Field Indirect Shadows
Lighting Models – RayTraced Distance Field Shadows
● Static Lighting is often inefficient for large foliage scenes and Cascaded Shadow Maps are poor options for long distances. Ray Traced Distance Field Shadows are an alternative
● Must enable Mesh Distance Fields within the Project Settings
● Must set the Directional Light to Movable and have the option enabled
Lighting Models – Cascaded Shadow Maps
● Set up through Directional Lights in the details panel
● Creates sharp shadows that are split into multiple ‘cascades’
Reflections – General Overview
● Available reflection probes combine with the Sky Light to create the Reflection Environment
● Indirect Specular from the Reflection Captures are mixed with the indirect Diffuse lighting from lightmaps
● Reflection Capture Actors can be placed throughout the environment to increase reflection fidelity within a region
● Lower roughness values result in more reflection on the surfaces
● The Reflection Environment cost is only dependent on how many captures influence the pixels on the screen.
Reflections – General Overview
Smooth surface but curvy geometry: Good quality reflections
Rough surface but flat geometry: Good quality reflections
Smooth surface AND flat geometry: Evident that reflections do not match up
Reflections – GBuffer Format
● Enabling the High Precision GBufferNormal Encoding option will allow the GBuffer to use a higher precision Normal encoding.
● Encodes the Normal vector into three channels with each channel having 16 bits per.
● Improves Screen Space Reflection Quality
Reflections – Planar Reflections
● Accurate dynamic reflections projected from a plane in the world
● Can use a whitelist or blacklist● Can be toggled on and off. Can be tied
into your player teleportation in VR for great results
● Quite performance heavy. Be very careful when using them!
● More performant when utilizing Static Lighting
Reflections – Common Errors
● A shadow casting Skydome● Lack of a LightmassImportanceVolume● Missing or incorrectly setup lightmap UVs● Incorrect offsets for reflection probes● Cube Captures instead of Sphere
Captures● Having Force No Precomputed Lighting
set to True in the World Properties.
Post Processing
● Unbound – Ignores the bounds of the post process and applies it continuously throughout the world
● Blend Weights allow you to stack post processes upon one another
● Architectural projects typically focus on:○ Depth of Field○ Bloom○ Ambient Cubemap○ Screenspace Reflection○ Lens Flares
Additional Features – World Aligned Materials
● World projected textures ignore base UVs
● Higher performance cost but simpler scene setup
● Allows separate meshes that are touching to appear to share the same surface (such as continuous brick)
● World Position can be transformed into local space or scaled independently
LANDSCAPES
The Landscape system enables you to create terrain for your world - mountains, valleys, uneven or sloped ground, even openings for caves - and easily modify both its shape and its appearance by using a range of tools.
Additional Features – Landscapes
● Auto LODs to preserve performance● Can be painted or have layers/height
imported from external resources● Allows for Landscape Grass, a feature
that can automatically add landscape foliage given
● Complex materials mean developers can add macro variation and automatic cliff faces based upon surface normals
Renderer – Forward Renderer
● Allows for Multi Sample Anti Aliasing (MSAA)
● Missing some features from the Deferred Renderer
● Enabled from the Rendering Project Settings
● Brought in for VR but can have benefits in conventional projects that need higher levels of detail
● Less performant in dynamically lit environments
CONSIDER YOUR REQUIREMENTS
Most of the default settings in Unreal are there for large, complicated worlds.
Are they actually necessaryfor your project though?
Additional help
VR Optimizations – General Settings
● All new video tutorials by professional video authors
● 30+ hours, more rolling out● Formal Learning “Destination”
launching in June
Roadmap
Roadmap
● Video Tutorials● SketchUp Support● Rhino Support● Virtual Texturing● Advanced Programmatic Mesh Creation● Cinematic Depth of Field
Questions?