SlideShare a Scribd company logo
1 of 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

More Related Content

What's hot

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
 

What's hot (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
 

Similar to 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
 

Similar to 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
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Recently uploaded (20)

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
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
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
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 

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

Editor's Notes

  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