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
Ad

More Related Content

What's hot (10)

Strip Zabavnik 048.PDF
Strip Zabavnik 048.PDFStrip Zabavnik 048.PDF
Strip Zabavnik 048.PDF
Milenko Gavric
 
Zagor VC OP 004 - Sekira i sablja
Zagor VC OP 004 - Sekira i sabljaZagor VC OP 004 - Sekira i sablja
Zagor VC OP 004 - Sekira i sablja
Stripovizijacom
 
Monthly Khazina-e-Ruhaniyaat Jun'22 (Vol.13, Issue 2)
Monthly Khazina-e-Ruhaniyaat Jun'22 (Vol.13, Issue 2)Monthly Khazina-e-Ruhaniyaat Jun'22 (Vol.13, Issue 2)
Monthly Khazina-e-Ruhaniyaat Jun'22 (Vol.13, Issue 2)
Darul Amal Chishtia
 
Bimby pastas e risotos
Bimby pastas e risotosBimby pastas e risotos
Bimby pastas e risotos
PaulaRabelo3
 
Monthly Khazina-e-Ruhaniyaat Mar’2021 (Vol.11, Issue 11)
Monthly Khazina-e-Ruhaniyaat Mar’2021 (Vol.11, Issue 11)Monthly Khazina-e-Ruhaniyaat Mar’2021 (Vol.11, Issue 11)
Monthly Khazina-e-Ruhaniyaat Mar’2021 (Vol.11, Issue 11)
Darul Amal Chishtia
 
Security officers board certificate.PDF
Security officers board certificate.PDFSecurity officers board certificate.PDF
Security officers board certificate.PDF
nick kitching
 
Mobiliario Escolar Uruguayo - Riesgos asociado a la postura en clase - Federi...
Mobiliario Escolar Uruguayo - Riesgos asociado a la postura en clase - Federi...Mobiliario Escolar Uruguayo - Riesgos asociado a la postura en clase - Federi...
Mobiliario Escolar Uruguayo - Riesgos asociado a la postura en clase - Federi...
Federico Ferreira
 
Renal Physiology - Regulation of Plasma Osmolarity
Renal Physiology - Regulation of Plasma OsmolarityRenal Physiology - Regulation of Plasma Osmolarity
Renal Physiology - Regulation of Plasma Osmolarity
MedicoseAcademics
 
Illustrated hints for health and strength for busy people
Illustrated hints for health and strength for busy peopleIllustrated hints for health and strength for busy people
Illustrated hints for health and strength for busy people
Isshin Stark
 
Zagor lib col - knjiga 22 - saka smaragda
Zagor   lib col - knjiga 22 - saka smaragdaZagor   lib col - knjiga 22 - saka smaragda
Zagor lib col - knjiga 22 - saka smaragda
Stripovizijacom
 
Strip Zabavnik 048.PDF
Strip Zabavnik 048.PDFStrip Zabavnik 048.PDF
Strip Zabavnik 048.PDF
Milenko Gavric
 
Zagor VC OP 004 - Sekira i sablja
Zagor VC OP 004 - Sekira i sabljaZagor VC OP 004 - Sekira i sablja
Zagor VC OP 004 - Sekira i sablja
Stripovizijacom
 
Monthly Khazina-e-Ruhaniyaat Jun'22 (Vol.13, Issue 2)
Monthly Khazina-e-Ruhaniyaat Jun'22 (Vol.13, Issue 2)Monthly Khazina-e-Ruhaniyaat Jun'22 (Vol.13, Issue 2)
Monthly Khazina-e-Ruhaniyaat Jun'22 (Vol.13, Issue 2)
Darul Amal Chishtia
 
Bimby pastas e risotos
Bimby pastas e risotosBimby pastas e risotos
Bimby pastas e risotos
PaulaRabelo3
 
Monthly Khazina-e-Ruhaniyaat Mar’2021 (Vol.11, Issue 11)
Monthly Khazina-e-Ruhaniyaat Mar’2021 (Vol.11, Issue 11)Monthly Khazina-e-Ruhaniyaat Mar’2021 (Vol.11, Issue 11)
Monthly Khazina-e-Ruhaniyaat Mar’2021 (Vol.11, Issue 11)
Darul Amal Chishtia
 
Security officers board certificate.PDF
Security officers board certificate.PDFSecurity officers board certificate.PDF
Security officers board certificate.PDF
nick kitching
 
Mobiliario Escolar Uruguayo - Riesgos asociado a la postura en clase - Federi...
Mobiliario Escolar Uruguayo - Riesgos asociado a la postura en clase - Federi...Mobiliario Escolar Uruguayo - Riesgos asociado a la postura en clase - Federi...
Mobiliario Escolar Uruguayo - Riesgos asociado a la postura en clase - Federi...
Federico Ferreira
 
Renal Physiology - Regulation of Plasma Osmolarity
Renal Physiology - Regulation of Plasma OsmolarityRenal Physiology - Regulation of Plasma Osmolarity
Renal Physiology - Regulation of Plasma Osmolarity
MedicoseAcademics
 
Illustrated hints for health and strength for busy people
Illustrated hints for health and strength for busy peopleIllustrated hints for health and strength for busy people
Illustrated hints for health and strength for busy people
Isshin Stark
 
Zagor lib col - knjiga 22 - saka smaragda
Zagor   lib col - knjiga 22 - saka smaragdaZagor   lib col - knjiga 22 - saka smaragda
Zagor lib col - knjiga 22 - saka smaragda
Stripovizijacom
 

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

Making VR with Unreal Engine Luis Cataldi
Making VR with Unreal Engine  Luis CataldiMaking VR with Unreal Engine  Luis Cataldi
Making VR with Unreal Engine Luis Cataldi
Unreal Engine
 
LightWave™ 3D 11 Add-a-Seat
LightWave™ 3D 11 Add-a-SeatLightWave™ 3D 11 Add-a-Seat
LightWave™ 3D 11 Add-a-Seat
Topend Electronics
 
Deferred rendering in_leadwerks_engine[1]
Deferred rendering in_leadwerks_engine[1]Deferred rendering in_leadwerks_engine[1]
Deferred rendering in_leadwerks_engine[1]
ozlael ozlael
 
Visibility Optimization for Games
Visibility Optimization for GamesVisibility Optimization for Games
Visibility Optimization for Games
Umbra
 
Visibility Optimization for Games
Visibility Optimization for GamesVisibility Optimization for Games
Visibility Optimization for Games
Sampo Lappalainen
 
XR graphics in Unity: delivering the best AR/VR experiences – Unite Copenhage...
XR graphics in Unity: delivering the best AR/VR experiences – Unite Copenhage...XR graphics in Unity: delivering the best AR/VR experiences – Unite Copenhage...
XR graphics in Unity: delivering the best AR/VR experiences – Unite Copenhage...
Unity Technologies
 
Luis cataldi-ue4-vr-best-practices2
Luis cataldi-ue4-vr-best-practices2Luis cataldi-ue4-vr-best-practices2
Luis cataldi-ue4-vr-best-practices2
Luis Cataldi
 
Alexey Savchenko, Unreal Engine
Alexey Savchenko, Unreal EngineAlexey Savchenko, Unreal Engine
Alexey Savchenko, Unreal Engine
White Nights Conference
 
Gpu presentation
Gpu presentationGpu presentation
Gpu presentation
spartasoft
 
Sig13 ce future_gfx
Sig13 ce future_gfxSig13 ce future_gfx
Sig13 ce future_gfx
Cass Everitt
 
Azlina5 imagery
Azlina5  imageryAzlina5  imagery
Azlina5 imagery
Azlina Mahad
 
Essential Tips for Optimizing 3D Modelling and Animation.pptx
Essential Tips for Optimizing 3D Modelling and Animation.pptxEssential Tips for Optimizing 3D Modelling and Animation.pptx
Essential Tips for Optimizing 3D Modelling and Animation.pptx
vinzglobalsocial
 
FACE COUNTING USING OPEN CV & PYTHON FOR ANALYZING UNUSUAL EVENTS IN CROWDS
FACE COUNTING USING OPEN CV & PYTHON FOR ANALYZING UNUSUAL EVENTS IN CROWDSFACE COUNTING USING OPEN CV & PYTHON FOR ANALYZING UNUSUAL EVENTS IN CROWDS
FACE COUNTING USING OPEN CV & PYTHON FOR ANALYZING UNUSUAL EVENTS IN CROWDS
IRJET Journal
 
1604.08848v1
1604.08848v11604.08848v1
1604.08848v1
Markus Höll
 
Point cloud mesh-investigation_report-lihang
Point cloud mesh-investigation_report-lihangPoint cloud mesh-investigation_report-lihang
Point cloud mesh-investigation_report-lihang
Lihang Li
 
The Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next StepsThe Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next Steps
repii
 
Praseed Pai
Praseed PaiPraseed Pai
Praseed Pai
Barcamp Kerala
 
Migrating from OpenGL to Vulkan
Migrating from OpenGL to VulkanMigrating from OpenGL to Vulkan
Migrating from OpenGL to Vulkan
Mark Kilgard
 
Technologies Used In Graphics Rendering
Technologies Used In Graphics RenderingTechnologies Used In Graphics Rendering
Technologies Used In Graphics Rendering
Bhupinder Singh
 
OpenGL for 2015
OpenGL for 2015OpenGL for 2015
OpenGL for 2015
Mark Kilgard
 
Making VR with Unreal Engine Luis Cataldi
Making VR with Unreal Engine  Luis CataldiMaking VR with Unreal Engine  Luis Cataldi
Making VR with Unreal Engine Luis Cataldi
Unreal Engine
 
Deferred rendering in_leadwerks_engine[1]
Deferred rendering in_leadwerks_engine[1]Deferred rendering in_leadwerks_engine[1]
Deferred rendering in_leadwerks_engine[1]
ozlael ozlael
 
Visibility Optimization for Games
Visibility Optimization for GamesVisibility Optimization for Games
Visibility Optimization for Games
Umbra
 
Visibility Optimization for Games
Visibility Optimization for GamesVisibility Optimization for Games
Visibility Optimization for Games
Sampo Lappalainen
 
XR graphics in Unity: delivering the best AR/VR experiences – Unite Copenhage...
XR graphics in Unity: delivering the best AR/VR experiences – Unite Copenhage...XR graphics in Unity: delivering the best AR/VR experiences – Unite Copenhage...
XR graphics in Unity: delivering the best AR/VR experiences – Unite Copenhage...
Unity Technologies
 
Luis cataldi-ue4-vr-best-practices2
Luis cataldi-ue4-vr-best-practices2Luis cataldi-ue4-vr-best-practices2
Luis cataldi-ue4-vr-best-practices2
Luis Cataldi
 
Gpu presentation
Gpu presentationGpu presentation
Gpu presentation
spartasoft
 
Sig13 ce future_gfx
Sig13 ce future_gfxSig13 ce future_gfx
Sig13 ce future_gfx
Cass Everitt
 
Essential Tips for Optimizing 3D Modelling and Animation.pptx
Essential Tips for Optimizing 3D Modelling and Animation.pptxEssential Tips for Optimizing 3D Modelling and Animation.pptx
Essential Tips for Optimizing 3D Modelling and Animation.pptx
vinzglobalsocial
 
FACE COUNTING USING OPEN CV & PYTHON FOR ANALYZING UNUSUAL EVENTS IN CROWDS
FACE COUNTING USING OPEN CV & PYTHON FOR ANALYZING UNUSUAL EVENTS IN CROWDSFACE COUNTING USING OPEN CV & PYTHON FOR ANALYZING UNUSUAL EVENTS IN CROWDS
FACE COUNTING USING OPEN CV & PYTHON FOR ANALYZING UNUSUAL EVENTS IN CROWDS
IRJET Journal
 
Point cloud mesh-investigation_report-lihang
Point cloud mesh-investigation_report-lihangPoint cloud mesh-investigation_report-lihang
Point cloud mesh-investigation_report-lihang
Lihang Li
 
The Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next StepsThe Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next Steps
repii
 
Migrating from OpenGL to Vulkan
Migrating from OpenGL to VulkanMigrating from OpenGL to Vulkan
Migrating from OpenGL to Vulkan
Mark Kilgard
 
Technologies Used In Graphics Rendering
Technologies Used In Graphics RenderingTechnologies Used In Graphics Rendering
Technologies Used In Graphics Rendering
Bhupinder Singh
 
Ad

More from Luis Cataldi (9)

Migrating to real time - Learning Unreal Engine 4
Migrating to real time - Learning Unreal Engine 4Migrating to real time - Learning Unreal Engine 4
Migrating to real time - Learning Unreal Engine 4
Luis Cataldi
 
UnrealEngine_4_hackathon
UnrealEngine_4_hackathonUnrealEngine_4_hackathon
UnrealEngine_4_hackathon
Luis Cataldi
 
Making VR games and experiences in Unreal Engine
Making VR games and experiences in Unreal EngineMaking VR games and experiences in Unreal Engine
Making VR games and experiences in Unreal Engine
Luis Cataldi
 
Intro to unreal with framework and vr
Intro to unreal with framework and vrIntro to unreal with framework and vr
Intro to unreal with framework and vr
Luis Cataldi
 
Luis Catald IGDA Sept 2015
Luis Catald IGDA Sept 2015Luis Catald IGDA Sept 2015
Luis Catald IGDA Sept 2015
Luis Cataldi
 
Ue4 siggraph-nick-whiting
Ue4 siggraph-nick-whitingUe4 siggraph-nick-whiting
Ue4 siggraph-nick-whiting
Luis Cataldi
 
Kim libreri-siggraph 2015
Kim libreri-siggraph 2015Kim libreri-siggraph 2015
Kim libreri-siggraph 2015
Luis Cataldi
 
Luis cataldi-siggraph 2015
Luis cataldi-siggraph 2015Luis cataldi-siggraph 2015
Luis cataldi-siggraph 2015
Luis Cataldi
 
Luis cataldi unreal engine for educators
Luis cataldi   unreal engine for educatorsLuis cataldi   unreal engine for educators
Luis cataldi unreal engine for educators
Luis Cataldi
 
Migrating to real time - Learning Unreal Engine 4
Migrating to real time - Learning Unreal Engine 4Migrating to real time - Learning Unreal Engine 4
Migrating to real time - Learning Unreal Engine 4
Luis Cataldi
 
UnrealEngine_4_hackathon
UnrealEngine_4_hackathonUnrealEngine_4_hackathon
UnrealEngine_4_hackathon
Luis Cataldi
 
Making VR games and experiences in Unreal Engine
Making VR games and experiences in Unreal EngineMaking VR games and experiences in Unreal Engine
Making VR games and experiences in Unreal Engine
Luis Cataldi
 
Intro to unreal with framework and vr
Intro to unreal with framework and vrIntro to unreal with framework and vr
Intro to unreal with framework and vr
Luis Cataldi
 
Luis Catald IGDA Sept 2015
Luis Catald IGDA Sept 2015Luis Catald IGDA Sept 2015
Luis Catald IGDA Sept 2015
Luis Cataldi
 
Ue4 siggraph-nick-whiting
Ue4 siggraph-nick-whitingUe4 siggraph-nick-whiting
Ue4 siggraph-nick-whiting
Luis Cataldi
 
Kim libreri-siggraph 2015
Kim libreri-siggraph 2015Kim libreri-siggraph 2015
Kim libreri-siggraph 2015
Luis Cataldi
 
Luis cataldi-siggraph 2015
Luis cataldi-siggraph 2015Luis cataldi-siggraph 2015
Luis cataldi-siggraph 2015
Luis Cataldi
 
Luis cataldi unreal engine for educators
Luis cataldi   unreal engine for educatorsLuis cataldi   unreal engine for educators
Luis cataldi unreal engine for educators
Luis Cataldi
 
Ad

Recently uploaded (20)

How to Clean Your Contacts Using the Deduplication Menu in Odoo 18
How to Clean Your Contacts Using the Deduplication Menu in Odoo 18How to Clean Your Contacts Using the Deduplication Menu in Odoo 18
How to Clean Your Contacts Using the Deduplication Menu in Odoo 18
Celine George
 
Final Evaluation.docx...........................
Final Evaluation.docx...........................Final Evaluation.docx...........................
Final Evaluation.docx...........................
l1bbyburrell
 
The History of Kashmir Karkota Dynasty NEP.pptx
The History of Kashmir Karkota Dynasty NEP.pptxThe History of Kashmir Karkota Dynasty NEP.pptx
The History of Kashmir Karkota Dynasty NEP.pptx
Arya Mahila P. G. College, Banaras Hindu University, Varanasi, India.
 
antiquity of writing in ancient India- literary & archaeological evidence
antiquity of writing in ancient India- literary & archaeological evidenceantiquity of writing in ancient India- literary & archaeological evidence
antiquity of writing in ancient India- literary & archaeological evidence
PrachiSontakke5
 
spinal cord disorders (Myelopathies and radiculoapthies)
spinal cord disorders (Myelopathies and radiculoapthies)spinal cord disorders (Myelopathies and radiculoapthies)
spinal cord disorders (Myelopathies and radiculoapthies)
Mohamed Rizk Khodair
 
Botany Assignment Help Guide - Academic Excellence
Botany Assignment Help Guide - Academic ExcellenceBotany Assignment Help Guide - Academic Excellence
Botany Assignment Help Guide - Academic Excellence
online college homework help
 
Rock Art As a Source of Ancient Indian History
Rock Art As a Source of Ancient Indian HistoryRock Art As a Source of Ancient Indian History
Rock Art As a Source of Ancient Indian History
Virag Sontakke
 
Ancient Stone Sculptures of India: As a Source of Indian History
Ancient Stone Sculptures of India: As a Source of Indian HistoryAncient Stone Sculptures of India: As a Source of Indian History
Ancient Stone Sculptures of India: As a Source of Indian History
Virag Sontakke
 
TERMINOLOGIES,GRIEF PROCESS AND LOSS AMD ITS TYPES .pptx
TERMINOLOGIES,GRIEF PROCESS AND LOSS AMD ITS TYPES .pptxTERMINOLOGIES,GRIEF PROCESS AND LOSS AMD ITS TYPES .pptx
TERMINOLOGIES,GRIEF PROCESS AND LOSS AMD ITS TYPES .pptx
PoojaSen20
 
How to Share Accounts Between Companies in Odoo 18
How to Share Accounts Between Companies in Odoo 18How to Share Accounts Between Companies in Odoo 18
How to Share Accounts Between Companies in Odoo 18
Celine George
 
MEDICAL BIOLOGY MCQS BY. DR NASIR MUSTAFA
MEDICAL BIOLOGY MCQS  BY. DR NASIR MUSTAFAMEDICAL BIOLOGY MCQS  BY. DR NASIR MUSTAFA
MEDICAL BIOLOGY MCQS BY. DR NASIR MUSTAFA
Dr. Nasir Mustafa
 
How to Configure Public Holidays & Mandatory Days in Odoo 18
How to Configure Public Holidays & Mandatory Days in Odoo 18How to Configure Public Holidays & Mandatory Days in Odoo 18
How to Configure Public Holidays & Mandatory Days in Odoo 18
Celine George
 
How to Manage Amounts in Local Currency in Odoo 18 Purchase
How to Manage Amounts in Local Currency in Odoo 18 PurchaseHow to Manage Amounts in Local Currency in Odoo 18 Purchase
How to Manage Amounts in Local Currency in Odoo 18 Purchase
Celine George
 
Redesigning Education as a Cognitive Ecosystem: Practical Insights into Emerg...
Redesigning Education as a Cognitive Ecosystem: Practical Insights into Emerg...Redesigning Education as a Cognitive Ecosystem: Practical Insights into Emerg...
Redesigning Education as a Cognitive Ecosystem: Practical Insights into Emerg...
Leonel Morgado
 
LDMMIA Reiki News Ed3 Vol1 For Team and Guests
LDMMIA Reiki News Ed3 Vol1 For Team and GuestsLDMMIA Reiki News Ed3 Vol1 For Team and Guests
LDMMIA Reiki News Ed3 Vol1 For Team and Guests
LDM Mia eStudios
 
MCQ PHYSIOLOGY II (DR. NASIR MUSTAFA) MCQS)
MCQ PHYSIOLOGY II (DR. NASIR MUSTAFA) MCQS)MCQ PHYSIOLOGY II (DR. NASIR MUSTAFA) MCQS)
MCQ PHYSIOLOGY II (DR. NASIR MUSTAFA) MCQS)
Dr. Nasir Mustafa
 
Mental Health Assessment in 5th semester bsc. nursing and also used in 2nd ye...
Mental Health Assessment in 5th semester bsc. nursing and also used in 2nd ye...Mental Health Assessment in 5th semester bsc. nursing and also used in 2nd ye...
Mental Health Assessment in 5th semester bsc. nursing and also used in 2nd ye...
parmarjuli1412
 
Myopathies (muscle disorders) for undergraduate
Myopathies (muscle disorders) for undergraduateMyopathies (muscle disorders) for undergraduate
Myopathies (muscle disorders) for undergraduate
Mohamed Rizk Khodair
 
How To Maximize Sales Performance using Odoo 18 Diverse views in sales module
How To Maximize Sales Performance using Odoo 18 Diverse views in sales moduleHow To Maximize Sales Performance using Odoo 18 Diverse views in sales module
How To Maximize Sales Performance using Odoo 18 Diverse views in sales module
Celine George
 
ANTI-VIRAL DRUGS unit 3 Pharmacology 3.pptx
ANTI-VIRAL DRUGS unit 3 Pharmacology 3.pptxANTI-VIRAL DRUGS unit 3 Pharmacology 3.pptx
ANTI-VIRAL DRUGS unit 3 Pharmacology 3.pptx
Mayuri Chavan
 
How to Clean Your Contacts Using the Deduplication Menu in Odoo 18
How to Clean Your Contacts Using the Deduplication Menu in Odoo 18How to Clean Your Contacts Using the Deduplication Menu in Odoo 18
How to Clean Your Contacts Using the Deduplication Menu in Odoo 18
Celine George
 
Final Evaluation.docx...........................
Final Evaluation.docx...........................Final Evaluation.docx...........................
Final Evaluation.docx...........................
l1bbyburrell
 
antiquity of writing in ancient India- literary & archaeological evidence
antiquity of writing in ancient India- literary & archaeological evidenceantiquity of writing in ancient India- literary & archaeological evidence
antiquity of writing in ancient India- literary & archaeological evidence
PrachiSontakke5
 
spinal cord disorders (Myelopathies and radiculoapthies)
spinal cord disorders (Myelopathies and radiculoapthies)spinal cord disorders (Myelopathies and radiculoapthies)
spinal cord disorders (Myelopathies and radiculoapthies)
Mohamed Rizk Khodair
 
Botany Assignment Help Guide - Academic Excellence
Botany Assignment Help Guide - Academic ExcellenceBotany Assignment Help Guide - Academic Excellence
Botany Assignment Help Guide - Academic Excellence
online college homework help
 
Rock Art As a Source of Ancient Indian History
Rock Art As a Source of Ancient Indian HistoryRock Art As a Source of Ancient Indian History
Rock Art As a Source of Ancient Indian History
Virag Sontakke
 
Ancient Stone Sculptures of India: As a Source of Indian History
Ancient Stone Sculptures of India: As a Source of Indian HistoryAncient Stone Sculptures of India: As a Source of Indian History
Ancient Stone Sculptures of India: As a Source of Indian History
Virag Sontakke
 
TERMINOLOGIES,GRIEF PROCESS AND LOSS AMD ITS TYPES .pptx
TERMINOLOGIES,GRIEF PROCESS AND LOSS AMD ITS TYPES .pptxTERMINOLOGIES,GRIEF PROCESS AND LOSS AMD ITS TYPES .pptx
TERMINOLOGIES,GRIEF PROCESS AND LOSS AMD ITS TYPES .pptx
PoojaSen20
 
How to Share Accounts Between Companies in Odoo 18
How to Share Accounts Between Companies in Odoo 18How to Share Accounts Between Companies in Odoo 18
How to Share Accounts Between Companies in Odoo 18
Celine George
 
MEDICAL BIOLOGY MCQS BY. DR NASIR MUSTAFA
MEDICAL BIOLOGY MCQS  BY. DR NASIR MUSTAFAMEDICAL BIOLOGY MCQS  BY. DR NASIR MUSTAFA
MEDICAL BIOLOGY MCQS BY. DR NASIR MUSTAFA
Dr. Nasir Mustafa
 
How to Configure Public Holidays & Mandatory Days in Odoo 18
How to Configure Public Holidays & Mandatory Days in Odoo 18How to Configure Public Holidays & Mandatory Days in Odoo 18
How to Configure Public Holidays & Mandatory Days in Odoo 18
Celine George
 
How to Manage Amounts in Local Currency in Odoo 18 Purchase
How to Manage Amounts in Local Currency in Odoo 18 PurchaseHow to Manage Amounts in Local Currency in Odoo 18 Purchase
How to Manage Amounts in Local Currency in Odoo 18 Purchase
Celine George
 
Redesigning Education as a Cognitive Ecosystem: Practical Insights into Emerg...
Redesigning Education as a Cognitive Ecosystem: Practical Insights into Emerg...Redesigning Education as a Cognitive Ecosystem: Practical Insights into Emerg...
Redesigning Education as a Cognitive Ecosystem: Practical Insights into Emerg...
Leonel Morgado
 
LDMMIA Reiki News Ed3 Vol1 For Team and Guests
LDMMIA Reiki News Ed3 Vol1 For Team and GuestsLDMMIA Reiki News Ed3 Vol1 For Team and Guests
LDMMIA Reiki News Ed3 Vol1 For Team and Guests
LDM Mia eStudios
 
MCQ PHYSIOLOGY II (DR. NASIR MUSTAFA) MCQS)
MCQ PHYSIOLOGY II (DR. NASIR MUSTAFA) MCQS)MCQ PHYSIOLOGY II (DR. NASIR MUSTAFA) MCQS)
MCQ PHYSIOLOGY II (DR. NASIR MUSTAFA) MCQS)
Dr. Nasir Mustafa
 
Mental Health Assessment in 5th semester bsc. nursing and also used in 2nd ye...
Mental Health Assessment in 5th semester bsc. nursing and also used in 2nd ye...Mental Health Assessment in 5th semester bsc. nursing and also used in 2nd ye...
Mental Health Assessment in 5th semester bsc. nursing and also used in 2nd ye...
parmarjuli1412
 
Myopathies (muscle disorders) for undergraduate
Myopathies (muscle disorders) for undergraduateMyopathies (muscle disorders) for undergraduate
Myopathies (muscle disorders) for undergraduate
Mohamed Rizk Khodair
 
How To Maximize Sales Performance using Odoo 18 Diverse views in sales module
How To Maximize Sales Performance using Odoo 18 Diverse views in sales moduleHow To Maximize Sales Performance using Odoo 18 Diverse views in sales module
How To Maximize Sales Performance using Odoo 18 Diverse views in sales module
Celine George
 
ANTI-VIRAL DRUGS unit 3 Pharmacology 3.pptx
ANTI-VIRAL DRUGS unit 3 Pharmacology 3.pptxANTI-VIRAL DRUGS unit 3 Pharmacology 3.pptx
ANTI-VIRAL DRUGS unit 3 Pharmacology 3.pptx
Mayuri Chavan
 

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
  翻译: