SlideShare uma empresa Scribd logo
1 de 35
Kinect Motion Capture
    for Filmmaking
         3/23/13
How does the Kinect work?




                            Photo by y3rdua
Getting Started: Hardware
You will need:
• A Kinect, or generic equivalent such as the Asus Xtion
• USB/AC adapter cable, if you have a Kinect that was bundled
  with the Xbox (don’t buy the Microsoft adapter, the cheap ones
  work fine)
• Enough space to perform
Getting Started: Software

OpenNI driver bundle:
simple-openni.googlecode.com

KinectToPin:
kinecttopin.com
Two competing SDKs
OpenNI
• Free and open source
• Works with all models of Kinect as well as other devices such as the Asus Xtion.
• Cross platform – even supports ARM processors and Android


Microsoft (official) SDK
• More tracking points
• Estimates occluded joints and hand/foot rotation
• Special case capture modes (seated figure etc.)
• Only works with Kinect For Windows – on Windows
KinectToPin
Kinect Motion Capture for After Effects
What is KinectToPin?



                              +
       A standalone motion
                                  A UI panel for After Effects
        capture application
Rig 2D character models in 3D
“Working Backwards”

Traditional Animation                 Motion Capture Workflow
1. Start with scene already           1. Start with full color, full-motion
    storyboarded and timed out           characters
2. Create sketches of key poses for   2. Refine blocking and movement;
    each character                       add facial animation
3. Add in-between drawings for        3. Choose shots and timing of
    movement                             edit, add camera moves
4. Color and composite characters     4. (Optional) Re-record any
    in final scene                       performances that aren’t working
“Working Backwards”



Think of it like working with raw footage.
Character Design
2D models in 3D space
Why multi-layered characters?

Single-layer model:   Multi-layered:
Design Tips
• “Break” your model at every
  joint.
• Build in overlap so joints have
  room to rotate without
  disconnecting.
• Parts that fall in front of and
  behind another layer (e.g. the
  hair of the model at left)
  should be two layers.
• The hands, feet and head can
  each have multiple elements.
Cutouts
Raster-based characters drawn or cut out of existing images or photographs.


• Work big if you want to be able to zoom in on your characters
• When cutting out layers, use “Refine Edge” to smooth your
  edges and clean up any extra junk that got selected
• Clone/heal/paint in portions that will be missing or problematic
  when the model changes pose
Vector-Based Characters
Drawn with math, not pixels. Easier to break into layers – but watch out.


• Can be built in Illustrator, Photoshop or with AE Shape Layers
• Vector-based characters are not infinitely scalable as you’d
  expect: rigging with AE’s Puppet Tool generates a mesh at a set
  resolution.
• Building puppets with vector layers adds an extra step: they
  need to be precomposed before rigging.
Motion Capture
Recording with KinectToPin
Setting up your space to record




                6 – 10 feet
Capturing
• Record 15-point 3D skeletal
  tracking data
• Capture in sync to dialogue
• Remote control with a standard
  presentation remote
• Open source and cross-platform:
  runs on OpenNI, built in
  Processing, also works with
  generic sensors like the Asus
  Xtion
Acting for Kinect
• The Kinect can’t record what it can’t see.
   • Keep your entire body in the camera’s range
   • Face the camera when capturing
   • Watch out for occluded joints (sitting down, putting your hands behind
     your back etc. can cause it to lose the track)
• It’s surprisingly good at picking up subtle posture shifts, but not
  smaller motions like laughter.
• Use a different performer for each character if possible
Data formats for export
KinectToPin can output quite a few data, but the ones we’ll be
using today are:
• XML (Native recording format, no export required)
• After Effects 3D Point Controls (CS5.5+)
• After Effects 2D Point Controls (CS4+)

Tip: Edit KinectToPin’s settings.txt file to choose your output
formats.
Lunch.
Importing tracking data
Native import or copy & paste
Meet the KinectToPin UI Panel.
• Create character
  templates
• 2D and 3D setups
• Native XML import
  (SLOW)
• Automatically add
  expressions to smooth
  tracking data
• Automate rigging
The Puppet Tool
THREE OR MORE PINS ON ONE LAYER:   TWO PINS EACH, MULTIPLE LAYERS:
Elbows don’t bend this way. Ow.    Rotation with stretch and squash!
AE Puppet best practices
• Work BIG. Start high-res, scale down in the puppet comp, then
  scale back up in the project comp (enable Collapse
  Transformations).
• Precompose if you’re using vectors or shape layers
• Keep multiple angles of the same character in sync

                      High-res
    Start big.        Character
                       Layers
                                             Project Comp
                                                            End big.
                                   Rigging
                                  Template
Character Rigging
Using the KinectToPin UI panel
Retargeting for arbitrary character
shapes
It’s easy!
Just grab a red control null and move it to the appropriate
position.
Quick auto-lip sync
1. Select audio layer and choose
“Convert Audio to Keyframes.”
Quick auto-lip sync
2. Alt-click the stopwatch to add an expression. Use the
pickwhip to connect the audio keyframes to the mouth animation.
Quick auto-lip sync
3. Size the audio data to fit. Use this expression:

      audio = [your audio keyframes];
      linear(audio,sourceMin,sourceMax,targetMin,targetMax)
         Lowest value of source data

                         Highest value of source data

                                        Closed mouth (probably 0)

                                                        Widest possible open mouth
One last thought:

Embrace the limitations of
      the format.
Further non-K2P tools

FREE                                  COMMERCIAL
Brekel Kinect                         iPi Soft
   Open-source capture for 3D            Uses two Kinects to record
   animation (Windows-only)              www.ipisoft.com
   www.brekel.com

                                      NI Mate
Duik
                                         Kinect for OSC/MIDI/Blender
   Inverse kinematics plugin for AE
                                         www.ni-mate.com
   www.duduf.net
Get in Touch
Victoria Nece
www.victorianece.com
@FakeGreenDress

Mais conteúdo relacionado

Mais procurados

Unite2013-gavilan-pdf
Unite2013-gavilan-pdfUnite2013-gavilan-pdf
Unite2013-gavilan-pdf
David Gavilan
 
Gam02 kinect1, kinect2
Gam02   kinect1, kinect2Gam02   kinect1, kinect2
Gam02 kinect1, kinect2
DotNetCampus
 

Mais procurados (14)

Odessa .NET User Group - Kinect v2
Odessa .NET User Group - Kinect v2Odessa .NET User Group - Kinect v2
Odessa .NET User Group - Kinect v2
 
Behavior Tree in Unreal engine 4
Behavior Tree in Unreal engine 4Behavior Tree in Unreal engine 4
Behavior Tree in Unreal engine 4
 
Open GL for Mobile UI
Open GL for Mobile UIOpen GL for Mobile UI
Open GL for Mobile UI
 
Application of ml kit from firebase
Application of ml kit from firebaseApplication of ml kit from firebase
Application of ml kit from firebase
 
Making VR Games and Experiences in UE4
Making VR Games and Experiences in UE4Making VR Games and Experiences in UE4
Making VR Games and Experiences in UE4
 
Unite2013-gavilan-pdf
Unite2013-gavilan-pdfUnite2013-gavilan-pdf
Unite2013-gavilan-pdf
 
Gam02 kinect1, kinect2
Gam02   kinect1, kinect2Gam02   kinect1, kinect2
Gam02 kinect1, kinect2
 
Making High Quality Interactive VR with Unreal Engine Luis Cataldi
Making High Quality Interactive VR with Unreal Engine Luis CataldiMaking High Quality Interactive VR with Unreal Engine Luis Cataldi
Making High Quality Interactive VR with Unreal Engine Luis Cataldi
 
Bring the Future of Entertainment to Your Living Room: MPEG-I Immersive Video...
Bring the Future of Entertainment to Your Living Room: MPEG-I Immersive Video...Bring the Future of Entertainment to Your Living Room: MPEG-I Immersive Video...
Bring the Future of Entertainment to Your Living Room: MPEG-I Immersive Video...
 
Snap Lens Tutorial
Snap Lens TutorialSnap Lens Tutorial
Snap Lens Tutorial
 
Introduction to mobile programming with Androids.
Introduction to mobile programming with Androids. Introduction to mobile programming with Androids.
Introduction to mobile programming with Androids.
 
Let there be light
Let there be lightLet there be light
Let there be light
 
Handling Dark Mode on Android and iOS
Handling Dark Mode on Android and iOSHandling Dark Mode on Android and iOS
Handling Dark Mode on Android and iOS
 
Make believe - Droidcon UK 2015
Make believe - Droidcon UK 2015Make believe - Droidcon UK 2015
Make believe - Droidcon UK 2015
 

Semelhante a K2P workshop 3-23-13

2 track kinect@Bicocca - hardware e funzinamento
2   track kinect@Bicocca - hardware e funzinamento2   track kinect@Bicocca - hardware e funzinamento
2 track kinect@Bicocca - hardware e funzinamento
Matteo Valoriani
 

Semelhante a K2P workshop 3-23-13 (20)

DIY motion capture with KinectToPin
DIY motion capture with KinectToPinDIY motion capture with KinectToPin
DIY motion capture with KinectToPin
 
Kinect Hacks for Dummies
Kinect Hacks for DummiesKinect Hacks for Dummies
Kinect Hacks for Dummies
 
Nui e biometrics in windows 10
Nui e biometrics in windows 10Nui e biometrics in windows 10
Nui e biometrics in windows 10
 
Lecture 1 Introduction to VR Programming
Lecture 1 Introduction to VR ProgrammingLecture 1 Introduction to VR Programming
Lecture 1 Introduction to VR Programming
 
Kinect v1+Processing workshot fabcafe_taipei
Kinect v1+Processing workshot fabcafe_taipeiKinect v1+Processing workshot fabcafe_taipei
Kinect v1+Processing workshot fabcafe_taipei
 
Данило Ульянич “C89 OpenGL for ARM microcontrollers on Cortex-M. Basic functi...
Данило Ульянич “C89 OpenGL for ARM microcontrollers on Cortex-M. Basic functi...Данило Ульянич “C89 OpenGL for ARM microcontrollers on Cortex-M. Basic functi...
Данило Ульянич “C89 OpenGL for ARM microcontrollers on Cortex-M. Basic functi...
 
Community Day 2013 - The Power of Kinect
Community Day 2013 - The Power of KinectCommunity Day 2013 - The Power of Kinect
Community Day 2013 - The Power of Kinect
 
New 2D World-Building, Animation & Graphics Features in Unity
New 2D World-Building, Animation & Graphics Features in UnityNew 2D World-Building, Animation & Graphics Features in Unity
New 2D World-Building, Animation & Graphics Features in Unity
 
Xtext, diagrams and ux
Xtext, diagrams and uxXtext, diagrams and ux
Xtext, diagrams and ux
 
11 Best Animation Tools You Should Definitely Try.pptx
11 Best Animation Tools You Should Definitely Try.pptx11 Best Animation Tools You Should Definitely Try.pptx
11 Best Animation Tools You Should Definitely Try.pptx
 
TMD2063 | Digital Animation - Chapter 3
TMD2063 | Digital Animation - Chapter 3TMD2063 | Digital Animation - Chapter 3
TMD2063 | Digital Animation - Chapter 3
 
Kinect Arabic Interfaced Drawing Application
Kinect Arabic Interfaced Drawing ApplicationKinect Arabic Interfaced Drawing Application
Kinect Arabic Interfaced Drawing Application
 
ICS3211 lecture 08
ICS3211 lecture 08ICS3211 lecture 08
ICS3211 lecture 08
 
Pervasive Checkers
Pervasive CheckersPervasive Checkers
Pervasive Checkers
 
The not so short introduction to Kinect
The not so short introduction to KinectThe not so short introduction to Kinect
The not so short introduction to Kinect
 
Mirko Lucchese - Deep Image Processing
Mirko Lucchese - Deep Image ProcessingMirko Lucchese - Deep Image Processing
Mirko Lucchese - Deep Image Processing
 
2 track kinect@Bicocca - hardware e funzinamento
2   track kinect@Bicocca - hardware e funzinamento2   track kinect@Bicocca - hardware e funzinamento
2 track kinect@Bicocca - hardware e funzinamento
 
Becoming a kinect hacker innovator v2
Becoming a kinect hacker innovator v2Becoming a kinect hacker innovator v2
Becoming a kinect hacker innovator v2
 
Blendertut
BlendertutBlendertut
Blendertut
 
T3con10_html5_kosack_zinner
T3con10_html5_kosack_zinnerT3con10_html5_kosack_zinner
T3con10_html5_kosack_zinner
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Último (20)

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 

K2P workshop 3-23-13

  • 1. Kinect Motion Capture for Filmmaking 3/23/13
  • 2. How does the Kinect work? Photo by y3rdua
  • 3. Getting Started: Hardware You will need: • A Kinect, or generic equivalent such as the Asus Xtion • USB/AC adapter cable, if you have a Kinect that was bundled with the Xbox (don’t buy the Microsoft adapter, the cheap ones work fine) • Enough space to perform
  • 4. Getting Started: Software OpenNI driver bundle: simple-openni.googlecode.com KinectToPin: kinecttopin.com
  • 5. Two competing SDKs OpenNI • Free and open source • Works with all models of Kinect as well as other devices such as the Asus Xtion. • Cross platform – even supports ARM processors and Android Microsoft (official) SDK • More tracking points • Estimates occluded joints and hand/foot rotation • Special case capture modes (seated figure etc.) • Only works with Kinect For Windows – on Windows
  • 7. What is KinectToPin? + A standalone motion A UI panel for After Effects capture application
  • 8. Rig 2D character models in 3D
  • 9. “Working Backwards” Traditional Animation Motion Capture Workflow 1. Start with scene already 1. Start with full color, full-motion storyboarded and timed out characters 2. Create sketches of key poses for 2. Refine blocking and movement; each character add facial animation 3. Add in-between drawings for 3. Choose shots and timing of movement edit, add camera moves 4. Color and composite characters 4. (Optional) Re-record any in final scene performances that aren’t working
  • 10. “Working Backwards” Think of it like working with raw footage.
  • 13. Design Tips • “Break” your model at every joint. • Build in overlap so joints have room to rotate without disconnecting. • Parts that fall in front of and behind another layer (e.g. the hair of the model at left) should be two layers. • The hands, feet and head can each have multiple elements.
  • 14. Cutouts Raster-based characters drawn or cut out of existing images or photographs. • Work big if you want to be able to zoom in on your characters • When cutting out layers, use “Refine Edge” to smooth your edges and clean up any extra junk that got selected • Clone/heal/paint in portions that will be missing or problematic when the model changes pose
  • 15. Vector-Based Characters Drawn with math, not pixels. Easier to break into layers – but watch out. • Can be built in Illustrator, Photoshop or with AE Shape Layers • Vector-based characters are not infinitely scalable as you’d expect: rigging with AE’s Puppet Tool generates a mesh at a set resolution. • Building puppets with vector layers adds an extra step: they need to be precomposed before rigging.
  • 17. Setting up your space to record 6 – 10 feet
  • 18. Capturing • Record 15-point 3D skeletal tracking data • Capture in sync to dialogue • Remote control with a standard presentation remote • Open source and cross-platform: runs on OpenNI, built in Processing, also works with generic sensors like the Asus Xtion
  • 19.
  • 20. Acting for Kinect • The Kinect can’t record what it can’t see. • Keep your entire body in the camera’s range • Face the camera when capturing • Watch out for occluded joints (sitting down, putting your hands behind your back etc. can cause it to lose the track) • It’s surprisingly good at picking up subtle posture shifts, but not smaller motions like laughter. • Use a different performer for each character if possible
  • 21. Data formats for export KinectToPin can output quite a few data, but the ones we’ll be using today are: • XML (Native recording format, no export required) • After Effects 3D Point Controls (CS5.5+) • After Effects 2D Point Controls (CS4+) Tip: Edit KinectToPin’s settings.txt file to choose your output formats.
  • 23. Importing tracking data Native import or copy & paste
  • 24. Meet the KinectToPin UI Panel. • Create character templates • 2D and 3D setups • Native XML import (SLOW) • Automatically add expressions to smooth tracking data • Automate rigging
  • 25. The Puppet Tool THREE OR MORE PINS ON ONE LAYER: TWO PINS EACH, MULTIPLE LAYERS: Elbows don’t bend this way. Ow. Rotation with stretch and squash!
  • 26. AE Puppet best practices • Work BIG. Start high-res, scale down in the puppet comp, then scale back up in the project comp (enable Collapse Transformations). • Precompose if you’re using vectors or shape layers • Keep multiple angles of the same character in sync High-res Start big. Character Layers Project Comp End big. Rigging Template
  • 27. Character Rigging Using the KinectToPin UI panel
  • 28. Retargeting for arbitrary character shapes
  • 29. It’s easy! Just grab a red control null and move it to the appropriate position.
  • 30. Quick auto-lip sync 1. Select audio layer and choose “Convert Audio to Keyframes.”
  • 31. Quick auto-lip sync 2. Alt-click the stopwatch to add an expression. Use the pickwhip to connect the audio keyframes to the mouth animation.
  • 32. Quick auto-lip sync 3. Size the audio data to fit. Use this expression: audio = [your audio keyframes]; linear(audio,sourceMin,sourceMax,targetMin,targetMax) Lowest value of source data Highest value of source data Closed mouth (probably 0) Widest possible open mouth
  • 33. One last thought: Embrace the limitations of the format.
  • 34. Further non-K2P tools FREE COMMERCIAL Brekel Kinect iPi Soft Open-source capture for 3D Uses two Kinects to record animation (Windows-only) www.ipisoft.com www.brekel.com NI Mate Duik Kinect for OSC/MIDI/Blender Inverse kinematics plugin for AE www.ni-mate.com www.duduf.net
  • 35. Get in Touch Victoria Nece www.victorianece.com @FakeGreenDress

Notas do Editor

  1. Why DIY MoCap?Motion capture is now cheap and accessibleNo longer need a giant studioIt’s FAST.Ideal use cases: short-turnaround animation, rapid prototyping etc.
  2. Microsoft SDK vs. OpenNI
  3. Can add multiple motion tracks and duplicate nullsPin names need to match control nulls
  4. 2D vs. 3D: Avoiding the “Uncanny Valley”Awesome glitches