5. Content Consideration For High Quality VR The Outpost 23 Landri
map file will load by
default
This is a large map with
over 4000 static meshes
in the level
6.444,028 triangles in the
level
6. Outpost 23 is kind of a Modular Lego Building Outpost 23 is assembled
from over 4000 modular
static mesh pieces which
are grid snapped together
7. Explore the Outpost 23 Env Art Map Explore the Outpost 23
Env Art Map in the root
folder to see all the
modular building blocks
8. Master Materials & Material Instances Optimized workflow
feature
Material Instances allow
you to make “on the fly”
changes to a Material
without the engine having
to do heavy computation
or recalculation of
shaders.
Material Instances can
also be changed at
Runtime since they do not
require recalculation.
All Parameterized nodes
from the Master Material
are editable
Great tutorial on the creation of the master materials for Outpost 23 by Tech Artist Scott
www.epicgames.com/unrealtournament/blog/outpost-23-texturing-ddo-painter-quixel-suite
9. Deferred Decals Help visually to break up
repeating textures
Help visually to break up
modular meshes
Help visually to break up
the overall tone of a map
that uses master
materials and material
instances for
optomizations
10. Deferred Decals Use Deferred Decal
Material Domains
Translucent Blend Modes
Options for using various
Decal Blend Modes
11. There is Always a Compromise Between Losses and Gains You will often lose one thing
to gain another
Find the ideal balance
between all considerations
Looking for as many efficient
ways of doing things as
possible
Build a pipelines to observe
the restrictions
Offload as much as you can to
pre-calculated elements
The solutions to balance is
often a mix of the three
12. Looking at the Lighting of the map Most localized lights are
set to Static and become
precomputed light maps
and shadow maps
Some lights are set to
Stationary and have a
dynamic component that
can be used interactively
There is one Directional
Light that serves at the
Moon Light though there
is no need to have it be
fully Dynamic
This environment has no
dynamic lights, which is
good for VR performance
Use the console command Stat LightRendering to see current lighting cost.
13. Lighting Mobility and Precomputed Lighting The idea of storing or
baking complex lighting
calculations into textures
is called lightmapping. It
works by calculating how
complex lighting should
look on all surfaces by
storing those results into
a texture using a built in
tool called LightMass
It uses those textures to
map the results on all the
surfaces of your level
This is known as a
Precomputed Lighting
Path
StaticLight Lights that cannot be changed or moved in any way
at runtime and are calculated only within Lightmaps.
Stationary Light Lights that are intended to stay in one position, but
unlike Static Lights, are able to change in other ways
such as brightness or color.
Movable Light Lights that can be moved and changed in game (e.g.
headlights on a car or flashlights).
14. High Quality Reflections in VR Use Reflection probes
instead of screen space
reflections.
By default, only the
nearest reflection capture
will be applied without
parallax correction unless
the material opts-in to
High Quality Reflections
15. Forward Shading Renderer for VR By default, Unreal Engine 4 uses
a Deferred Renderer as it
provides the most versatility
and grants access to more
rendering features.
However, there are some trade-
offs in using the Deferred
Renderer that might not be
right for all VR
experiences. Forward
Rendering provides a faster
baseline, with faster rendering
passes, which may lead to
better performance on VR
platforms.
Not only is Forward Rendering
faster, it also provides better
anti-aliasing options than the
Deferred Renderer, which may
lead to better visuals.
The Forward Renderer works by culling lights
and Reflection Captures to a frustum-space
grid. Each pixel in the forward pass then
iterates over the lights and Reflection Captures
affecting it, sharing the material with them.
Dynamic Shadows for Stationary Lights are
computed beforehand and packed into
channels of a screen-space shadow mask,
leveraging the existing limit of 4 overlapping
Stationary Lights.
16. Forward Shading Renderer for VR Full support for stationary
lights, including dynamic
shadows from movable
objects which blend together
with precomputed
environment shadows
Multiple reflection captures
blended together with
parallax correction
Planar reflections of a partial
scene, composited into
reflection captures
D-Buffer decals
Precomputed lighting and
skylights
Unshadowed movable lights
Capsule shadows
Instanced stereo compatible
17. A Deferred Rendered View of the Map By default, Unreal Engine 4 uses
a Deferred Renderer as it
provides the most versatility
and grants access to more
rendering features.
However, there are some trade-
offs in using the Deferred
Renderer that might not be
right for all VR
experiences. Forward
Rendering provides a faster
baseline, with faster rendering
passes, which may lead to
better performance on VR
platforms.
Not only is Forward Rendering
faster, it also provides better
anti-aliasing options than the
Deferred Renderer, which may
lead to better visuals.
Deferred Renderer Buffer Visualizations
18. Multi Sample Anti-Aliasing (MSAA) vs Temporal Anti-Aliasing (TAA) Projects that choose to use
MSAA will want to build content
to mitigate specular aliasing.
The ‘Normal to Roughness’
feature can help reduce
specular aliasing from detailed
normal maps. Automatic LOD
generation for static meshes
can flatten features on distant
meshes and help reduce aliasing
from small triangles.
In our tests, using MSAA instead
of TAA increases GPU frame
time by about 25%. Actual cost
will depend on your content.
The forward renderer supports both multi sample anti-aliasing (MSAA) and
temporal anti-aliasing (TAA). In most cases TAA is preferable because it
removes both geometric aliasing and specular aliasing. In VR, the constant
sub-pixel movement introduced by head tracking introduces unwanted
blurriness, making MSAA a better choice.
19. Multi Sample Anti-Aliasing (MSAA) vs Temporal Anti-Aliasing (TAA) Projects that choose to use
MSAA will want to build content
to mitigate specular aliasing.
The ‘Normal to Roughness’
feature can help reduce
specular aliasing from detailed
normal maps. Automatic LOD
generation for static meshes
can flatten features on distant
meshes and help reduce aliasing
from small triangles.
In our tests, using MSAA instead
of TAA increases GPU frame
time by about 25%. Actual cost
will depend on your content.
20. There are Advantages to Each Renderer
The UE4 Deferred Render is a full-featured workhorse, but takes a bit of skill to
fully leverage. Temporal Anti-Aliasing limits how sharp your image can be.
A new UE4 Forward Renderer will be a specialized renderer, with less features,
but faster baseline. Multi Sampling Anti-Aliasing (MSAA) is the sharpest
solution for anti-aliasing.
21. GPU Profiler (Ctrl+Shift+,) The GPU Profiler allows you to
quickly identify the GPU cost of
the various passes, sometimes
down to the draw calls.
The data is based on GPU
timestamps and is usually quite
accurate.
The GPU Profiler can shows the
light name which makes it
easier for the artist to optimize
the right light source.
22. Profile Often and Maintain Performance Goals Check your performance
constantly to ensure that you
are hitting your VR performance
targets.
LOD's and aggressive culling are
a must to ensure that you are
hitting your VR performance
targets.
Due to the demanding
requirements of VR many of the
advanced Post Processing
features that are normally use
should be set to `0`.
23. Launching VR Preview Testing out your VR headset is
straightforward, simply select
“VR Preview” from the Play
dropdown button. By default
the head tracking will work
without changes to your
existing project or template.
24. Platform Support As of 4.12, we support the
following platforms out of the box:
Oculus Rift
Steam VR (including the HTC
Vive)
PSVR
OSVR (preview)
Samsung Gear VR
Google Daydream
Leap Motion
25. Create once, and deploy anywhere.
Mobile
Desktop / Console
Oculus Rift
HTC Vive / Steam VR
PSVR
OSVR
Samsung Gear VR
Google Daydream
26. Platform Support All of these platforms go through
UE4’s common VR interfaces, so
you can make your content once,
and deploy it anywhere.
• Unified Camera System
• Motion Controller System
• Optimized rendering paths
• Low-latency optimizations
Oculus
Vive PSVR
OSVR
27. VR Project Template We have templates designed for
Virtual Reality
The template can be selected
from the Blueprint tab as a new
project is created.
The motion controller template
provides examples for object
interaction and manipulation as
well as point based
teleportation.
31. en.wikipedia.org/wiki/Virtual_reality_sickness
Sensory conflict theory believes that sickness will occur when a
user's perception of self-motion is based on incongruent sensory
inputs from the visual system,vestibular system, and non-
vestibular proprioceptors, and particularly so when these inputs
are at odds with the user's expectation based on prior experience.
32. Five typical causes of Motion/Simulation Sickness in VR
Further Reading
Any, most, some, Non-forward movement
The awareness of Vection
(When a large part of the visual field is moving and the viewer
feels like she has moved while the world is stationary)
The feeling of accelerations
Frequent camera YAW
Lack of a static reference frame
33. The Unreal Engine Framework
GameInstance
GameMode
Pawn Class
HUD Class
PlayerController
Class
GameState
Class
PlayerState
Class
36. GameInstance
GameMode
Pawn Class
HUD Class
PlayerController
Class
GameState
Class
PlayerState
Class
A PlayerController is the interface
between the Pawn and the human
player controlling it.
● The PlayerController decides
what to do and then issues
commands to the Pawn (e.g.
"start crouching", "jump").
● Putting input handling or other
functionality into the
PlayerController is often
necessary.
● The PlayerController persists
throughout the game, while the
Pawn can be transient.
41. Object
Actor
Pawn
Character
Base building blocks in the Unreal Engine
Any object that can be placed into a level
Subclass of Actor and serve as an in-game avatar
Subclass of a Pawn that is intended
to be used as a player character
43. How can we learn to harness
the power of Unreal Engine?
44. VR Learning Resources for Unreal Engine Starting Out:
• Oculus Quick Starts
• SteamVR Quick Start
• Google VR Quick Start
• Gear VR Quick Starts
VR Platforms:
• Samsung Gear VR
Development
• Google VR Development
• Oculus Rift Development
• SteamVR Development
VR Topics:
• VR Cheat Sheets
• VR Best Practices
• Motion Controller Component
Setup
• VR Camera Refactor
45. Video:
• 2015 UE4 - VR and Unreal Engine
• Making Bullet Train and Going off the Rails in VR
• VR Bow and Arrow Tutorial w/ Ryan Brucks - Training Livestream
• Training Livestream - Sam and Wes' VR Stream: Cameras, Multiplayer, Tips and Tricks!
• Creating Interactions in VR with Motion Controllers 1-3
• Setting Up VR Motion Controllers
• VR Networking and 3D Menus
• Up and Running with Gear VR
• Developing for VR
• Integrating the Oculus Rift into UE4
Presentations:
• UE4 VR - Niklas Smedberg
• Lessons from Integrating the Oculus Rift into UE4
• Going Off The Rails: The Making of Bullet Train
Links:
• Sam Deiter - 10 VR tips for Unreal Engine
• Tom Looman’s - Getting Started with VR in Unreal Engine 4
46. VR Learning Resources for Unreal Engine
VR Editor Starting Out:
• Activating VR Mode
VR Editor Guides:
• Setting Up VR Editor from GitHub
• Navigating the World in VR Mode
• Working with Actors in VR Mode
VR Editor Reference:
• VR Editor Controls
• Quick Select Menu
• Radial Menu
• Transforming Actors in VR
• Editor Windows in VR Mode
50. Education Community VR for UE4
Free Unreal Engine Courses:
• Twin Stick Shooter
• 3rd Person Power-Up Game with C++
• 2D Sidescroller with Blueprints
• Endless Runner with Blueprints
• Unreal Match 3 Game
Free UE4 Community Youtube.com Learning Channels:
• World of Level Design UE4 Fundamentals
• Virtus Education series
• Unreal Engine 4 Beginner Tutorials
• Mathew Wadstein Tutorials
• Leo Gonzales Unreal Basics
• Tesla Dev Tutorials
• UE4 Style Guide
51. Education Community VR for UE4
Free UE4 Community Blueprints:
• Communication Training - Zak Parrish
• Blueprints Compendium - VOLUME II
• BP_Compendium.pdf
• Network Compendium
Free UE4 Community VR Learning Channels:
• Unreal Engine VR Curriculum
Free UE4 Community ArchViz Learning Channels:
• Architectural Visualization Tutorials
Paid e-learning Courses:
• Unreal Engine 4: The Complete Beginner's Course
• Learn to Code in C++ by Developing Your First
Game
• Complete Introduction to Unreal 4
• An Introduction to Creating Realistic Materials in
UE4
• Master Blueprints in Unreal Engine 4 - Endless
Runner
• Create a Helicopter Game Control System in
Unreal Engine 4
• Unreal Essential Training - Lynda.com
• Unreal: Learn Lighting - Lynda.com
• 3dmotive - Unreal Engine courses
• Pluralsight - Unreal Engine courses
53. You can download the project file that was used for
the VRLA 17 worshop at the THIS link.
Luis Cataldi - Director of Education and Learning - Epic Games