SlideShare a Scribd company logo
Luis Cataldi - Director of Education and Learning - Epic Games
Making High Quality VR with Unreal Engine
Launch the project  Double clicking on the
.uproject file
Launch the project  The Outpost 23 Landri
map file will load by
default
Content Consideration For High Quality VR  The Outpost 23 Landri
map file will load by
default
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
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
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
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
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
Deferred Decals  Use Deferred Decal
Material Domains
 Translucent Blend Modes
 Options for using various
Decal Blend Modes
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
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.
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).
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
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.
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
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
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.
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.
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.
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.
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`.
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.
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
Create once, and deploy anywhere.
Mobile
Desktop / Console
Oculus Rift
HTC Vive / Steam VR
PSVR
OSVR
Samsung Gear VR
Google Daydream
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
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.
Design Considerations for VR
A significan consideration when desinging
for VR is how to minimize/prevent
Motion/Simulation Sickness.
How is it Motion/Simulation Sickness
caused?
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.
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
The Unreal Engine Framework
GameInstance
GameMode
Pawn Class
HUD Class
PlayerController
Class
GameState
Class
PlayerState
Class
GameInstance
GameMode
Pawn Class
HUD Class
PlayerController
Class
GameState
Class
PlayerState
Class
The GameMode is the definition of the
game.
● It also holds important
information about:
• Pawn
• PlayerContoller
• GameState
• PlayerState
• HUD
GameInstance
GameMode
Pawn Class
HUD Class
PlayerController
Class
GameState
Class
PlayerState
Class
The Pawn class is the base class of all
Actors that can be controlled by
players or AI.
● The Pawn represents the
physical location, rotation, etc.
of a player or entity within the
game.
● A Character is a special type of
Pawn that has the ability to walk
around.
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.
GameInstance
GameMode
Pawn Class
HUD Class
PlayerController
Class
GameState
Class
PlayerState
Class
The GameInstance is a class who’s
state persists switching of levels, game
modes, pawns etc. Where classes like
GameMode or PlayerController are
being reset and data stored in those
classes is removed.
GameInstance
GameMode
Pawn Class
HUD Class
PlayerController
Class
GameState
Class
PlayerState
Class
A PlayerState is the state of a
participant in the game, such as a
human player or a bot that is
simulating a player. Non-player AI that
exists as part of the game would not
have a PlayerState.
GameInstance
GameMode
Pawn Class
HUD Class
PlayerController
Class
GameState
Class
PlayerState
Class
The GameState contains the state of
the game, which could include things
like the list of connected players, the
score, where the pieces are in a chess
game, or the list of what missions you
have completed in an open world
game.
GameInstance
GameMode
Pawn Class
HUD Class
PlayerController
Class
GameState
Class
PlayerState
Class
The HUD is the base object for
displaying elements overlaid on the
screen. Every human-controlled player
in the game has their own instance of
the AHUD class which draws to their
individual Viewport.
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
CharacterMovementComponent
Pawn
Character
Default Pawn
Wheeled
Vehicle
CapsuleComponent
SkeletalMeshComponent
Etc.
VehicleMovementComponent
SkeletalMeshComponent
PhysicsHandle
Etc.
SpectatorPawn
DefaultPawnMovementComponent
StaticMeshComponent
CollisionComponent, Etc.
Controller
1-to-1 Relationship
How can we learn to harness
the power of Unreal Engine?
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
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
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
The Unreal Engine Release Notes
Education Community VR for UE4
Mitchell McCaffrey’s - Mitch VR Labs
• Mitch's VR Lab - an Introduction
• Mitch's VR Lab - Look Based interaction
• Mitch's VR Lab - Simple Teleportation Mechanic
• Mitch's VR Lab - Introduction to SteamVR
• Mitch's VR Lab - Simple Head IK
• Mitch’s UE4 Forum Post
Education Community VR for UE4
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
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
Thanks for leanring with us.
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

More Related Content

PPTX
Intro to unreal with framework and vr
PDF
멀티플레이 레벨 디자인의 10가지 팁
PPTX
Robo Recallで使われている 最新のVR開発テクニックをご紹介!
PPTX
初心者ががんばる建築ビジュアライゼーション:ライティング編 - UE4勉強会in大阪#4
PPTX
Python / BlueprintによるUnreal Engineの自動化 / GTMF2019
PDF
UE4のモバイル開発におけるコンテンツアップデートの話 - Chunk IDとの激闘編 -
PDF
UE4 Hair & Groomでのリアルタイムファーレンダリング (UE4 Character Art Dive Online)
PDF
Game Creators Conference 2019 Takashi Itai
Intro to unreal with framework and vr
멀티플레이 레벨 디자인의 10가지 팁
Robo Recallで使われている 最新のVR開発テクニックをご紹介!
初心者ががんばる建築ビジュアライゼーション:ライティング編 - UE4勉強会in大阪#4
Python / BlueprintによるUnreal Engineの自動化 / GTMF2019
UE4のモバイル開発におけるコンテンツアップデートの話 - Chunk IDとの激闘編 -
UE4 Hair & Groomでのリアルタイムファーレンダリング (UE4 Character Art Dive Online)
Game Creators Conference 2019 Takashi Itai

What's hot (20)

PPTX
ぷちコン作品を4日で作った話
PDF
Visual Dataprepで建築データを美味しく下ごしらえ UNREAL FEST EXTREME 2021 SUMMER
PDF
Press Button, Drink Coffee : An Overview of UE4 build pipeline and maintenance
PPTX
[CEDEC2017] UE4プロファイリングツール総おさらい(グラフィクス編)
PDF
「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像
PDF
CEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらい
PDF
猫でも分かる Control Rig UE4.25 版
PDF
KGC 2013 - 5일만에 레벨 디자인하기
PDF
UE4 Ray Tracingによる リアルタイムコンテンツ制作
PDF
UE4背景アーティスト勉強会(前編) 背景ワークフロー解説
PDF
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
PDF
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
PDF
[CEDEC+KYUSHU 2017] 最新モバイルゲームの実例からみるUE4のモバイル向け機能・Tipsを全部まるっとご紹介! + UE4.18 モバイ...
PPTX
IncrediBuildでビルド時間を最大90%短縮! - インクレディビルドジャパン株式会社 - GTMF 2018 OSAKA
PPTX
マテリアルエディタで作るVFX
PPTX
Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...
PPTX
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...
PPTX
50分でわかるブループリントについて
PDF
SceneCapture2Dを使って壁の向こうを見る -気になるあの娘の部屋の壁-
ぷちコン作品を4日で作った話
Visual Dataprepで建築データを美味しく下ごしらえ UNREAL FEST EXTREME 2021 SUMMER
Press Button, Drink Coffee : An Overview of UE4 build pipeline and maintenance
[CEDEC2017] UE4プロファイリングツール総おさらい(グラフィクス編)
「Press Button, Drink Coffee」 UE4における ビルドパイプラインとメンテナンスの全体像
CEDEC2016: Unreal Engine 4 のレンダリングフロー総おさらい
猫でも分かる Control Rig UE4.25 版
KGC 2013 - 5일만에 레벨 디자인하기
UE4 Ray Tracingによる リアルタイムコンテンツ制作
UE4背景アーティスト勉強会(前編) 背景ワークフロー解説
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
[CEDEC+KYUSHU 2017] 最新モバイルゲームの実例からみるUE4のモバイル向け機能・Tipsを全部まるっとご紹介! + UE4.18 モバイ...
IncrediBuildでビルド時間を最大90%短縮! - インクレディビルドジャパン株式会社 - GTMF 2018 OSAKA
マテリアルエディタで作るVFX
Developing and optimizing a procedural game: The Elder Scrolls Blades- Unite ...
[IGF2018] UE4でAndroidアプリを開発する際に知っておきたいパフォーマンス改善テクニック + INDIE GAMES FESTIVAL 2...
50分でわかるブループリントについて
SceneCapture2Dを使って壁の向こうを見る -気になるあの娘の部屋の壁-
Ad

Similar to Making High Quality Interactive VR with Unreal Engine Luis Cataldi (20)

PPTX
Making VR with Unreal Engine Luis Cataldi
PPTX
Making VR games and experiences in Unreal Engine
PPTX
Making VR Games and Experiences in UE4
PPTX
Intro to VR with Unreal Engine
PPTX
Luis cataldi-ue4-vr-best-practices2
PDF
Alex_Vlachos_Advanced_VR_Rendering_GDC2015
PPTX
Development and Optimization of GearVR games using Unreal Engine
PDF
How to Improve Visual Rendering Quality in VR - Unite Copenhagen 2019
PDF
Alex_Vlachos_Advanced_VR_Rendering_Performance_GDC2016
PPTX
Art and design for VR
PDF
VR Base Camp: Scaling the Next Major Platform
PPTX
VR Optimization Techniques
PPTX
The Rendering Pipeline - Challenges & Next Steps
PDF
Building VR Applications For Google Cardboard
PDF
Console to PC VR: Lessons Learned from the Unspoken
PPTX
XR graphics in Unity: delivering the best AR/VR experiences – Unite Copenhage...
PDF
Unity: Next Level Rendering Quality
PDF
Make believe - Droidcon UK 2015
PDF
Unreal Engine 5 for VR Development All You Need to Know
PDF
Alexey Savchenko, Unreal Engine
Making VR with Unreal Engine Luis Cataldi
Making VR games and experiences in Unreal Engine
Making VR Games and Experiences in UE4
Intro to VR with Unreal Engine
Luis cataldi-ue4-vr-best-practices2
Alex_Vlachos_Advanced_VR_Rendering_GDC2015
Development and Optimization of GearVR games using Unreal Engine
How to Improve Visual Rendering Quality in VR - Unite Copenhagen 2019
Alex_Vlachos_Advanced_VR_Rendering_Performance_GDC2016
Art and design for VR
VR Base Camp: Scaling the Next Major Platform
VR Optimization Techniques
The Rendering Pipeline - Challenges & Next Steps
Building VR Applications For Google Cardboard
Console to PC VR: Lessons Learned from the Unspoken
XR graphics in Unity: delivering the best AR/VR experiences – Unite Copenhage...
Unity: Next Level Rendering Quality
Make believe - Droidcon UK 2015
Unreal Engine 5 for VR Development All You Need to Know
Alexey Savchenko, Unreal Engine
Ad

Recently uploaded (20)

PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
Microbial disease of the cardiovascular and lymphatic systems
PDF
RMMM.pdf make it easy to upload and study
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PPTX
PPH.pptx obstetrics and gynecology in nursing
PDF
01-Introduction-to-Information-Management.pdf
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PPTX
Lesson notes of climatology university.
PDF
Pre independence Education in Inndia.pdf
PDF
Computing-Curriculum for Schools in Ghana
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PPTX
Cell Structure & Organelles in detailed.
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
Microbial diseases, their pathogenesis and prophylaxis
Anesthesia in Laparoscopic Surgery in India
Microbial disease of the cardiovascular and lymphatic systems
RMMM.pdf make it easy to upload and study
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PPH.pptx obstetrics and gynecology in nursing
01-Introduction-to-Information-Management.pdf
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
Lesson notes of climatology university.
Pre independence Education in Inndia.pdf
Computing-Curriculum for Schools in Ghana
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
102 student loan defaulters named and shamed – Is someone you know on the list?
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
STATICS OF THE RIGID BODIES Hibbelers.pdf
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
Cell Structure & Organelles in detailed.
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
Module 4: Burden of Disease Tutorial Slides S2 2025
human mycosis Human fungal infections are called human mycosis..pptx

Making High Quality Interactive VR with Unreal Engine Luis Cataldi

  • 1. Luis Cataldi - Director of Education and Learning - Epic Games Making High Quality VR with Unreal Engine
  • 2. Launch the project  Double clicking on the .uproject file
  • 3. Launch the project  The Outpost 23 Landri map file will load by default
  • 4. Content Consideration For High Quality VR  The Outpost 23 Landri map file will load by default
  • 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.
  • 29. A significan consideration when desinging for VR is how to minimize/prevent Motion/Simulation Sickness.
  • 30. How is it Motion/Simulation Sickness caused?
  • 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
  • 34. GameInstance GameMode Pawn Class HUD Class PlayerController Class GameState Class PlayerState Class The GameMode is the definition of the game. ● It also holds important information about: • Pawn • PlayerContoller • GameState • PlayerState • HUD
  • 35. GameInstance GameMode Pawn Class HUD Class PlayerController Class GameState Class PlayerState Class The Pawn class is the base class of all Actors that can be controlled by players or AI. ● The Pawn represents the physical location, rotation, etc. of a player or entity within the game. ● A Character is a special type of Pawn that has the ability to walk around.
  • 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.
  • 37. GameInstance GameMode Pawn Class HUD Class PlayerController Class GameState Class PlayerState Class The GameInstance is a class who’s state persists switching of levels, game modes, pawns etc. Where classes like GameMode or PlayerController are being reset and data stored in those classes is removed.
  • 38. GameInstance GameMode Pawn Class HUD Class PlayerController Class GameState Class PlayerState Class A PlayerState is the state of a participant in the game, such as a human player or a bot that is simulating a player. Non-player AI that exists as part of the game would not have a PlayerState.
  • 39. GameInstance GameMode Pawn Class HUD Class PlayerController Class GameState Class PlayerState Class The GameState contains the state of the game, which could include things like the list of connected players, the score, where the pieces are in a chess game, or the list of what missions you have completed in an open world game.
  • 40. GameInstance GameMode Pawn Class HUD Class PlayerController Class GameState Class PlayerState Class The HUD is the base object for displaying elements overlaid on the screen. Every human-controlled player in the game has their own instance of the AHUD class which draws to their individual Viewport.
  • 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
  • 47. The Unreal Engine Release Notes
  • 48. Education Community VR for UE4 Mitchell McCaffrey’s - Mitch VR Labs • Mitch's VR Lab - an Introduction • Mitch's VR Lab - Look Based interaction • Mitch's VR Lab - Simple Teleportation Mechanic • Mitch's VR Lab - Introduction to SteamVR • Mitch's VR Lab - Simple Head IK • Mitch’s UE4 Forum Post
  • 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