SlideShare a Scribd company logo
1 of 49
Download to read offline
Butterfly Effect:
Workflow, Rendering & Shading
Renaldas Zioma
Unity Technologies
@__ReJ__
Monday, April 29, 13
This talk will cover workflows and techniques that we adopted while working on the
Butterfly Effect.
•
Unite template2
What is it?
Real-time animated short
Collaboration between Unity, Passion Pictures and NVIDIA
Monday, April 29, 13
If you haven’t seen Butterfly Effect is realtime animated short, developed in collaboration
between Unity, Passion Pictures and NVIDIA
•
Opportunity to Learn
• Passion Pictures
• New world of RealTime
• No prior experience with Unity
• Unity Technologies
• CG Pipeline
• Huge amounts of Data
3
Monday, April 29, 13
Passion Pictures is a film and animation production company with broad experience in
CG, stop-motion, documentary and traditional media. Passion Pictures have developed
visual elements for animated rock band Gorillaz, cinematics for Rock Band video game
and infamous (in UK) Meerkat advertisements.
Prior to this collaboration Passion Pictures had NO experience with Real Time
rendering / Game technologies or any experience working with Unity tools.
We approached Passion Pictures in late Fall of 2011 looking for collaboration on a real-
time short.
Real-time was a completely new area for Passion Pictures thus presented a learning
opportunity to adopt RealTime for internal pre-visualization and leverage experience for
working with Interactive projects (studio is working on number of such projects since).
Passion Pictures: “We felt we had an opportunity to do something special that we hadn’t
done before, get experience with the Unity real time engine and help drive Unity in a
direction that could integrate it with our studio.”
Project Outline
• 30GB of source Assets
• 5GB of runtime Data
• 137 shots
• 40 “scenes” in Editor
4
Monday, April 29, 13
Project Organization
• Team of ~10 - first month
• pre production
• research / tools
• Team of ~30 - next 2 months
• content
• tools / engine modifications
• Team of 5 - last 3.5 months
• polish
• optimizations
5
Monday, April 29, 13
Unite template6
Monday, April 29, 13
Passion Pictures presented a number of short film ideas and once Dan Sumich’s
“Butterfly Effect” pitch was chosen - work started.
Storyboard was developed from original pitch. Next storyboard was put into Animatronic
- animated sequence of images in sync with music too capture flow and timing.
Example of the storyboards for Scooter section in development.
Unite template7
Monday, April 29, 13
Color Boards helped to capture mood and lighting.
It is worth noting how well Story and Color Boards resemble the final look of the short.
Previz
• One Sequence
• Goals
• Initial timings
• Visualize Space
• Prime lenses
• 10, 14, 18, 21, 24, 27, 35, 40, 50, 75, 100, 200
• Zoom lens
• 18 to 150
8
Monday, April 29, 13
First pre-visualization was done in traditional to Passion Pictures way - directly in
Softimage XSI.
Only standard camera settings based on physically cameras and lenses as used in Live
shoots (Prime/Zoom lenses) were used to capture the filmic feel.
Pipeline
• Connect Passion pipeline with Unity Editor
• Main Goal
Minimal changes to Artist workflow!
9
Monday, April 29, 13
Very short production cycle (traditional to CG industry) required minimal changes to
artist workflow.
Both Passion pipeline (XSI scripts) and Unity Editor scripting capabilities proved to be
flexible enough.
Passion Pictures: “After the creative challenge of finding the right director and script for
the film, the two immediate challenges were making sure that we had the right tools in
Unity for the job so that we could take our pipeline into Unity, and also making sure that
we could still work in the way we normally do as a studio.
If we break down our pipeline into animation, simulation, rendering and compositing
then we wanted to be able to bring these as much as possible into Unity working with
our existing content creation tools as normal.”
Passion Pipeline
• No Change for Artists
• Use Existing Asset Pipeline
• Sequences SB, BU
• Shots SB_01_00, SB_02_00
• Assets [Character/Camera/Layout]
• Export Models and Publish Shots as normal
• Add Unity support
10
Monday, April 29, 13
Standard Passion Pictures asset pipeline could be mapped to Unity asset representation
quite easily. Multiple shots were grouped into a single Unity scene - some scenes
contained one shot, some multiple. Sequence of shots (SB - SkateBoard, BU - Bus)
became a group of Unity scenes sharing same folder.
Standard Passion Picture pipeline (set of Softimage XSI scripts) was augmented with
“publishing” shots to Unity project file structure and to incorporate SVN version control.
SVN was a new tool for artists.
Unite template
Character Rig
• XSI Softimage Rig
• Bones
• Envelope
• Face Shapes
• Controls
• Unity Rig
• Bones
• Blend Shapes
• Materials
11
Monday, April 29, 13
Unite template
Facial Rig
• Bones
• Head, neck, jaw, eyes
• Blend shapes
• Face
• Mocap shoot
• Face markers
• Cubic motion
• Retarget facial animation onto XSI controls
12
Monday, April 29, 13
Facial animations in Softimage XSI / Unity: combination of bones and blend shapes.
Face markers were used for facial motion capture, retargeted on controls in Softimage
XSI.
Unite template13
Monday, April 29, 13
Mocap facial shoot on the right. Animation transferred onto Softimage XSI character rig
on the left.
We worked with Centroid for the motion capture shoot. Passion Pictures provided them
with a FK rig containing just the bones and skin for our Hero character. Centroid sent
FBX files for our FK rig send back FBX files of the FK rig from Centroid.
Using an intermediate rig Passion Pictures transferred the FK animation back onto our
IK character rig in Softimage XSI. By keeping the shoot rig live in the scene, we were
able to either keep the motion capture, animate on top of it or replace it with new
animation, depending what worked in the shot.
Unite template14
Monday, April 29, 13
Facial animation controls in Softimage XSI after retargeting.
Non-linear time
• Treat Sequences as Live Shoot
• Cover the action from different angles
• Each sequence needs multiple cameras
15
Monday, April 29, 13
Action packed Butterfly Effect storyboard pushed Passion Pictures to treat film
almost as a Live shoot. In traditional Live shoots multiple cameras are used to
cover action from different angles. During the montage footage might overlap
or jump in time according to Directors whim.
Film was broken down into sequences which correspond to a continuous action
(such as Skateboard sequence).
Description about every camera was created in Final Cut and exported to
custom XML format (based on Edit Decision List or EDL file format of Final Cut).
Unite template
Non-linear time
• Shot Description
• Final Cut edit
• Export EDL as XML file
• Camera in/out points
• Timeline in Unity
• Sequence Preview in RV
• Using EDL from Final Cut
• Play whole preview sequence in RV
• Instant Feedback for Animators
16
Monday, April 29, 13
Action packed Butterfly Effect storyboard pushed Passion Pictures to treat film
almost as a Live shoot. In traditional Live shoots multiple cameras are used to
cover action from different angles. During the montage footage might overlap
or jump in time according to Directors whim.
Film was broken down into sequences which correspond to a continuous action
(such as Skateboard sequence).
Description about every camera was created in Final Cut and exported to
custom XML format (based on Edit Decision List or EDL file format of Final Cut).
Unite template
Timeline in Unity
17
Monday, April 29, 13
Next this data could be read in Unity and used to control cameras, animated
objects and physical simulations. Custom timeline viewer was developed in
Unity using Editor scripting. Changes to the film edit, jumping back and forward
in time and reordering of the shots became possible without need to rebake
animations in Softimage XSI.
Unite template
Timeline in Unity
18
Monday, April 29, 13
Next this data could be read in Unity and used to control cameras, animated
objects and physical simulations. Custom timeline viewer was developed in
Unity using Editor scripting. Changes to the film edit, jumping back and forward
in time and reordering of the shots became possible without need to rebake
animations in Softimage XSI.
Unite template
Non-linear Challenges
• Animation
• Particles
• Physics
• Rigid Body simulation
19
Monday, April 29, 13
Unite template
Point Cache
• Per-vertex Deformations
• Cloth
• Hair
20
Monday, April 29, 13
Two types of vertex animation: BlendShapes and Point Cache were introduced in Unity
for Butterfly Effect.
Passion Pictures: “In our standard pipeline we create point caches for each animated
model in the scene using .pc2 or alembic files. This creates a break in the pipeline so
that when we’re rendering we don’t need all the animation rig in the scene. For software
rendering the cache sizes and data throughput aren’t an issue but in a real time game
engine we have to keep the enveloped characters and bake the animation on the bones
per frame.”
21
Point Cache
Monday, April 29, 13
Point Cache used for extreme face deformation
Unite template
Tessellation
• CatmullClark
• Now: on CPU
• Future: OpenSubdiv library
22
Monday, April 29, 13
(Mostly due to multiple layers of resting cloth) CatmullClark tessellation was used to
match DCC tools exactly. It is problematic to implement CatmullClark using DirectX11
hardware tessellation because of recursive nature of certain patches. Instead of
approximation we went for exact CPU implementation for 1st level of subdivision.
Unite template
Hair
• Guide “strands” for modeling
• GPU Tesselation and “Amplification”
•
23
Monday, April 29, 13
Guide hair strands provide excellent control for animators.
Unite template24
Hair
Monday, April 29, 13
Final look of the hair.
25
MentalRay Architectural
(MIA) Shaders
• Familiar
• Small set of parameters
• Physically Based
• Micro facet
• Energy conserving
Monday, April 29, 13
We aimed to provide PassionPictures artists with familiar tools, hence decision to
implement realtime counterparts for MentalRay architectural shaders.
Unite template26
1 parameter for Diffuse
Monday, April 29, 13
Between Clay and Plastic.
Screenshot from the Unity Editor.
Unite template27
2 parameters for Specular
Monday, April 29, 13
Roughness and Reflectivity
Screenshot from the Unity Editor.
Unite template28
2 parameters for Reflectivity
Monday, April 29, 13
Reflectivity for depending on angle of incidence. Defined as pair of parameters - for ray
hitting at Grazing angle (90) and for ray perpendicular to the surface.
Screenshot from the Unity Editor.
Unite template
MIA Implementation
• Oren-Nayar
• Diffuse
• Cook-Torrance
• Specular
• Geometric + Roughness + Fresnel term
• Ward distribution for Roughness
• I think... ;)
• Direct + Indirect illumination
29
Monday, April 29, 13
Unite template
Unity Implementation
• Oren-Nayar
• very expensive
• OK approximations
• Cook-Torrance
• Normalized Blinn-Phong instead of Ward
• Roughness to Phong exponent (n):
• n = 2 / roughness2 - 2
• Tweaked to match MIA look:
• n = 2 / roughness4 - 2
• Schlick approximation for Fresnel
• Only direct illumination at RunTime
30
Monday, April 29, 13
Unite template31
MentalRay Unity
Monday, April 29, 13
Realtime implementation matches offline MentalRay implementation quite well. Note
some small differences in size of specular and very glossy surfaces.
Unite template32
Monday, April 29, 13
Most of materials where setup by Passion Pictures in Softimage XSI and were
transferred to Unity. Tweaks were necessary to achieve final look in Unity, but relative
compatibility of the MIA and Unity shaders saved a bulk of the manual work for us.
Unite template33
Indirect Illumination (GI)
• Point Clouds for Dynamic Geometry
• Spherical Harmonics for Diffuse Bounce
• Cube Textures for Reflections
Monday, April 29, 13
For indirect lighting we went for very practical approach - storing secondary bounces in
the low-resolution textures / Spherical Harmonics probes.
Unite template34
Indirect Illumination (GI)
• Textures for Static Geometry
• Diffuse Bounce
• AO
Monday, April 29, 13
Unite template35
Indirect Illumination (GI)
• Calculated offline with Autodesk Beast
• Path Tracer + Final Gather
• IBL for Sky
• Fake Caustics
Monday, April 29, 13
Beast setup:
. 500 Final Gather rays (1 bounce)
. Path Tracer (4 bounces)
. 1024 IBL sky rays
Final quality scene bake would take between 20 minutes and 8 hours depending on the
size of the scene. Bake quality for all scenes in the short was carried on over-night on 4
machines.
Unite template36
Real Time Shadows
Monday, April 29, 13
Unite template37
Baked Shadows
• Of course baked only for static environments
Monday, April 29, 13
38
Ambient Occlusion
• HBAO - Screen Space
Monday, April 29, 13
Horizon-Based Ambient Occlusion - developed by NVIDIA.
39
Ambient Occlusion
• Too Dark & Dirty
Monday, April 29, 13
40
Ambient Occlusion
• Applied ONLY to Indirect Illumination
• Colored to match Sky better
Monday, April 29, 13
Screen Space Ambient Occlusion information is calculated at the start of the frame and
passed into the shaders, where it is applied to (occludes / darkens) indirect lighting only.
Ambient Occlusion is tinted towards the sky to achieve more plausible look.
Unite template
Skin
• Texture Space Diffusion
• 3 Layers
41
Monday, April 29, 13
Subsurface only scattering of the skin on the left side. Lighting in texture (unwrapped
UV) space on the right.
Unite template
Back Scattering
• Translucency Map
• Adds intensity to sub-
dermal layer
42
Monday, April 29, 13
R
43
2 Specular lobes
Monday, April 29, 13
Unite template
R
44
Monday, April 29, 13
Final look of the skin.
Unite template45
Depth Of Field
• Antialiasing aware
• FXAA based
• With Splatted Bokeh Texture
Monday, April 29, 13
46
Monday, April 29, 13
High variation of depth causes Depth of Field to produce noticeable aliasing on the
edges of geometry. We married Depth Of Field filter with additional FXAA based
antialiasing technique driven by radius of Circle of Confusion to blur neighboring pixels.
Example of aliasing caused by discontinuities in depth buffer on the left side. Our
approach on the right side.
Monday, April 29, 13
Depth Of Field using “standard” blur - top image.
Detecting bright pixels and “splattering” bokeh sprites on top - bottom image.
48
Thank you!
Talented people, come join our team working on Showcases for Unity!
http://unity3d.com/jobs
Monday, April 29, 13
References
49
 [Bavoil08] Image-Space Horizon-Based Ambient Occlusion. L. Bavoil, M. Sainz, 2008
 [Catmull78] Recursively generated B-spline surfaces on arbitrary topological meshes. E. Catmull, J.
Clark, 1978
 [CookTorrance82] A Reflectance Graphics Model for Computer graphic. R. L. Cook, K. E. Torrance,
1982
 [Hoffman10] Crafting Physically Motivated Shading Models for Game Development. N. Hoffman,
2010
 [Lottes09] FXAA. T. Lottes, 2009
 [Mental07] mental ray Architectural and Design Visualization Shader Library. mental images GmbH,
2007
 http://www.mentalimages.com/fileadmin/user_upload/PDF/arch_and_design.pdf
 [Mikkelsen09] Microfacet Based Bidirectional Reflectance Distribution Function. M. Mikkelsen, 2009
 [Nießner12] Feature-Adaptive GPU Rendering of Catmull-Clark Subdivision Surfaces. M. Nießner,
C. Loop, M. Meyer, T. Derose, 2012
 [Olano10] LEAN Mapping. M. Olano, D. Baker, 2010
 [Schüler11] The Blinn-Phong Normalization Zoo. C. Schüler, 2011
 http://www.thetenthplanet.de/archives/255
 [Zhukov98] An ambient light illumination model. S. Zhukov, A. Inoes, G. Kronin, 1998
Monday, April 29, 13

More Related Content

What's hot

Making a game with Molehill: Zombie Tycoon
Making a game with Molehill: Zombie TycoonMaking a game with Molehill: Zombie Tycoon
Making a game with Molehill: Zombie TycoonJean-Philippe Doiron
 
Unity & VR (Unity Roadshow 2016)
Unity & VR (Unity Roadshow 2016)Unity & VR (Unity Roadshow 2016)
Unity & VR (Unity Roadshow 2016)ozlael ozlael
 
Unity: Next Level Rendering Quality
Unity: Next Level Rendering QualityUnity: Next Level Rendering Quality
Unity: Next Level Rendering QualityUnity Technologies
 
Advanced Power Point 1
Advanced Power Point 1Advanced Power Point 1
Advanced Power Point 1liwei1207zz
 
Mobile AR Lecture6 - Introduction to Unity 3D
Mobile AR Lecture6 - Introduction to Unity 3DMobile AR Lecture6 - Introduction to Unity 3D
Mobile AR Lecture6 - Introduction to Unity 3DMark Billinghurst
 
Lecture 9 animation
Lecture 9 animationLecture 9 animation
Lecture 9 animationMr SMAK
 
Compositing, Composing Worlds
Compositing, Composing WorldsCompositing, Composing Worlds
Compositing, Composing WorldsNelson Zagalo
 
Mobile AR Lecture 5 - Location Based AR
Mobile AR Lecture 5 - Location Based ARMobile AR Lecture 5 - Location Based AR
Mobile AR Lecture 5 - Location Based ARMark Billinghurst
 
4) How did you use media technologies in the construction, research, planning...
4) How did you use media technologies in the construction, research, planning...4) How did you use media technologies in the construction, research, planning...
4) How did you use media technologies in the construction, research, planning...Chloe Alexandria
 
4) How did you use media technologies in the construction, research, planning...
4) How did you use media technologies in the construction, research, planning...4) How did you use media technologies in the construction, research, planning...
4) How did you use media technologies in the construction, research, planning...Chloe Alexandria
 

What's hot (18)

Making a game with Molehill: Zombie Tycoon
Making a game with Molehill: Zombie TycoonMaking a game with Molehill: Zombie Tycoon
Making a game with Molehill: Zombie Tycoon
 
Animation
AnimationAnimation
Animation
 
Animation
AnimationAnimation
Animation
 
Unity & VR (Unity Roadshow 2016)
Unity & VR (Unity Roadshow 2016)Unity & VR (Unity Roadshow 2016)
Unity & VR (Unity Roadshow 2016)
 
Unity: Next Level Rendering Quality
Unity: Next Level Rendering QualityUnity: Next Level Rendering Quality
Unity: Next Level Rendering Quality
 
Advanced Power Point 1
Advanced Power Point 1Advanced Power Point 1
Advanced Power Point 1
 
Animation
AnimationAnimation
Animation
 
Animation
AnimationAnimation
Animation
 
Animation
AnimationAnimation
Animation
 
Mobile AR Lecture6 - Introduction to Unity 3D
Mobile AR Lecture6 - Introduction to Unity 3DMobile AR Lecture6 - Introduction to Unity 3D
Mobile AR Lecture6 - Introduction to Unity 3D
 
Lecture 9 animation
Lecture 9 animationLecture 9 animation
Lecture 9 animation
 
Vfx PPT
Vfx PPTVfx PPT
Vfx PPT
 
Compositing, Composing Worlds
Compositing, Composing WorldsCompositing, Composing Worlds
Compositing, Composing Worlds
 
Mobile AR Lecture 5 - Location Based AR
Mobile AR Lecture 5 - Location Based ARMobile AR Lecture 5 - Location Based AR
Mobile AR Lecture 5 - Location Based AR
 
VFX
VFXVFX
VFX
 
4) How did you use media technologies in the construction, research, planning...
4) How did you use media technologies in the construction, research, planning...4) How did you use media technologies in the construction, research, planning...
4) How did you use media technologies in the construction, research, planning...
 
Q4
Q4Q4
Q4
 
4) How did you use media technologies in the construction, research, planning...
4) How did you use media technologies in the construction, research, planning...4) How did you use media technologies in the construction, research, planning...
4) How did you use media technologies in the construction, research, planning...
 

Similar to FMX2013: Butterfly Effect

Unity animation workshop 2021-22
Unity animation workshop 2021-22Unity animation workshop 2021-22
Unity animation workshop 2021-22ThomasDeacon4
 
Question 4 of A2 Media evaluation
Question 4 of A2 Media evaluationQuestion 4 of A2 Media evaluation
Question 4 of A2 Media evaluationLewisMarcelRoscoe
 
The use of technology in the research, construction and planning stages.
The use of technology in the research, construction and planning stages.The use of technology in the research, construction and planning stages.
The use of technology in the research, construction and planning stages.DavinaRehal
 
Tel stop motion animation meaning & procedure
Tel  stop motion animation meaning & procedureTel  stop motion animation meaning & procedure
Tel stop motion animation meaning & procedureMadhusudhan Peddinti
 
What have you learnt about technologies
What have you learnt about technologiesWhat have you learnt about technologies
What have you learnt about technologiesHannahEmmaLailaJosh
 
Evalustion 2 technology
Evalustion 2 technologyEvalustion 2 technology
Evalustion 2 technologyEmily236
 
Evaluation - Question 6
Evaluation - Question 6Evaluation - Question 6
Evaluation - Question 608tparnell
 
Stop motion animation meaning & procedure
Stop motion animation meaning & procedureStop motion animation meaning & procedure
Stop motion animation meaning & procedureMadhusudhan Peddinti
 
Question 6: What have you learnt about technologies from the process of const...
Question 6: What have you learnt about technologies from the process of const...Question 6: What have you learnt about technologies from the process of const...
Question 6: What have you learnt about technologies from the process of const...Austen Nuttall
 
Real-time CG animation in Unity: unpacking the Sherman project - Unite Copenh...
Real-time CG animation in Unity: unpacking the Sherman project - Unite Copenh...Real-time CG animation in Unity: unpacking the Sherman project - Unite Copenh...
Real-time CG animation in Unity: unpacking the Sherman project - Unite Copenh...Unity Technologies
 
How did you use media technologies in the
How did you use media technologies in theHow did you use media technologies in the
How did you use media technologies in thecsullivans05
 
How did you use media technologies in the
How did you use media technologies in theHow did you use media technologies in the
How did you use media technologies in thecsullivans05
 
What have you learnt from technologies from the process of construction the p...
What have you learnt from technologies from the process of construction the p...What have you learnt from technologies from the process of construction the p...
What have you learnt from technologies from the process of construction the p...JackSandham
 
Chapter 9 animation
Chapter 9 animationChapter 9 animation
Chapter 9 animationshelly3160
 

Similar to FMX2013: Butterfly Effect (20)

Unity animation workshop 2021-22
Unity animation workshop 2021-22Unity animation workshop 2021-22
Unity animation workshop 2021-22
 
pres
prespres
pres
 
Question 4 of A2 Media evaluation
Question 4 of A2 Media evaluationQuestion 4 of A2 Media evaluation
Question 4 of A2 Media evaluation
 
Adobe premiere
Adobe premiereAdobe premiere
Adobe premiere
 
Evaluation 4
Evaluation 4Evaluation 4
Evaluation 4
 
The use of technology in the research, construction and planning stages.
The use of technology in the research, construction and planning stages.The use of technology in the research, construction and planning stages.
The use of technology in the research, construction and planning stages.
 
Tel stop motion animation meaning & procedure
Tel  stop motion animation meaning & procedureTel  stop motion animation meaning & procedure
Tel stop motion animation meaning & procedure
 
What have you learnt about technologies
What have you learnt about technologiesWhat have you learnt about technologies
What have you learnt about technologies
 
Evalustion 2 technology
Evalustion 2 technologyEvalustion 2 technology
Evalustion 2 technology
 
Question 6
Question 6Question 6
Question 6
 
Evaluation - Question 6
Evaluation - Question 6Evaluation - Question 6
Evaluation - Question 6
 
Stop motion animation meaning & procedure
Stop motion animation meaning & procedureStop motion animation meaning & procedure
Stop motion animation meaning & procedure
 
Question 6: What have you learnt about technologies from the process of const...
Question 6: What have you learnt about technologies from the process of const...Question 6: What have you learnt about technologies from the process of const...
Question 6: What have you learnt about technologies from the process of const...
 
Real-time CG animation in Unity: unpacking the Sherman project - Unite Copenh...
Real-time CG animation in Unity: unpacking the Sherman project - Unite Copenh...Real-time CG animation in Unity: unpacking the Sherman project - Unite Copenh...
Real-time CG animation in Unity: unpacking the Sherman project - Unite Copenh...
 
Evaluation
EvaluationEvaluation
Evaluation
 
How did you use media technologies in the
How did you use media technologies in theHow did you use media technologies in the
How did you use media technologies in the
 
How did you use media technologies in the
How did you use media technologies in theHow did you use media technologies in the
How did you use media technologies in the
 
What have you learnt from technologies from the process of construction the p...
What have you learnt from technologies from the process of construction the p...What have you learnt from technologies from the process of construction the p...
What have you learnt from technologies from the process of construction the p...
 
Animation ict
Animation ictAnimation ict
Animation ict
 
Chapter 9 animation
Chapter 9 animationChapter 9 animation
Chapter 9 animation
 

More from Renaldas Zioma

Overview of AI Startups in Lithuania
Overview of AI Startups in LithuaniaOverview of AI Startups in Lithuania
Overview of AI Startups in LithuaniaRenaldas Zioma
 
Trip down the GPU lane with Machine Learning
Trip down the GPU lane with Machine LearningTrip down the GPU lane with Machine Learning
Trip down the GPU lane with Machine LearningRenaldas Zioma
 
New Tools for Art and Content - Artificial Intelligence and Machine Learning
New Tools for Art and Content - Artificial Intelligence and Machine LearningNew Tools for Art and Content - Artificial Intelligence and Machine Learning
New Tools for Art and Content - Artificial Intelligence and Machine LearningRenaldas Zioma
 
THE BLACKSMITH demo: Bridging the Gap between Realtime and Offline CG
THE BLACKSMITH demo: Bridging the Gap between Realtime and Offline CGTHE BLACKSMITH demo: Bridging the Gap between Realtime and Offline CG
THE BLACKSMITH demo: Bridging the Gap between Realtime and Offline CGRenaldas Zioma
 
Unite2014: Mastering Physically Based Shading in Unity 5
Unite2014: Mastering Physically Based Shading in Unity 5Unite2014: Mastering Physically Based Shading in Unity 5
Unite2014: Mastering Physically Based Shading in Unity 5Renaldas Zioma
 

More from Renaldas Zioma (7)

Overview of AI Startups in Lithuania
Overview of AI Startups in LithuaniaOverview of AI Startups in Lithuania
Overview of AI Startups in Lithuania
 
Trip down the GPU lane with Machine Learning
Trip down the GPU lane with Machine LearningTrip down the GPU lane with Machine Learning
Trip down the GPU lane with Machine Learning
 
New Tools for Art and Content - Artificial Intelligence and Machine Learning
New Tools for Art and Content - Artificial Intelligence and Machine LearningNew Tools for Art and Content - Artificial Intelligence and Machine Learning
New Tools for Art and Content - Artificial Intelligence and Machine Learning
 
Practical AI in Games
Practical AI in GamesPractical AI in Games
Practical AI in Games
 
THE BLACKSMITH demo: Bridging the Gap between Realtime and Offline CG
THE BLACKSMITH demo: Bridging the Gap between Realtime and Offline CGTHE BLACKSMITH demo: Bridging the Gap between Realtime and Offline CG
THE BLACKSMITH demo: Bridging the Gap between Realtime and Offline CG
 
Unite2014: Mastering Physically Based Shading in Unity 5
Unite2014: Mastering Physically Based Shading in Unity 5Unite2014: Mastering Physically Based Shading in Unity 5
Unite2014: Mastering Physically Based Shading in Unity 5
 
Buttefly
ButteflyButtefly
Buttefly
 

Recently uploaded

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 

Recently uploaded (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 

FMX2013: Butterfly Effect

  • 1. Butterfly Effect: Workflow, Rendering & Shading Renaldas Zioma Unity Technologies @__ReJ__ Monday, April 29, 13 This talk will cover workflows and techniques that we adopted while working on the Butterfly Effect. •
  • 2. Unite template2 What is it? Real-time animated short Collaboration between Unity, Passion Pictures and NVIDIA Monday, April 29, 13 If you haven’t seen Butterfly Effect is realtime animated short, developed in collaboration between Unity, Passion Pictures and NVIDIA •
  • 3. Opportunity to Learn • Passion Pictures • New world of RealTime • No prior experience with Unity • Unity Technologies • CG Pipeline • Huge amounts of Data 3 Monday, April 29, 13 Passion Pictures is a film and animation production company with broad experience in CG, stop-motion, documentary and traditional media. Passion Pictures have developed visual elements for animated rock band Gorillaz, cinematics for Rock Band video game and infamous (in UK) Meerkat advertisements. Prior to this collaboration Passion Pictures had NO experience with Real Time rendering / Game technologies or any experience working with Unity tools. We approached Passion Pictures in late Fall of 2011 looking for collaboration on a real- time short. Real-time was a completely new area for Passion Pictures thus presented a learning opportunity to adopt RealTime for internal pre-visualization and leverage experience for working with Interactive projects (studio is working on number of such projects since). Passion Pictures: “We felt we had an opportunity to do something special that we hadn’t done before, get experience with the Unity real time engine and help drive Unity in a direction that could integrate it with our studio.”
  • 4. Project Outline • 30GB of source Assets • 5GB of runtime Data • 137 shots • 40 “scenes” in Editor 4 Monday, April 29, 13
  • 5. Project Organization • Team of ~10 - first month • pre production • research / tools • Team of ~30 - next 2 months • content • tools / engine modifications • Team of 5 - last 3.5 months • polish • optimizations 5 Monday, April 29, 13
  • 6. Unite template6 Monday, April 29, 13 Passion Pictures presented a number of short film ideas and once Dan Sumich’s “Butterfly Effect” pitch was chosen - work started. Storyboard was developed from original pitch. Next storyboard was put into Animatronic - animated sequence of images in sync with music too capture flow and timing. Example of the storyboards for Scooter section in development.
  • 7. Unite template7 Monday, April 29, 13 Color Boards helped to capture mood and lighting. It is worth noting how well Story and Color Boards resemble the final look of the short.
  • 8. Previz • One Sequence • Goals • Initial timings • Visualize Space • Prime lenses • 10, 14, 18, 21, 24, 27, 35, 40, 50, 75, 100, 200 • Zoom lens • 18 to 150 8 Monday, April 29, 13 First pre-visualization was done in traditional to Passion Pictures way - directly in Softimage XSI. Only standard camera settings based on physically cameras and lenses as used in Live shoots (Prime/Zoom lenses) were used to capture the filmic feel.
  • 9. Pipeline • Connect Passion pipeline with Unity Editor • Main Goal Minimal changes to Artist workflow! 9 Monday, April 29, 13 Very short production cycle (traditional to CG industry) required minimal changes to artist workflow. Both Passion pipeline (XSI scripts) and Unity Editor scripting capabilities proved to be flexible enough. Passion Pictures: “After the creative challenge of finding the right director and script for the film, the two immediate challenges were making sure that we had the right tools in Unity for the job so that we could take our pipeline into Unity, and also making sure that we could still work in the way we normally do as a studio. If we break down our pipeline into animation, simulation, rendering and compositing then we wanted to be able to bring these as much as possible into Unity working with our existing content creation tools as normal.”
  • 10. Passion Pipeline • No Change for Artists • Use Existing Asset Pipeline • Sequences SB, BU • Shots SB_01_00, SB_02_00 • Assets [Character/Camera/Layout] • Export Models and Publish Shots as normal • Add Unity support 10 Monday, April 29, 13 Standard Passion Pictures asset pipeline could be mapped to Unity asset representation quite easily. Multiple shots were grouped into a single Unity scene - some scenes contained one shot, some multiple. Sequence of shots (SB - SkateBoard, BU - Bus) became a group of Unity scenes sharing same folder. Standard Passion Picture pipeline (set of Softimage XSI scripts) was augmented with “publishing” shots to Unity project file structure and to incorporate SVN version control. SVN was a new tool for artists.
  • 11. Unite template Character Rig • XSI Softimage Rig • Bones • Envelope • Face Shapes • Controls • Unity Rig • Bones • Blend Shapes • Materials 11 Monday, April 29, 13
  • 12. Unite template Facial Rig • Bones • Head, neck, jaw, eyes • Blend shapes • Face • Mocap shoot • Face markers • Cubic motion • Retarget facial animation onto XSI controls 12 Monday, April 29, 13 Facial animations in Softimage XSI / Unity: combination of bones and blend shapes. Face markers were used for facial motion capture, retargeted on controls in Softimage XSI.
  • 13. Unite template13 Monday, April 29, 13 Mocap facial shoot on the right. Animation transferred onto Softimage XSI character rig on the left. We worked with Centroid for the motion capture shoot. Passion Pictures provided them with a FK rig containing just the bones and skin for our Hero character. Centroid sent FBX files for our FK rig send back FBX files of the FK rig from Centroid. Using an intermediate rig Passion Pictures transferred the FK animation back onto our IK character rig in Softimage XSI. By keeping the shoot rig live in the scene, we were able to either keep the motion capture, animate on top of it or replace it with new animation, depending what worked in the shot.
  • 14. Unite template14 Monday, April 29, 13 Facial animation controls in Softimage XSI after retargeting.
  • 15. Non-linear time • Treat Sequences as Live Shoot • Cover the action from different angles • Each sequence needs multiple cameras 15 Monday, April 29, 13 Action packed Butterfly Effect storyboard pushed Passion Pictures to treat film almost as a Live shoot. In traditional Live shoots multiple cameras are used to cover action from different angles. During the montage footage might overlap or jump in time according to Directors whim. Film was broken down into sequences which correspond to a continuous action (such as Skateboard sequence). Description about every camera was created in Final Cut and exported to custom XML format (based on Edit Decision List or EDL file format of Final Cut).
  • 16. Unite template Non-linear time • Shot Description • Final Cut edit • Export EDL as XML file • Camera in/out points • Timeline in Unity • Sequence Preview in RV • Using EDL from Final Cut • Play whole preview sequence in RV • Instant Feedback for Animators 16 Monday, April 29, 13 Action packed Butterfly Effect storyboard pushed Passion Pictures to treat film almost as a Live shoot. In traditional Live shoots multiple cameras are used to cover action from different angles. During the montage footage might overlap or jump in time according to Directors whim. Film was broken down into sequences which correspond to a continuous action (such as Skateboard sequence). Description about every camera was created in Final Cut and exported to custom XML format (based on Edit Decision List or EDL file format of Final Cut).
  • 17. Unite template Timeline in Unity 17 Monday, April 29, 13 Next this data could be read in Unity and used to control cameras, animated objects and physical simulations. Custom timeline viewer was developed in Unity using Editor scripting. Changes to the film edit, jumping back and forward in time and reordering of the shots became possible without need to rebake animations in Softimage XSI.
  • 18. Unite template Timeline in Unity 18 Monday, April 29, 13 Next this data could be read in Unity and used to control cameras, animated objects and physical simulations. Custom timeline viewer was developed in Unity using Editor scripting. Changes to the film edit, jumping back and forward in time and reordering of the shots became possible without need to rebake animations in Softimage XSI.
  • 19. Unite template Non-linear Challenges • Animation • Particles • Physics • Rigid Body simulation 19 Monday, April 29, 13
  • 20. Unite template Point Cache • Per-vertex Deformations • Cloth • Hair 20 Monday, April 29, 13 Two types of vertex animation: BlendShapes and Point Cache were introduced in Unity for Butterfly Effect. Passion Pictures: “In our standard pipeline we create point caches for each animated model in the scene using .pc2 or alembic files. This creates a break in the pipeline so that when we’re rendering we don’t need all the animation rig in the scene. For software rendering the cache sizes and data throughput aren’t an issue but in a real time game engine we have to keep the enveloped characters and bake the animation on the bones per frame.”
  • 21. 21 Point Cache Monday, April 29, 13 Point Cache used for extreme face deformation
  • 22. Unite template Tessellation • CatmullClark • Now: on CPU • Future: OpenSubdiv library 22 Monday, April 29, 13 (Mostly due to multiple layers of resting cloth) CatmullClark tessellation was used to match DCC tools exactly. It is problematic to implement CatmullClark using DirectX11 hardware tessellation because of recursive nature of certain patches. Instead of approximation we went for exact CPU implementation for 1st level of subdivision.
  • 23. Unite template Hair • Guide “strands” for modeling • GPU Tesselation and “Amplification” • 23 Monday, April 29, 13 Guide hair strands provide excellent control for animators.
  • 24. Unite template24 Hair Monday, April 29, 13 Final look of the hair.
  • 25. 25 MentalRay Architectural (MIA) Shaders • Familiar • Small set of parameters • Physically Based • Micro facet • Energy conserving Monday, April 29, 13 We aimed to provide PassionPictures artists with familiar tools, hence decision to implement realtime counterparts for MentalRay architectural shaders.
  • 26. Unite template26 1 parameter for Diffuse Monday, April 29, 13 Between Clay and Plastic. Screenshot from the Unity Editor.
  • 27. Unite template27 2 parameters for Specular Monday, April 29, 13 Roughness and Reflectivity Screenshot from the Unity Editor.
  • 28. Unite template28 2 parameters for Reflectivity Monday, April 29, 13 Reflectivity for depending on angle of incidence. Defined as pair of parameters - for ray hitting at Grazing angle (90) and for ray perpendicular to the surface. Screenshot from the Unity Editor.
  • 29. Unite template MIA Implementation • Oren-Nayar • Diffuse • Cook-Torrance • Specular • Geometric + Roughness + Fresnel term • Ward distribution for Roughness • I think... ;) • Direct + Indirect illumination 29 Monday, April 29, 13
  • 30. Unite template Unity Implementation • Oren-Nayar • very expensive • OK approximations • Cook-Torrance • Normalized Blinn-Phong instead of Ward • Roughness to Phong exponent (n): • n = 2 / roughness2 - 2 • Tweaked to match MIA look: • n = 2 / roughness4 - 2 • Schlick approximation for Fresnel • Only direct illumination at RunTime 30 Monday, April 29, 13
  • 31. Unite template31 MentalRay Unity Monday, April 29, 13 Realtime implementation matches offline MentalRay implementation quite well. Note some small differences in size of specular and very glossy surfaces.
  • 32. Unite template32 Monday, April 29, 13 Most of materials where setup by Passion Pictures in Softimage XSI and were transferred to Unity. Tweaks were necessary to achieve final look in Unity, but relative compatibility of the MIA and Unity shaders saved a bulk of the manual work for us.
  • 33. Unite template33 Indirect Illumination (GI) • Point Clouds for Dynamic Geometry • Spherical Harmonics for Diffuse Bounce • Cube Textures for Reflections Monday, April 29, 13 For indirect lighting we went for very practical approach - storing secondary bounces in the low-resolution textures / Spherical Harmonics probes.
  • 34. Unite template34 Indirect Illumination (GI) • Textures for Static Geometry • Diffuse Bounce • AO Monday, April 29, 13
  • 35. Unite template35 Indirect Illumination (GI) • Calculated offline with Autodesk Beast • Path Tracer + Final Gather • IBL for Sky • Fake Caustics Monday, April 29, 13 Beast setup: . 500 Final Gather rays (1 bounce) . Path Tracer (4 bounces) . 1024 IBL sky rays Final quality scene bake would take between 20 minutes and 8 hours depending on the size of the scene. Bake quality for all scenes in the short was carried on over-night on 4 machines.
  • 36. Unite template36 Real Time Shadows Monday, April 29, 13
  • 37. Unite template37 Baked Shadows • Of course baked only for static environments Monday, April 29, 13
  • 38. 38 Ambient Occlusion • HBAO - Screen Space Monday, April 29, 13 Horizon-Based Ambient Occlusion - developed by NVIDIA.
  • 39. 39 Ambient Occlusion • Too Dark & Dirty Monday, April 29, 13
  • 40. 40 Ambient Occlusion • Applied ONLY to Indirect Illumination • Colored to match Sky better Monday, April 29, 13 Screen Space Ambient Occlusion information is calculated at the start of the frame and passed into the shaders, where it is applied to (occludes / darkens) indirect lighting only. Ambient Occlusion is tinted towards the sky to achieve more plausible look.
  • 41. Unite template Skin • Texture Space Diffusion • 3 Layers 41 Monday, April 29, 13 Subsurface only scattering of the skin on the left side. Lighting in texture (unwrapped UV) space on the right.
  • 42. Unite template Back Scattering • Translucency Map • Adds intensity to sub- dermal layer 42 Monday, April 29, 13
  • 44. Unite template R 44 Monday, April 29, 13 Final look of the skin.
  • 45. Unite template45 Depth Of Field • Antialiasing aware • FXAA based • With Splatted Bokeh Texture Monday, April 29, 13
  • 46. 46 Monday, April 29, 13 High variation of depth causes Depth of Field to produce noticeable aliasing on the edges of geometry. We married Depth Of Field filter with additional FXAA based antialiasing technique driven by radius of Circle of Confusion to blur neighboring pixels. Example of aliasing caused by discontinuities in depth buffer on the left side. Our approach on the right side.
  • 47. Monday, April 29, 13 Depth Of Field using “standard” blur - top image. Detecting bright pixels and “splattering” bokeh sprites on top - bottom image.
  • 48. 48 Thank you! Talented people, come join our team working on Showcases for Unity! http://unity3d.com/jobs Monday, April 29, 13
  • 49. References 49  [Bavoil08] Image-Space Horizon-Based Ambient Occlusion. L. Bavoil, M. Sainz, 2008  [Catmull78] Recursively generated B-spline surfaces on arbitrary topological meshes. E. Catmull, J. Clark, 1978  [CookTorrance82] A Reflectance Graphics Model for Computer graphic. R. L. Cook, K. E. Torrance, 1982  [Hoffman10] Crafting Physically Motivated Shading Models for Game Development. N. Hoffman, 2010  [Lottes09] FXAA. T. Lottes, 2009  [Mental07] mental ray Architectural and Design Visualization Shader Library. mental images GmbH, 2007  http://www.mentalimages.com/fileadmin/user_upload/PDF/arch_and_design.pdf  [Mikkelsen09] Microfacet Based Bidirectional Reflectance Distribution Function. M. Mikkelsen, 2009  [Nießner12] Feature-Adaptive GPU Rendering of Catmull-Clark Subdivision Surfaces. M. Nießner, C. Loop, M. Meyer, T. Derose, 2012  [Olano10] LEAN Mapping. M. Olano, D. Baker, 2010  [Schüler11] The Blinn-Phong Normalization Zoo. C. Schüler, 2011  http://www.thetenthplanet.de/archives/255  [Zhukov98] An ambient light illumination model. S. Zhukov, A. Inoes, G. Kronin, 1998 Monday, April 29, 13