SlideShare a Scribd company logo
Unreal Engine Basics
Chapter 6: Animation, Audio, Visual Effects
Nick Prühs
Objectives
• Understanding how to drive final character animation poses through
animation blueprints and blend spaces
• Learning how to configure, combine and play sound assets
• Understanding the modular nature of particle effects in Unreal Engine
Animation Blueprints
• Control the animation of a skeletal mesh
• Allow you to blend animations to define the final pose for every frame
• Based on a specific skeleton
• Tied to character blueprints through their SkeletalMeshComponent
• Variables and Event Graph just like any other blueprint
Animation Graphs
• Sample, blend and manipulate poses to be applied to skeletal meshes
• Provide blend nodes and state machines to evaluate the final pose
Animation State Machines
• Break skeletal animations up into multiple states with transitions
• Each state and each transition is another condensed graph
Animation States
• Each state in turn may be a simple as just playing an animation –
sometimes driven by additional parameters
Animation States
• Each state in turn may be a simple as just playing an animation –
sometimes driven by additional parameters
Animation State Transitions
• Control how the skeletal mesh goes from state to another
• Return value determines whether the animation can move through
the transition, or not
Blend Spaces
• Allow any number of animations to be blended between based on the
values of two inputs
• 2D graph where…
 each input value defines one axis
 animations are plotted on the graph at various points
• Allows skipping parts of the interpolation through Target Weight
Interpolation Speed Per Second parameter
• Example:
 Direction and Speed input
 Forward, Left, Right and Backward movement animations
Blend Spaces
Calculate Direction for Blend Spaces
• Calculates angle between character velocity and forward vector
• Returns a single float, thus very useful for feeding into blend spaces
Sound Cues
• Importing an audio file (preferred .wav) creates a Sound Wave asset
 Provides basic overrides, such as volume, pitch or attenuation
• Sound cues are composite assets that allow you to modify the
behavior of audio playback, e.g.
 applying random volume & pitch
 selecting random waves
 looping
 mixing
Playing Sound
As always, Kismet‘s GameplayStatics provide convenient methods for
playing sound:
UFUNCTION(BlueprintCallable, …)
static void PlaySoundAtLocation(
const UObject* WorldContextObject,
USoundBase* Sound,
FVector Location,
FRotator Rotation,
float VolumeMultiplier = 1.f,
float PitchMultiplier = 1.f,
float StartTime = 0.f,
class USoundAttenuation* AttenuationSettings = nullptr,
USoundConcurrency* ConcurrencySettings = nullptr,
AActor* OwningActor = nullptr);
Sound Attenuation, Sound Class and Sound Mix assets allow you further
(re-usable) customization of your audio output.
Ambient Sound
Just dropping a sound cue into a level will automatically create an
AmbientSoundActor with various parameters.
Particle Effects
• Unreal Cascade* allows for very modularly designed particle systems:
 EmitterActors exist in your level, controlling where and how the
particle systems are used in your scene
 ParticleSystem assets contain multiple emitters
 Emitters emit a specific type of particle for an effect
 Modules define particle behavior
* soon to be replaced by Niagara
Particle Effects Example – Starter Content Explosion
Example for a system combining multiple emitters with consisting of
multiple modules each:
Spawning Emitters
As always, Kismet‘s GameplayStatics provide convenient
methods for spawning emitters:
UFUNCTION(BlueprintCallable, …)
static UParticleSystemComponent* SpawnEmitterAtLocation(
const UObject* WorldContextObject,
UParticleSystem* EmitterTemplate,
FVector Location,
FRotator Rotation = FRotator::ZeroRotator,
FVector Scale = FVector(1.f),
bool bAutoDestroy = true,
EPSCPoolMethod PoolingMethod = EPSCPoolMethod::None);
Spawning Emitters
As always, Kismet‘s GameplayStatics provide convenient
methods for spawning emitters:
UFUNCTION(BlueprintCallable, …)
static UParticleSystemComponent* SpawnEmitterAttached(
class UParticleSystem* EmitterTemplate,
class USceneComponent* AttachToComponent,
FName AttachPointName = NAME_None,
FVector Location = FVector(ForceInit),
FRotator Rotation = FRotator::ZeroRotator,
FVector Scale = FVector(1.f),
EAttachLocation::Type LocationType = EAttachLocation::KeepRelativeOffset,
bool bAutoDestroy = true,
EPSCPoolMethod PoolingMethod = EPSCPoolMethod::None);
Assignment #6 – Animation, Audio, Visual Effects
1. Create a blend space for run animations of your character.
2. Create an animation blueprint calculating direction and speed.
3. Create the animation state machine for run and jump animations.
4. Play a sound when firing a projectile.
5. Show a particle effect when a projectile hits a target.
Bonus: Play death, fire and hit react animations.
References
• Epic Games. Setting Up Character Movement in Blueprints.
https://docs.unrealengine.com/en-
US/Gameplay/HowTo/CharacterMovement/Blueprints/index.html, February 2020.
• Epic Games. Animation Blueprints. https://docs.unrealengine.com/en-
US/Engine/Animation/AnimBlueprints/index.html, February 2020.
• Epic Games. AnimGraph. https://docs.unrealengine.com/en-
US/Engine/Animation/AnimBlueprints/AnimGraph/index.html, February 2020.
• Epic Games. Overview of State Machines. https://docs.unrealengine.com/en-
US/Engine/Animation/StateMachines/Overview/index.html, February 2020.
• Epic Games. Blend Spaces Overview. https://docs.unrealengine.com/en-
US/Engine/Animation/Blendspaces/Overview/index.html, February 2020.
• Epic Games. Audio System Overview. https://docs.unrealengine.com/en-
US/Engine/Audio/Overview/index.html, February 2020.
• Epic Games. Key Particle Concepts. https://docs.unrealengine.com/en-
US/Engine/Rendering/ParticleSystems/Overview/index.html, February 2020.
And now …
Make something
Unreal!
See you next time!
https://www.slideshare.net/npruehs
https://github.com/npruehs/teaching-
unreal-engine/releases/tag/assignment06
npruehs@outlook.com
Ad

More Related Content

What's hot (20)

How we optimized our Game - Jake & Tess' Finding Monsters Adventure
How we optimized our Game - Jake & Tess' Finding Monsters AdventureHow we optimized our Game - Jake & Tess' Finding Monsters Adventure
How we optimized our Game - Jake & Tess' Finding Monsters Adventure
Felipe Lira
 
[UniteKorea2013] Memory profiling in Unity
[UniteKorea2013] Memory profiling in Unity[UniteKorea2013] Memory profiling in Unity
[UniteKorea2013] Memory profiling in Unity
William Hugo Yang
 
Gamebryo LightSpeed(English)
Gamebryo LightSpeed(English)Gamebryo LightSpeed(English)
Gamebryo LightSpeed(English)
Gamebryo
 
Unite 2013 optimizing unity games for mobile platforms
Unite 2013 optimizing unity games for mobile platformsUnite 2013 optimizing unity games for mobile platforms
Unite 2013 optimizing unity games for mobile platforms
ナム-Nam Nguyễn
 
Crossing platforms: bringing call of duty to mobile – Unite Copenhagen 2019
Crossing platforms: bringing call of duty to mobile – Unite Copenhagen 2019Crossing platforms: bringing call of duty to mobile – Unite Copenhagen 2019
Crossing platforms: bringing call of duty to mobile – Unite Copenhagen 2019
Unity Technologies
 
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...
Colin Barré-Brisebois
 
Hair in Tomb Raider
Hair in Tomb RaiderHair in Tomb Raider
Hair in Tomb Raider
Wolfgang Engel
 
Data Driven Game development
Data Driven Game developmentData Driven Game development
Data Driven Game development
Kostas Anagnostou
 
SPU-Based Deferred Shading in BATTLEFIELD 3 for Playstation 3
SPU-Based Deferred Shading in BATTLEFIELD 3 for Playstation 3SPU-Based Deferred Shading in BATTLEFIELD 3 for Playstation 3
SPU-Based Deferred Shading in BATTLEFIELD 3 for Playstation 3
Electronic Arts / DICE
 
Optimizing unity games (Google IO 2014)
Optimizing unity games (Google IO 2014)Optimizing unity games (Google IO 2014)
Optimizing unity games (Google IO 2014)
Alexander Dolbilov
 
GDC16: Improving geometry culling for Deus Ex: Mankind Divided by Nicolas Trudel
GDC16: Improving geometry culling for Deus Ex: Mankind Divided by Nicolas TrudelGDC16: Improving geometry culling for Deus Ex: Mankind Divided by Nicolas Trudel
GDC16: Improving geometry culling for Deus Ex: Mankind Divided by Nicolas Trudel
Umbra Software
 
FrameGraph: Extensible Rendering Architecture in Frostbite
FrameGraph: Extensible Rendering Architecture in FrostbiteFrameGraph: Extensible Rendering Architecture in Frostbite
FrameGraph: Extensible Rendering Architecture in Frostbite
Electronic Arts / DICE
 
Rendering Battlefield 4 with Mantle
Rendering Battlefield 4 with MantleRendering Battlefield 4 with Mantle
Rendering Battlefield 4 with Mantle
Electronic Arts / DICE
 
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
repii
 
Parallel Futures of a Game Engine
Parallel Futures of a Game EngineParallel Futures of a Game Engine
Parallel Futures of a Game Engine
repii
 
Frostbite on Mobile
Frostbite on MobileFrostbite on Mobile
Frostbite on Mobile
Electronic Arts / DICE
 
Built for performance: the UIElements Renderer – Unite Copenhagen 2019
Built for performance: the UIElements Renderer – Unite Copenhagen 2019Built for performance: the UIElements Renderer – Unite Copenhagen 2019
Built for performance: the UIElements Renderer – Unite Copenhagen 2019
Unity Technologies
 
Optimizing Games for Mobiles
Optimizing Games for MobilesOptimizing Games for Mobiles
Optimizing Games for Mobiles
St1X
 
Triangle Visibility buffer
Triangle Visibility bufferTriangle Visibility buffer
Triangle Visibility buffer
Wolfgang Engel
 
The Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next StepsThe Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next Steps
repii
 
How we optimized our Game - Jake & Tess' Finding Monsters Adventure
How we optimized our Game - Jake & Tess' Finding Monsters AdventureHow we optimized our Game - Jake & Tess' Finding Monsters Adventure
How we optimized our Game - Jake & Tess' Finding Monsters Adventure
Felipe Lira
 
[UniteKorea2013] Memory profiling in Unity
[UniteKorea2013] Memory profiling in Unity[UniteKorea2013] Memory profiling in Unity
[UniteKorea2013] Memory profiling in Unity
William Hugo Yang
 
Gamebryo LightSpeed(English)
Gamebryo LightSpeed(English)Gamebryo LightSpeed(English)
Gamebryo LightSpeed(English)
Gamebryo
 
Unite 2013 optimizing unity games for mobile platforms
Unite 2013 optimizing unity games for mobile platformsUnite 2013 optimizing unity games for mobile platforms
Unite 2013 optimizing unity games for mobile platforms
ナム-Nam Nguyễn
 
Crossing platforms: bringing call of duty to mobile – Unite Copenhagen 2019
Crossing platforms: bringing call of duty to mobile – Unite Copenhagen 2019Crossing platforms: bringing call of duty to mobile – Unite Copenhagen 2019
Crossing platforms: bringing call of duty to mobile – Unite Copenhagen 2019
Unity Technologies
 
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...
Colin Barre-Brisebois - GDC 2011 - Approximating Translucency for a Fast, Che...
Colin Barré-Brisebois
 
Data Driven Game development
Data Driven Game developmentData Driven Game development
Data Driven Game development
Kostas Anagnostou
 
SPU-Based Deferred Shading in BATTLEFIELD 3 for Playstation 3
SPU-Based Deferred Shading in BATTLEFIELD 3 for Playstation 3SPU-Based Deferred Shading in BATTLEFIELD 3 for Playstation 3
SPU-Based Deferred Shading in BATTLEFIELD 3 for Playstation 3
Electronic Arts / DICE
 
Optimizing unity games (Google IO 2014)
Optimizing unity games (Google IO 2014)Optimizing unity games (Google IO 2014)
Optimizing unity games (Google IO 2014)
Alexander Dolbilov
 
GDC16: Improving geometry culling for Deus Ex: Mankind Divided by Nicolas Trudel
GDC16: Improving geometry culling for Deus Ex: Mankind Divided by Nicolas TrudelGDC16: Improving geometry culling for Deus Ex: Mankind Divided by Nicolas Trudel
GDC16: Improving geometry culling for Deus Ex: Mankind Divided by Nicolas Trudel
Umbra Software
 
FrameGraph: Extensible Rendering Architecture in Frostbite
FrameGraph: Extensible Rendering Architecture in FrostbiteFrameGraph: Extensible Rendering Architecture in Frostbite
FrameGraph: Extensible Rendering Architecture in Frostbite
Electronic Arts / DICE
 
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
repii
 
Parallel Futures of a Game Engine
Parallel Futures of a Game EngineParallel Futures of a Game Engine
Parallel Futures of a Game Engine
repii
 
Built for performance: the UIElements Renderer – Unite Copenhagen 2019
Built for performance: the UIElements Renderer – Unite Copenhagen 2019Built for performance: the UIElements Renderer – Unite Copenhagen 2019
Built for performance: the UIElements Renderer – Unite Copenhagen 2019
Unity Technologies
 
Optimizing Games for Mobiles
Optimizing Games for MobilesOptimizing Games for Mobiles
Optimizing Games for Mobiles
St1X
 
Triangle Visibility buffer
Triangle Visibility bufferTriangle Visibility buffer
Triangle Visibility buffer
Wolfgang Engel
 
The Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next StepsThe Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next Steps
repii
 

Similar to Unreal Engine Basics 06 - Animation, Audio, Visual Effects (20)

Volumetric Lighting for Many Lights in Lords of the Fallen
Volumetric Lighting for Many Lights in Lords of the FallenVolumetric Lighting for Many Lights in Lords of the Fallen
Volumetric Lighting for Many Lights in Lords of the Fallen
Benjamin Glatzel
 
Relic's FX System
Relic's FX SystemRelic's FX System
Relic's FX System
Daniel Barrero
 
Introduction to Computer Animation using Computer Graphics Techniques
Introduction to Computer Animation using Computer Graphics TechniquesIntroduction to Computer Animation using Computer Graphics Techniques
Introduction to Computer Animation using Computer Graphics Techniques
Ramesh Wadawadagi
 
unit 6 - CG.pptx "ccccccccccccccccccccccc
unit 6 - CG.pptx "cccccccccccccccccccccccunit 6 - CG.pptx "ccccccccccccccccccccccc
unit 6 - CG.pptx "ccccccccccccccccccccccc
23485a6005
 
Parametric Animation Blending - Siggraph Tehran Local Chapter
Parametric Animation Blending - Siggraph Tehran Local ChapterParametric Animation Blending - Siggraph Tehran Local Chapter
Parametric Animation Blending - Siggraph Tehran Local Chapter
Peyman Massoudi
 
]animation of multimedia systems in the graphics.ppt
]animation of multimedia systems in the graphics.ppt]animation of multimedia systems in the graphics.ppt
]animation of multimedia systems in the graphics.ppt
Vinod Deenathayalan
 
Multimedia Animation, Introduction, History, Types
Multimedia Animation, Introduction, History, TypesMultimedia Animation, Introduction, History, Types
Multimedia Animation, Introduction, History, Types
maaithilisaravanan
 
computer animation report 3rd9467723.ppt
computer animation report 3rd9467723.pptcomputer animation report 3rd9467723.ppt
computer animation report 3rd9467723.ppt
svtbambambam
 
Virtual Dance Game Using Kinect and ICP Algorithm
Virtual Dance Game Using Kinect and ICP AlgorithmVirtual Dance Game Using Kinect and ICP Algorithm
Virtual Dance Game Using Kinect and ICP Algorithm
Benjoe Vidal
 
Android App Development - 12 animations
Android App Development - 12 animationsAndroid App Development - 12 animations
Android App Development - 12 animations
Diego Grancini
 
Introduction to the Unreal Development Kit
Introduction to the Unreal Development KitIntroduction to the Unreal Development Kit
Introduction to the Unreal Development Kit
Nick Pruehs
 
Rethinking Attention with Performers
Rethinking Attention with PerformersRethinking Attention with Performers
Rethinking Attention with Performers
Joonhyung Lee
 
Animation
AnimationAnimation
Animation
Vasu Mathi
 
Animation
AnimationAnimation
Animation
Vasu Mathi
 
Simulating X-ray Observations with yt
Simulating X-ray Observations with ytSimulating X-ray Observations with yt
Simulating X-ray Observations with yt
John ZuHone
 
Animation ppt
Animation pptAnimation ppt
Animation ppt
Ashok Mannava
 
SPU Physics
SPU PhysicsSPU Physics
SPU Physics
Slide_N
 
public void turnRight(double degrees) {rotationInDegrees + - = deg.pdf
public void turnRight(double degrees) {rotationInDegrees + - = deg.pdfpublic void turnRight(double degrees) {rotationInDegrees + - = deg.pdf
public void turnRight(double degrees) {rotationInDegrees + - = deg.pdf
isenbergwarne4100
 
Computer Graphics - Introduction and CRT Devices
Computer Graphics - Introduction and CRT DevicesComputer Graphics - Introduction and CRT Devices
Computer Graphics - Introduction and CRT Devices
Hisham Al Kurdi, EAVA, DMC-D-4K, HCCA-P, HCAA-D
 
Fast rendering with starling
Fast rendering with starlingFast rendering with starling
Fast rendering with starling
Flash Conference
 
Volumetric Lighting for Many Lights in Lords of the Fallen
Volumetric Lighting for Many Lights in Lords of the FallenVolumetric Lighting for Many Lights in Lords of the Fallen
Volumetric Lighting for Many Lights in Lords of the Fallen
Benjamin Glatzel
 
Introduction to Computer Animation using Computer Graphics Techniques
Introduction to Computer Animation using Computer Graphics TechniquesIntroduction to Computer Animation using Computer Graphics Techniques
Introduction to Computer Animation using Computer Graphics Techniques
Ramesh Wadawadagi
 
unit 6 - CG.pptx "ccccccccccccccccccccccc
unit 6 - CG.pptx "cccccccccccccccccccccccunit 6 - CG.pptx "ccccccccccccccccccccccc
unit 6 - CG.pptx "ccccccccccccccccccccccc
23485a6005
 
Parametric Animation Blending - Siggraph Tehran Local Chapter
Parametric Animation Blending - Siggraph Tehran Local ChapterParametric Animation Blending - Siggraph Tehran Local Chapter
Parametric Animation Blending - Siggraph Tehran Local Chapter
Peyman Massoudi
 
]animation of multimedia systems in the graphics.ppt
]animation of multimedia systems in the graphics.ppt]animation of multimedia systems in the graphics.ppt
]animation of multimedia systems in the graphics.ppt
Vinod Deenathayalan
 
Multimedia Animation, Introduction, History, Types
Multimedia Animation, Introduction, History, TypesMultimedia Animation, Introduction, History, Types
Multimedia Animation, Introduction, History, Types
maaithilisaravanan
 
computer animation report 3rd9467723.ppt
computer animation report 3rd9467723.pptcomputer animation report 3rd9467723.ppt
computer animation report 3rd9467723.ppt
svtbambambam
 
Virtual Dance Game Using Kinect and ICP Algorithm
Virtual Dance Game Using Kinect and ICP AlgorithmVirtual Dance Game Using Kinect and ICP Algorithm
Virtual Dance Game Using Kinect and ICP Algorithm
Benjoe Vidal
 
Android App Development - 12 animations
Android App Development - 12 animationsAndroid App Development - 12 animations
Android App Development - 12 animations
Diego Grancini
 
Introduction to the Unreal Development Kit
Introduction to the Unreal Development KitIntroduction to the Unreal Development Kit
Introduction to the Unreal Development Kit
Nick Pruehs
 
Rethinking Attention with Performers
Rethinking Attention with PerformersRethinking Attention with Performers
Rethinking Attention with Performers
Joonhyung Lee
 
Simulating X-ray Observations with yt
Simulating X-ray Observations with ytSimulating X-ray Observations with yt
Simulating X-ray Observations with yt
John ZuHone
 
SPU Physics
SPU PhysicsSPU Physics
SPU Physics
Slide_N
 
public void turnRight(double degrees) {rotationInDegrees + - = deg.pdf
public void turnRight(double degrees) {rotationInDegrees + - = deg.pdfpublic void turnRight(double degrees) {rotationInDegrees + - = deg.pdf
public void turnRight(double degrees) {rotationInDegrees + - = deg.pdf
isenbergwarne4100
 
Fast rendering with starling
Fast rendering with starlingFast rendering with starling
Fast rendering with starling
Flash Conference
 
Ad

More from Nick Pruehs (20)

Unreal Engine Basics 05 - User Interface
Unreal Engine Basics 05 - User InterfaceUnreal Engine Basics 05 - User Interface
Unreal Engine Basics 05 - User Interface
Nick Pruehs
 
Unreal Engine Basics 03 - Gameplay
Unreal Engine Basics 03 - GameplayUnreal Engine Basics 03 - Gameplay
Unreal Engine Basics 03 - Gameplay
Nick Pruehs
 
Unreal Engine Basics 01 - Game Framework
Unreal Engine Basics 01 - Game FrameworkUnreal Engine Basics 01 - Game Framework
Unreal Engine Basics 01 - Game Framework
Nick Pruehs
 
Game Programming - Cloud Development
Game Programming - Cloud DevelopmentGame Programming - Cloud Development
Game Programming - Cloud Development
Nick Pruehs
 
Game Programming - Git
Game Programming - GitGame Programming - Git
Game Programming - Git
Nick Pruehs
 
Eight Rules for Making Your First Great Game
Eight Rules for Making Your First Great GameEight Rules for Making Your First Great Game
Eight Rules for Making Your First Great Game
Nick Pruehs
 
Designing an actor model game architecture with Pony
Designing an actor model game architecture with PonyDesigning an actor model game architecture with Pony
Designing an actor model game architecture with Pony
Nick Pruehs
 
Game Programming 13 - Debugging & Performance Optimization
Game Programming 13 - Debugging & Performance OptimizationGame Programming 13 - Debugging & Performance Optimization
Game Programming 13 - Debugging & Performance Optimization
Nick Pruehs
 
Scrum - but... Agile Game Development in Small Teams
Scrum - but... Agile Game Development in Small TeamsScrum - but... Agile Game Development in Small Teams
Scrum - but... Agile Game Development in Small Teams
Nick Pruehs
 
Component-Based Entity Systems (Demo)
Component-Based Entity Systems (Demo)Component-Based Entity Systems (Demo)
Component-Based Entity Systems (Demo)
Nick Pruehs
 
What Would Blizzard Do
What Would Blizzard DoWhat Would Blizzard Do
What Would Blizzard Do
Nick Pruehs
 
School For Games 2015 - Unity Engine Basics
School For Games 2015 - Unity Engine BasicsSchool For Games 2015 - Unity Engine Basics
School For Games 2015 - Unity Engine Basics
Nick Pruehs
 
Tool Development A - Git
Tool Development A - GitTool Development A - Git
Tool Development A - Git
Nick Pruehs
 
Game Programming 12 - Shaders
Game Programming 12 - ShadersGame Programming 12 - Shaders
Game Programming 12 - Shaders
Nick Pruehs
 
Game Programming 11 - Game Physics
Game Programming 11 - Game PhysicsGame Programming 11 - Game Physics
Game Programming 11 - Game Physics
Nick Pruehs
 
Game Programming 10 - Localization
Game Programming 10 - LocalizationGame Programming 10 - Localization
Game Programming 10 - Localization
Nick Pruehs
 
Game Programming 09 - AI
Game Programming 09 - AIGame Programming 09 - AI
Game Programming 09 - AI
Nick Pruehs
 
Game Development Challenges
Game Development ChallengesGame Development Challenges
Game Development Challenges
Nick Pruehs
 
Game Programming 08 - Tool Development
Game Programming 08 - Tool DevelopmentGame Programming 08 - Tool Development
Game Programming 08 - Tool Development
Nick Pruehs
 
Game Programming 07 - Procedural Content Generation
Game Programming 07 - Procedural Content GenerationGame Programming 07 - Procedural Content Generation
Game Programming 07 - Procedural Content Generation
Nick Pruehs
 
Unreal Engine Basics 05 - User Interface
Unreal Engine Basics 05 - User InterfaceUnreal Engine Basics 05 - User Interface
Unreal Engine Basics 05 - User Interface
Nick Pruehs
 
Unreal Engine Basics 03 - Gameplay
Unreal Engine Basics 03 - GameplayUnreal Engine Basics 03 - Gameplay
Unreal Engine Basics 03 - Gameplay
Nick Pruehs
 
Unreal Engine Basics 01 - Game Framework
Unreal Engine Basics 01 - Game FrameworkUnreal Engine Basics 01 - Game Framework
Unreal Engine Basics 01 - Game Framework
Nick Pruehs
 
Game Programming - Cloud Development
Game Programming - Cloud DevelopmentGame Programming - Cloud Development
Game Programming - Cloud Development
Nick Pruehs
 
Game Programming - Git
Game Programming - GitGame Programming - Git
Game Programming - Git
Nick Pruehs
 
Eight Rules for Making Your First Great Game
Eight Rules for Making Your First Great GameEight Rules for Making Your First Great Game
Eight Rules for Making Your First Great Game
Nick Pruehs
 
Designing an actor model game architecture with Pony
Designing an actor model game architecture with PonyDesigning an actor model game architecture with Pony
Designing an actor model game architecture with Pony
Nick Pruehs
 
Game Programming 13 - Debugging & Performance Optimization
Game Programming 13 - Debugging & Performance OptimizationGame Programming 13 - Debugging & Performance Optimization
Game Programming 13 - Debugging & Performance Optimization
Nick Pruehs
 
Scrum - but... Agile Game Development in Small Teams
Scrum - but... Agile Game Development in Small TeamsScrum - but... Agile Game Development in Small Teams
Scrum - but... Agile Game Development in Small Teams
Nick Pruehs
 
Component-Based Entity Systems (Demo)
Component-Based Entity Systems (Demo)Component-Based Entity Systems (Demo)
Component-Based Entity Systems (Demo)
Nick Pruehs
 
What Would Blizzard Do
What Would Blizzard DoWhat Would Blizzard Do
What Would Blizzard Do
Nick Pruehs
 
School For Games 2015 - Unity Engine Basics
School For Games 2015 - Unity Engine BasicsSchool For Games 2015 - Unity Engine Basics
School For Games 2015 - Unity Engine Basics
Nick Pruehs
 
Tool Development A - Git
Tool Development A - GitTool Development A - Git
Tool Development A - Git
Nick Pruehs
 
Game Programming 12 - Shaders
Game Programming 12 - ShadersGame Programming 12 - Shaders
Game Programming 12 - Shaders
Nick Pruehs
 
Game Programming 11 - Game Physics
Game Programming 11 - Game PhysicsGame Programming 11 - Game Physics
Game Programming 11 - Game Physics
Nick Pruehs
 
Game Programming 10 - Localization
Game Programming 10 - LocalizationGame Programming 10 - Localization
Game Programming 10 - Localization
Nick Pruehs
 
Game Programming 09 - AI
Game Programming 09 - AIGame Programming 09 - AI
Game Programming 09 - AI
Nick Pruehs
 
Game Development Challenges
Game Development ChallengesGame Development Challenges
Game Development Challenges
Nick Pruehs
 
Game Programming 08 - Tool Development
Game Programming 08 - Tool DevelopmentGame Programming 08 - Tool Development
Game Programming 08 - Tool Development
Nick Pruehs
 
Game Programming 07 - Procedural Content Generation
Game Programming 07 - Procedural Content GenerationGame Programming 07 - Procedural Content Generation
Game Programming 07 - Procedural Content Generation
Nick Pruehs
 
Ad

Recently uploaded (20)

The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
SOFTTECHHUB
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Transcript: Canadian book publishing: Insights from the latest salary survey ...
Transcript: Canadian book publishing: Insights from the latest salary survey ...Transcript: Canadian book publishing: Insights from the latest salary survey ...
Transcript: Canadian book publishing: Insights from the latest salary survey ...
BookNet Canada
 
GDG Cloud Southlake #42: Suresh Mathew: Autonomous Resource Optimization: How...
GDG Cloud Southlake #42: Suresh Mathew: Autonomous Resource Optimization: How...GDG Cloud Southlake #42: Suresh Mathew: Autonomous Resource Optimization: How...
GDG Cloud Southlake #42: Suresh Mathew: Autonomous Resource Optimization: How...
James Anderson
 
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à GenèveUiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPathCommunity
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
TrsLabs - Leverage the Power of UPI Payments
TrsLabs - Leverage the Power of UPI PaymentsTrsLabs - Leverage the Power of UPI Payments
TrsLabs - Leverage the Power of UPI Payments
Trs Labs
 
MINDCTI revenue release Quarter 1 2025 PR
MINDCTI revenue release Quarter 1 2025 PRMINDCTI revenue release Quarter 1 2025 PR
MINDCTI revenue release Quarter 1 2025 PR
MIND CTI
 
Financial Services Technology Summit 2025
Financial Services Technology Summit 2025Financial Services Technology Summit 2025
Financial Services Technology Summit 2025
Ray Bugg
 
AI 3-in-1: Agents, RAG, and Local Models - Brent Laster
AI 3-in-1: Agents, RAG, and Local Models - Brent LasterAI 3-in-1: Agents, RAG, and Local Models - Brent Laster
AI 3-in-1: Agents, RAG, and Local Models - Brent Laster
All Things Open
 
Bepents tech services - a premier cybersecurity consulting firm
Bepents tech services - a premier cybersecurity consulting firmBepents tech services - a premier cybersecurity consulting firm
Bepents tech services - a premier cybersecurity consulting firm
Benard76
 
The Microsoft Excel Parts Presentation.pdf
The Microsoft Excel Parts Presentation.pdfThe Microsoft Excel Parts Presentation.pdf
The Microsoft Excel Parts Presentation.pdf
YvonneRoseEranista
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Raffi Khatchadourian
 
Q1 2025 Dropbox Earnings and Investor Presentation
Q1 2025 Dropbox Earnings and Investor PresentationQ1 2025 Dropbox Earnings and Investor Presentation
Q1 2025 Dropbox Earnings and Investor Presentation
Dropbox
 
Vaibhav Gupta BAML: AI work flows without Hallucinations
Vaibhav Gupta BAML: AI work flows without HallucinationsVaibhav Gupta BAML: AI work flows without Hallucinations
Vaibhav Gupta BAML: AI work flows without Hallucinations
john409870
 
Viam product demo_ Deploying and scaling AI with hardware.pdf
Viam product demo_ Deploying and scaling AI with hardware.pdfViam product demo_ Deploying and scaling AI with hardware.pdf
Viam product demo_ Deploying and scaling AI with hardware.pdf
camilalamoratta
 
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptxReimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
John Moore
 
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Raffi Khatchadourian
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
The No-Code Way to Build a Marketing Team with One AI Agent (Download the n8n...
SOFTTECHHUB
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Transcript: Canadian book publishing: Insights from the latest salary survey ...
Transcript: Canadian book publishing: Insights from the latest salary survey ...Transcript: Canadian book publishing: Insights from the latest salary survey ...
Transcript: Canadian book publishing: Insights from the latest salary survey ...
BookNet Canada
 
GDG Cloud Southlake #42: Suresh Mathew: Autonomous Resource Optimization: How...
GDG Cloud Southlake #42: Suresh Mathew: Autonomous Resource Optimization: How...GDG Cloud Southlake #42: Suresh Mathew: Autonomous Resource Optimization: How...
GDG Cloud Southlake #42: Suresh Mathew: Autonomous Resource Optimization: How...
James Anderson
 
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à GenèveUiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPath Automation Suite – Cas d'usage d'une NGO internationale basée à Genève
UiPathCommunity
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
TrsLabs - Leverage the Power of UPI Payments
TrsLabs - Leverage the Power of UPI PaymentsTrsLabs - Leverage the Power of UPI Payments
TrsLabs - Leverage the Power of UPI Payments
Trs Labs
 
MINDCTI revenue release Quarter 1 2025 PR
MINDCTI revenue release Quarter 1 2025 PRMINDCTI revenue release Quarter 1 2025 PR
MINDCTI revenue release Quarter 1 2025 PR
MIND CTI
 
Financial Services Technology Summit 2025
Financial Services Technology Summit 2025Financial Services Technology Summit 2025
Financial Services Technology Summit 2025
Ray Bugg
 
AI 3-in-1: Agents, RAG, and Local Models - Brent Laster
AI 3-in-1: Agents, RAG, and Local Models - Brent LasterAI 3-in-1: Agents, RAG, and Local Models - Brent Laster
AI 3-in-1: Agents, RAG, and Local Models - Brent Laster
All Things Open
 
Bepents tech services - a premier cybersecurity consulting firm
Bepents tech services - a premier cybersecurity consulting firmBepents tech services - a premier cybersecurity consulting firm
Bepents tech services - a premier cybersecurity consulting firm
Benard76
 
The Microsoft Excel Parts Presentation.pdf
The Microsoft Excel Parts Presentation.pdfThe Microsoft Excel Parts Presentation.pdf
The Microsoft Excel Parts Presentation.pdf
YvonneRoseEranista
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...
Raffi Khatchadourian
 
Q1 2025 Dropbox Earnings and Investor Presentation
Q1 2025 Dropbox Earnings and Investor PresentationQ1 2025 Dropbox Earnings and Investor Presentation
Q1 2025 Dropbox Earnings and Investor Presentation
Dropbox
 
Vaibhav Gupta BAML: AI work flows without Hallucinations
Vaibhav Gupta BAML: AI work flows without HallucinationsVaibhav Gupta BAML: AI work flows without Hallucinations
Vaibhav Gupta BAML: AI work flows without Hallucinations
john409870
 
Viam product demo_ Deploying and scaling AI with hardware.pdf
Viam product demo_ Deploying and scaling AI with hardware.pdfViam product demo_ Deploying and scaling AI with hardware.pdf
Viam product demo_ Deploying and scaling AI with hardware.pdf
camilalamoratta
 
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptxReimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
John Moore
 
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Challenges in Migrating Imperative Deep Learning Programs to Graph Execution:...
Raffi Khatchadourian
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 

Unreal Engine Basics 06 - Animation, Audio, Visual Effects

  • 1. Unreal Engine Basics Chapter 6: Animation, Audio, Visual Effects Nick Prühs
  • 2. Objectives • Understanding how to drive final character animation poses through animation blueprints and blend spaces • Learning how to configure, combine and play sound assets • Understanding the modular nature of particle effects in Unreal Engine
  • 3. Animation Blueprints • Control the animation of a skeletal mesh • Allow you to blend animations to define the final pose for every frame • Based on a specific skeleton • Tied to character blueprints through their SkeletalMeshComponent • Variables and Event Graph just like any other blueprint
  • 4. Animation Graphs • Sample, blend and manipulate poses to be applied to skeletal meshes • Provide blend nodes and state machines to evaluate the final pose
  • 5. Animation State Machines • Break skeletal animations up into multiple states with transitions • Each state and each transition is another condensed graph
  • 6. Animation States • Each state in turn may be a simple as just playing an animation – sometimes driven by additional parameters
  • 7. Animation States • Each state in turn may be a simple as just playing an animation – sometimes driven by additional parameters
  • 8. Animation State Transitions • Control how the skeletal mesh goes from state to another • Return value determines whether the animation can move through the transition, or not
  • 9. Blend Spaces • Allow any number of animations to be blended between based on the values of two inputs • 2D graph where…  each input value defines one axis  animations are plotted on the graph at various points • Allows skipping parts of the interpolation through Target Weight Interpolation Speed Per Second parameter • Example:  Direction and Speed input  Forward, Left, Right and Backward movement animations
  • 11. Calculate Direction for Blend Spaces • Calculates angle between character velocity and forward vector • Returns a single float, thus very useful for feeding into blend spaces
  • 12. Sound Cues • Importing an audio file (preferred .wav) creates a Sound Wave asset  Provides basic overrides, such as volume, pitch or attenuation • Sound cues are composite assets that allow you to modify the behavior of audio playback, e.g.  applying random volume & pitch  selecting random waves  looping  mixing
  • 13. Playing Sound As always, Kismet‘s GameplayStatics provide convenient methods for playing sound: UFUNCTION(BlueprintCallable, …) static void PlaySoundAtLocation( const UObject* WorldContextObject, USoundBase* Sound, FVector Location, FRotator Rotation, float VolumeMultiplier = 1.f, float PitchMultiplier = 1.f, float StartTime = 0.f, class USoundAttenuation* AttenuationSettings = nullptr, USoundConcurrency* ConcurrencySettings = nullptr, AActor* OwningActor = nullptr); Sound Attenuation, Sound Class and Sound Mix assets allow you further (re-usable) customization of your audio output.
  • 14. Ambient Sound Just dropping a sound cue into a level will automatically create an AmbientSoundActor with various parameters.
  • 15. Particle Effects • Unreal Cascade* allows for very modularly designed particle systems:  EmitterActors exist in your level, controlling where and how the particle systems are used in your scene  ParticleSystem assets contain multiple emitters  Emitters emit a specific type of particle for an effect  Modules define particle behavior * soon to be replaced by Niagara
  • 16. Particle Effects Example – Starter Content Explosion Example for a system combining multiple emitters with consisting of multiple modules each:
  • 17. Spawning Emitters As always, Kismet‘s GameplayStatics provide convenient methods for spawning emitters: UFUNCTION(BlueprintCallable, …) static UParticleSystemComponent* SpawnEmitterAtLocation( const UObject* WorldContextObject, UParticleSystem* EmitterTemplate, FVector Location, FRotator Rotation = FRotator::ZeroRotator, FVector Scale = FVector(1.f), bool bAutoDestroy = true, EPSCPoolMethod PoolingMethod = EPSCPoolMethod::None);
  • 18. Spawning Emitters As always, Kismet‘s GameplayStatics provide convenient methods for spawning emitters: UFUNCTION(BlueprintCallable, …) static UParticleSystemComponent* SpawnEmitterAttached( class UParticleSystem* EmitterTemplate, class USceneComponent* AttachToComponent, FName AttachPointName = NAME_None, FVector Location = FVector(ForceInit), FRotator Rotation = FRotator::ZeroRotator, FVector Scale = FVector(1.f), EAttachLocation::Type LocationType = EAttachLocation::KeepRelativeOffset, bool bAutoDestroy = true, EPSCPoolMethod PoolingMethod = EPSCPoolMethod::None);
  • 19. Assignment #6 – Animation, Audio, Visual Effects 1. Create a blend space for run animations of your character. 2. Create an animation blueprint calculating direction and speed. 3. Create the animation state machine for run and jump animations. 4. Play a sound when firing a projectile. 5. Show a particle effect when a projectile hits a target. Bonus: Play death, fire and hit react animations.
  • 20. References • Epic Games. Setting Up Character Movement in Blueprints. https://docs.unrealengine.com/en- US/Gameplay/HowTo/CharacterMovement/Blueprints/index.html, February 2020. • Epic Games. Animation Blueprints. https://docs.unrealengine.com/en- US/Engine/Animation/AnimBlueprints/index.html, February 2020. • Epic Games. AnimGraph. https://docs.unrealengine.com/en- US/Engine/Animation/AnimBlueprints/AnimGraph/index.html, February 2020. • Epic Games. Overview of State Machines. https://docs.unrealengine.com/en- US/Engine/Animation/StateMachines/Overview/index.html, February 2020. • Epic Games. Blend Spaces Overview. https://docs.unrealengine.com/en- US/Engine/Animation/Blendspaces/Overview/index.html, February 2020. • Epic Games. Audio System Overview. https://docs.unrealengine.com/en- US/Engine/Audio/Overview/index.html, February 2020. • Epic Games. Key Particle Concepts. https://docs.unrealengine.com/en- US/Engine/Rendering/ParticleSystems/Overview/index.html, February 2020.
  • 21. And now … Make something Unreal!
  • 22. See you next time! https://www.slideshare.net/npruehs https://github.com/npruehs/teaching- unreal-engine/releases/tag/assignment06 [email protected]