<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Victoria Nece &#187; tutorial</title>
	<atom:link href="http://victorianece.com/tag/tutorial/feed/" rel="self" type="application/rss+xml" />
	<link>http://victorianece.com</link>
	<description>Animation &#124; Motion Graphics &#124; Design</description>
	<lastBuildDate>Mon, 14 May 2012 19:27:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Kinect MoCap Animation in After Effects &#8212; Part 4: Rigging a Digital Puppet</title>
		<link>http://victorianece.com/2012/02/kinect-mocap-animation-in-after-effects-part-4-rigging-a-digital-puppet/</link>
		<comments>http://victorianece.com/2012/02/kinect-mocap-animation-in-after-effects-part-4-rigging-a-digital-puppet/#comments</comments>
		<pubDate>Mon, 27 Feb 2012 06:06:12 +0000</pubDate>
		<dc:creator>Victoria</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[After Effects]]></category>
		<category><![CDATA[Kinect]]></category>
		<category><![CDATA[puppets]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://victorianece.com/?p=1002</guid>
		<description><![CDATA[&#160; This is part 4 in a series. Part 1 &#124; Part 2 &#124; Part 3 &#124; Download Project Files &#160; Yes, it’s the part you’ve all been waiting for: it&#8217;s finally time to set up your character layers! This was originally going to be in Part 3, but there are so many steps I [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<div class="tip_box">This is part 4 in a series. <a title="Kinect MoCap Animation in After Effects — Part 1: Getting Started" href="http://victorianece.com/2012/02/kinect-mocap-animation-in-after-effects-part-1/">Part 1</a> | <a title="Kinect MoCap Animation in After Effects — Part 2: Motion Capture with KinectToPin" href="http://victorianece.com/2012/02/kinect-mocap-animation-in-after-effects-part-2-motion-capture/">Part 2</a> | <a href="http://victorianece.com/2012/02/kinect-mocap-animation-in-after-effects-part-3-building-the-puppet-rigging-template-in-ae/" title="Kinect MoCap Animation in After Effects — Part 3: Building the Puppet Rigging Template">Part 3</a> | <a title="Project file" href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/Kinect-+-AE-Sample-Puppet-CS5.zip">Download Project Files</a></div>
<p>&nbsp;</p>
<p><iframe width="580" height="325" src="http://www.youtube.com/embed/mcwPsqYBhds" frameborder="0" allowfullscreen></iframe></p>
<p>Yes, it’s the part you’ve all been waiting for: it&#8217;s finally time to set up your character layers!</p>
<p>This was originally going to be in Part 3, but there are so many steps I realized I needed to break things down a bit more.</p>
<p><span id="more-1002"></span></p>
<h3>About the Puppet Tool</h3>
<p>We’re going to be using the Puppet Tool a little differently than it was originally intended to be used. It was designed for a single layer puppet, but when you try to animate a character that way it gives you a very wiggly result &#8212; what I refer to as the &#8220;Bendy Elbows&#8221; problem. It&#8217;s great for deforming or reshaping a layer, or making old-timey cartoons, but it won&#8217;t give you anything close to realistic movement.</p>
<div id="attachment_1012" class="wp-caption aligncenter" style="width: 450px"><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/Puppet-Pin-Example.jpg"><img class="size-medium wp-image-1012" title="Puppet Pin Example" src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/Puppet-Pin-Example-440x330.jpg" alt="" width="440" height="330" /></a><p class="wp-caption-text">...Yikes.</p></div>
<p>&nbsp;</p>
<p>And if you try using all 15 points of your KinectToPin tracking data with a flat puppet the result is.. unfortunate.</p>
<p>&nbsp;</p>
<div id="attachment_1013" class="wp-caption aligncenter" style="width: 450px"><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/KinectToPin-Example.jpg"><img class="size-medium wp-image-1013" title="KinectToPin Example" src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/KinectToPin-Example-440x330.jpg" alt="" width="440" height="330" /></a><p class="wp-caption-text">(I don&#39;t think legs should bend like that.)</p></div>
<p>&nbsp;</p>
<p>However, if you only have <em>two</em> puppet pins on a layer, you get a completely different effect: instead of making it go all wibbly, they work sort of like multiple anchor points with the layer stretched between them.</p>
<p>&nbsp;</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/Two-Pins.png"><img class="aligncenter size-medium wp-image-1016" title="Two-Pins" src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/Two-Pins-426x330.png" alt="" width="426" height="330" /></a></p>
<p>&nbsp;</p>
<p>So that&#8217;s why we&#8217;re putting the source data on one layer and using expressions to link to it to control separate pieces.</p>
<p>&nbsp;</p>
<h3>Designing Your Character for Kinect Control</h3>
<p>As if this process wasn’t complicated enough already, it also makes building your character a little more work: instead of just creating a single layer, you need to build your puppet out of lots of little pieces so that it can rotate wherever there&#8217;s a joint &#8212; you need a hand, a forearm, an upper arm and so forth.</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/Puppet-Pieces.jpg"><img class="aligncenter size-medium wp-image-1021" title="Puppet Pieces" src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/Puppet-Pieces-440x330.jpg" alt="" width="440" height="330" /></a></p>
<p>One thing is a bit easier though. Instead of having to use the Puppet Tool&#8217;s layer overlap feature, you can change what part of your character is in front by simply changing the layer order. This also means that if you have an element that needs to be in front of some layers and behind others, like the head of a character with long hair, you need to make it two separate layers.</p>
<p>You can use your own preferred technique to create your puppet, whether it&#8217;s drawn or cut up in Photoshop, created in Illustrator or even generated via After Effects shape layers like this one. I’ve used this process with everything from Illustrator vectors to pieces cut out of vintage photos and artwork, but for this demo I used shape layers so I could give out a single .aep file with no dependencies. You can’t just cut up a flat puppet or photo, unfortunately. You need to give each layer a little bit of overlap with the ones it connects to so the puppet doesn’t come apart at the joints.</p>
<p>Also, if you&#8217;re importing your layers from another program, make sure to crop them to the <em>layer</em> dimensions on import (not the comp’s) so you aren&#8217;t dealing with unwieldy giant rectangles the whole time.</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/retainlayersizes.png"><img class="aligncenter size-full wp-image-1023" title="retainlayersizes" src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/retainlayersizes.png" alt="" width="392" height="224" /></a></p>
<p>&nbsp;</p>
<h3>Scaling: Getting it Right Before You Rig</h3>
<p>Regardless of your design technique, be sure the layers are decently high resolution so you have some flexibility in how close you can zoom in on them. Even if your character is made of vectors, you&#8217;re going to lose some sizing flexibility when you add the Puppet pins. Here&#8217;s why: when you first add pins, the Puppet Tool works by creating a mesh of your layer <em>at that layer&#8217;s original resolution</em>. And you can&#8217;t use Collapse Transformations on a layer with a Puppet Tool instance &#8212; it breaks everything &#8212; so you want each piece as big as possible at this point. <strong>All the scaling down needs to happen inside the puppet animation comp, and all the scaling up needs to happen once that comp is nested elsewhere.</strong> Don’t worry if the raw elements are actually bigger than your animation comp itself: even though the puppet comp is only 640&#215;480, you can scale back up into HD later as long as you plan things right at the start, because you <em>can</em> apply Collapse Transformations to the puppet comp once it’s nested in a larger comp.</p>
<p>In short: make sure all your layers are nice and big at the point the Puppet Tool gets to them.</p>
<p>If you’re using vector or shape layers, you need to precompose them before you apply the puppet tool. Same goes for if you have a layer that’s going to contain animation inside itself, such as lip sync on a head. Make your precomp the size of the layer at 100% scale, not the size of the puppet comp, or you’ll lose the ability to enlarge it later.</p>
<p>&nbsp;</p>
<h3>Setting Up After Effects for Rigging</h3>
<p>Okay, so, you’ve got everything loaded in, precomposed, and the right scale? Good. Now you can connect it to the template you built in Part 3.</p>
<p>You’re going to be linking Puppet pins to the expression point controls in the template. The easiest way to do this is to open up multiple Effects palettes for the different control layers down the side of the screen. You can do this by clicking the lock icon in the Effects window, then opening the next one below it, locking that one, and so on. Having all the points visible makes it easy to pickwhip the right one.</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/1-Setting-up-effects-palettes.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/1-Setting-up-effects-palettes-580x326.jpg" alt="" title="1 - Setting up effects palettes" width="580" height="326" class="aligncenter size-medium wp-image-1029" /></a></p>
<p>&nbsp;</p>
<h3>Connecting to Control Layers</h3>
<p>Let’s start with the left lower leg. I tend to hide all the layers I’m not currently rigging so I don’t get confused. Use the Puppet Tool to create a pin where you want the ankle pivot to be, then one where you want the knee pivot to be. </p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/2-The-left-leg.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/2-The-left-leg-580x326.jpg" alt="" title="2 - The left leg" width="580" height="326" class="aligncenter size-medium wp-image-1030" /></a></p>
<p>When you created these pins, the Puppet Tool also created the mesh it’s going to use to deform the layer, and you can see it by clicking the “Show Mesh” checkbox. If you want to make sure the edges of your limb don’t get cropped off, you can set the mesh expansion up to five or so. If things seem really slow, you can drop the number of triangles way down and that should help, but if you have too few triangles things won’t curve smoothly.</p>
<p>Now, hit U to show the keyframes on the timeline.  For Pin 1, alt-click the stopwatch, then type <strong>fromComp(</strong> <em>[pickwhip leftAnkle control point from leftLeg layer]</em> <strong>)</strong>. The “fromComp” transform makes the Puppet Tool understand where to put the pins relative to the layer’s dimensions instead of to the comp as a whole.</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/3-Connecting-To-Control.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/3-Connecting-To-Control-580x326.jpg" alt="" title="3 - Connecting To Control" width="580" height="326" class="aligncenter size-medium wp-image-1031" /></a></p>
<p>The expression should look like this:</p>
<pre><strong>fromComp(thisComp.layer("leftLeg").effect("leftAnkle")("Point"))</strong></pre>
<p>&nbsp;</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/4-Connecting-the-second-point.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/4-Connecting-the-second-point-580x326.jpg" alt="" title="4 - Connecting the second point" width="580" height="326" class="aligncenter size-medium wp-image-1032" /></a></p>
<p>Now, do the same thing for Pin 2, but link it to the left knee:</p>
<pre><strong>fromComp(thisComp.layer("leftLeg").effect("leftKnee")("Point"))</strong></pre>
<p>&nbsp;</p>
<p>Now, scale down the layer until it appears to be a sensible size and proportion. </p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/5-squashy-leg.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/5-squashy-leg-580x326.jpg" alt="" title="5 - squashy leg" width="580" height="326" class="aligncenter size-medium wp-image-1033" /></a></p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/6-After-scaling.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/6-After-scaling-580x326.jpg" alt="" title="6 - After scaling" width="580" height="326" class="aligncenter size-medium wp-image-1034" /></a></p>
<p>If you built your character all at once, you’re going to scale down <em>all</em> the layers to this size. Try scrubbing through the timeline. Congratulations, you’ve successfully animated a shin!</p>
<p>You’re going to follow the same basic pattern for the upper and lower arm and leg pieces: add a fromComp layer space transform, then choose the relevant point control. The torso, hands, feet and head work differently, though, so save them for last.</p>
<p>So: left upper leg. Point on the knee, point on the hip joint. </p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/7-Upper-Leg.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/7-Upper-Leg-580x326.jpg" alt="" title="7 - Upper Leg" width="580" height="326" class="aligncenter size-medium wp-image-1035" /></a></p>
<p>The knee pin gets the same expression it had on the lower leg layer. The hip joint gets:</p>
<pre><strong>fromComp(thisComp.layer("leftLeg").effect("leftHip")("Point"))</strong></pre>
<p>&nbsp;</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/8-Connecting-to-controls.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/8-Connecting-to-controls-580x326.jpg" alt="" title="8 - Connecting to controls" width="580" height="326" class="aligncenter size-medium wp-image-1036" /></a></p>
<p>Hey check it out, you have a leg!</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/9-Scaled-Down.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/9-Scaled-Down-580x326.jpg" alt="" title="9 - Scaled Down" width="580" height="326" class="aligncenter size-medium wp-image-1037" /></a></p>
<p>&nbsp;</p>
<p>Same deal on the right side of the body. Add the right ankle:</p>
<pre><strong>fromComp(thisComp.layer("rightLeg").effect("rightAnkle")("Point"))</strong></pre>
<p>&nbsp;</p>
<p>And the knee point:</p>
<pre><strong>fromComp(thisComp.layer("rightLeg").effect("rightKnee")("Point"))</strong></pre>
<p>&nbsp;</p>
<p>Now add the knee point to the upper leg:</p>
<pre><strong>fromComp(thisComp.layer("rightLeg").effect("rightKnee")("Point")) </strong></pre>
<p>&nbsp;</p>
<p>And the hip point:</p>
<pre><strong>fromComp(thisComp.layer("rightLeg").effect("rightHip")("Point"))</strong></pre>
<p>&nbsp;</p>
<p>Starting to make sense now? <img src='http://victorianece.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/10-Rt-Upper-Leg-Needs-Scaling.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/10-Rt-Upper-Leg-Needs-Scaling-580x326.jpg" alt="" title="10 - Rt Upper Leg Needs Scaling" width="580" height="326" class="aligncenter size-medium wp-image-1038" /></a></p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/11-Legs.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/11-Legs-580x326.jpg" alt="" title="11 - Legs!" width="580" height="326" class="aligncenter size-medium wp-image-1039" /></a><br />
&nbsp;</p>
<p>If it looks like the legs are bending backwards or on the wrong side, check or uncheck the Invert Pins box.</p>
<p>Now we’ll do the arms. For the forearm, add pins to the right wrist:</p>
<pre><strong>fromComp(thisComp.layer("rightArm").effect("rightWrist")("Point"))</strong></pre>
<p><strong><br />
&nbsp;</p>
<p></strong>And the right elbow:</p>
<pre><strong>fromComp(thisComp.layer("rightArm").effect("rightElbow")("Point"))</strong></pre>
<p>&nbsp;</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/12-Lower-Arm-Connections.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/12-Lower-Arm-Connections-580x326.jpg" alt="" title="12 - Lower Arm Connections" width="580" height="326" class="aligncenter size-medium wp-image-1040" /></a></p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/13-Hey-an-arm.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/13-Hey-an-arm-580x326.jpg" alt="" title="13 - Hey an arm" width="580" height="326" class="aligncenter size-medium wp-image-1041" /></a></p>
<p>And for the upper arm, you need the right elbow:</p>
<pre><strong>fromComp(thisComp.layer("rightArm").effect("rightElbow")("Point"))</strong></pre>
<p>&nbsp;</p>
<p>And the right shoulder:</p>
<pre><strong>fromComp(thisComp.layer("rightArm").effect("rightShoulder")("Point"))</strong></pre>
<p>&nbsp;</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/14-Upper-Arm-pins.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/14-Upper-Arm-pins-580x326.jpg" alt="" title="14 - Upper Arm pins" width="580" height="326" class="aligncenter size-medium wp-image-1042" /></a></p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/15-Connecting-the-upper-arm.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/15-Connecting-the-upper-arm-580x326.jpg" alt="" title="15 - Connecting the upper arm" width="580" height="326" class="aligncenter size-medium wp-image-1043" /></a></p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/16-Scaling.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/16-Scaling-580x326.jpg" alt="" title="16 - Scaling" width="580" height="326" class="aligncenter size-medium wp-image-1044" /></a></p>
<p>That’s the right arm done. Now for the left.</p>
<p>&nbsp;</p>
<p>Left forearm: left wrist:</p>
<pre><strong>fromComp(thisComp.layer("leftArm").effect("leftWrist")("Point"))</strong></pre>
<p>&nbsp;</p>
<p>And left elbow:</p>
<pre><strong>fromComp(thisComp.layer("leftArm").effect("leftElbow")("Point"))</strong></pre>
<p>&nbsp;</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/17-Left-Arm-pins.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/17-Left-Arm-pins-580x326.jpg" alt="" title="17 - Left Arm pins" width="580" height="326" class="aligncenter size-medium wp-image-1045" /></a></p>
<p>Left upper arm is the left elbow:</p>
<pre><strong>fromComp(thisComp.layer("leftArm").effect("leftElbow")("Point"))</strong></pre>
<p>&nbsp;</p>
<p>And the left shoulder:</p>
<pre><strong>fromComp(thisComp.layer("leftArm").effect("leftShoulder")("Point"))</strong></pre>
<p>&nbsp;</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/18-Arms-done.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/18-Arms-done-580x326.jpg" alt="" title="18 - Arms done" width="580" height="326" class="aligncenter size-medium wp-image-1046" /></a></p>
<p>Scrub through: it’s starting to come to life!</p>
<p>Next we’re going to rig the torso, which is a little more complicated. </p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/19-Torso-pins.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/19-Torso-pins-580x326.jpg" alt="" title="19 - Torso pins" width="580" height="326" class="aligncenter size-medium wp-image-1047" /></a></p>
<p>We’re actually okay with it bending and flexing, so it gets five points: the hip and shoulder pins at the corners, as well as the waist pin right in the middle. Connect them the same way you linked up the limbs. Here are the five separate expressions:</p>
<pre><strong>fromComp(thisComp.layer("Spine").effect("Waist")("Point")) </strong></pre>
<p>&nbsp;</p>
<pre><strong>fromComp(thisComp.layer("leftLeg").effect("leftHip")("Point")) </strong></pre>
<p>&nbsp;</p>
<pre><strong>fromComp(thisComp.layer("rightLeg").effect("rightHip")("Point")) </strong></pre>
<p>&nbsp;</p>
<pre><strong>fromComp(thisComp.layer("rightArm").effect("rightShoulder")("Point")) </strong></pre>
<p>&nbsp;</p>
<pre><strong>fromComp(thisComp.layer("leftArm").effect("leftShoulder")("Point"))</strong></pre>
<p>&nbsp;</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/20-Squashy-Torso.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/20-Squashy-Torso-580x326.jpg" alt="" title="20 - Squashy Torso" width="580" height="326" class="aligncenter size-medium wp-image-1048" /></a></p>
<p>Scale that down, too:</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/21-Better-torso.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/21-Better-torso-580x326.jpg" alt="" title="21 - Better torso" width="580" height="326" class="aligncenter size-medium wp-image-1049" /></a></p>
<p>You could also add the neck pin if you wanted, but whether that works well really depends on the design of your character.</p>
<p>&nbsp;</p>
<h3>Adjusting Pin Placement</h3>
<p>Now, take a look at how things are moving. If it seems like a shoulder pin is in the wrong place, you can delete it and create a new pin in a different spot. The Puppet Tool will keep using the same underlying mesh. Copy the expression before you delete the pin so you can add it to the new one right away. One thing that’s really important to point out here is that if you make any changes to<em> the shape of the layer itself</em>, you need to delete more than just the puppet pins &#8212; you need to delete the <em>entire</em> puppet effect instance. Otherwise, it’s going to keep on using the old, outdated layer mesh. <strong>This is also why you can’t copy and paste my puppet pins to your own character.</strong></p>
<p>&nbsp;</p>
<h3>The Hands and Feet</h3>
<p>Next we’re going to attach the hands and feet. These are quick and easy: you don’t need the puppet tool for these, and you don’t need the fromComp layer space transform. However, instead of a pin, you’re going to apply it to the layer’s <strong>position</strong> transform. Just pickwhip the right arm control, like so:</p>
<pre><strong>thisComp.layer("rightArm").effect("rightWrist")("Point")</strong></pre>
<p>&nbsp;</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/22-Rt-Hand.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/22-Rt-Hand-580x326.jpg" alt="" title="22 - Rt Hand" width="580" height="326" class="aligncenter size-medium wp-image-1050" /></a></p>
<p>Now, move the anchor point until the hand is connected to the lower arm in the right spot. The hands and feet are the only things you’ll actually need to animate by hand to match the Kinect-captured movements. Just set rotation keyframes so they’re in the correct position. If you download my sample puppet, you may notice I have Time Remapping enabled on the hands as well. Stay tuned for Part 5 to learn how to use that to change the hand pose.</p>
<p>Now, do the same on the left side:</p>
<pre><strong>thisComp.layer("leftArm").effect("leftWrist")("Point")</strong></pre>
<p>&nbsp;</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/23-Left-Hand.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/23-Left-Hand-580x326.jpg" alt="" title="23 - Left Hand" width="580" height="326" class="aligncenter size-medium wp-image-1051" /></a></p>
<p>And now the feet. Right:</p>
<pre><strong>thisComp.layer("rightLeg").effect("rightAnkle")("Point") </strong></pre>
<p>&nbsp;</p>
<p>And left:</p>
<pre><strong>thisComp.layer("leftLeg").effect("leftAnkle")("Point")</strong></pre>
<p>&nbsp;</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/24-Hands-and-feet-done.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/24-Hands-and-feet-done-580x326.jpg" alt="" title="24 - Hands and feet done" width="580" height="326" class="aligncenter size-medium wp-image-1052" /></a></p>
<p>&nbsp;</p>
<h3>Rigging the Head: Two Options</h3>
<p>The last thing we’re going to rig is the head. You have a couple of choices at this point. If you want to animate head tilt yourself, or have a head that’s going to change shape from talking or varying facial expressions, you should attach it the same way you did the arm and leg by pushing the head’s anchor point to the bottom and linking its position transform to the neck point control:</p>
<pre><strong>thisComp.layer("Spine").effect("Neck")("Point")</strong></pre>
<p>&nbsp;</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/25-GIANT-HEAD.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/25-GIANT-HEAD-580x326.jpg" alt="" title="25 - GIANT HEAD" width="580" height="326" class="aligncenter size-medium wp-image-1053" /></a></p>
<p>Scale to match:</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/26-Scaled-head.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/26-Scaled-head-580x326.jpg" alt="" title="26 - Scaled head" width="580" height="326" class="aligncenter size-medium wp-image-1054" /></a></p>
<p>If you want to use the puppet tool instead, add one point at the neck and one in the center of the face. </p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/27-Puppet-head.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/27-Puppet-head-580x326.jpg" alt="" title="27 - Puppet head" width="580" height="326" class="aligncenter size-medium wp-image-1055" /></a></p>
<p>I find the head data is the most unreliably tracked, so I’ve split the x and y positions up so I can offset them individually if need be. In this case, here’s the expression I used for the neck in order to move the Y point 21 pixels:</p>
<pre><strong>x = thisComp.layer("Spine").effect("Neck")("Point")[0];</strong>
<strong>y = thisComp.layer("Spine").effect("Neck")("Point")[1]-21;</strong>
<strong>fromComp([x,y])</strong></pre>
<p>Don’t forget the fromComp transform at the end!</p>
<p>And here’s the one I used on the head point:</p>
<pre><strong>x = thisComp.layer("Spine").effect("Head")("Point")[0]+2;</strong>
<strong>y = thisComp.layer("Spine").effect("Head")("Point")[1]-3;</strong>
<strong>fromComp([x,y]) </strong></pre>
<p>&nbsp;</p>
<p>Without offsets:<br />
<a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/28-Head-needs-adjustment.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/28-Head-needs-adjustment-580x326.jpg" alt="" title="28 - Head needs adjustment" width="580" height="326" class="aligncenter size-medium wp-image-1056" /></a></p>
<p>With offsets:<br />
<a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/29-Whole-puppet-rigged.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/29-Whole-puppet-rigged-580x326.jpg" alt="" title="29 - Whole puppet rigged" width="580" height="326" class="aligncenter size-medium wp-image-1057" /></a></p>
<p>There’s no magic to the offset numbers I used&#8230; they’re just the numbers I found worked through trial and error when applied to this one particular track. Stretching a face even a pixel or two is noticeable in a way stretching a forearm isn’t, so you just kind of have to eyeball it.</p>
<p>&nbsp;</p>
<h3>Results</h3>
<p>You&#8217;re all set! Hit play and check out the results, or to see it nice and big drop it into an HD comp and enable Collapse Transformations, like so: </p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/30-Finished-Puppet.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/30-Finished-Puppet-580x326.jpg" alt="" title="30 - Finished Puppet" width="580" height="326" class="aligncenter size-medium wp-image-1058" /></a></p>
<p>You now have a fully rigged Kinect-controlled puppet, and all you have to do to change its actions is to paste new tracking data to the source layer.</p>
<p>After a little more tweaking, here&#8217;s the final result:<br />
<iframe width="640" height="360" src="http://www.youtube.com/embed/QOQfkz3iNVw" frameborder="0" allowfullscreen></iframe></p>
<p>Stay tuned for Part 5 for finishing techniques, including a more advanced way to animate the hands and feet, a quick and dirty trick to automate lip sync, and how to bring your puppet into HD.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://victorianece.com/2012/02/kinect-mocap-animation-in-after-effects-part-4-rigging-a-digital-puppet/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Kinect MoCap Animation in After Effects — Part 3: Building the Puppet Rigging Template</title>
		<link>http://victorianece.com/2012/02/kinect-mocap-animation-in-after-effects-part-3-building-the-puppet-rigging-template-in-ae/</link>
		<comments>http://victorianece.com/2012/02/kinect-mocap-animation-in-after-effects-part-3-building-the-puppet-rigging-template-in-ae/#comments</comments>
		<pubDate>Fri, 17 Feb 2012 20:21:14 +0000</pubDate>
		<dc:creator>Victoria</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[After Effects]]></category>
		<category><![CDATA[Kinect]]></category>
		<category><![CDATA[MoCap]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://victorianece.com/?p=953</guid>
		<description><![CDATA[&#160;  Part 1 (Getting Started) is here, and Part 2 (Recording MoCap data with KinectToPin) is here. Part 4 (Rigging the Digital Puppet) is here. You can download the After Effects project file here (CS5+). &#160; Welcome back! So now that you have your tracking data recorded, it’s time to build a character to apply [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<div class="info_box"> <a title="Kinect MoCap Animation in After Effects — Part 1: Getting Started" href="http://victorianece.com/2012/02/kinect-mocap-animation-in-after-effects-part-1/">Part 1 (Getting Started) is here</a>, and <a title="Kinect MoCap Animation in After Effects — Part 2: Motion Capture with KinectToPin" href="http://victorianece.com/2012/02/kinect-mocap-animation-in-after-effects-part-2-motion-capture/">Part 2 (Recording MoCap data with KinectToPin) is here</a>. <a href="http://victorianece.com/2012/02/kinect-mocap-animation-in-after-effects-part-4-rigging-a-digital-puppet/" title="Kinect MoCap Animation in After Effects — Part 4: Rigging a Digital Puppet">Part 4 (Rigging the Digital Puppet) is here</a>.</p>
<p>You can <a title="Project file" href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/Kinect-+-AE-Sample-Puppet-CS5.zip"> download the After Effects project file here</a> (CS5+).</div>
<p>&nbsp;</p>
<p><iframe width="580" height="325" src="http://www.youtube.com/embed/NZxLEXNn0ow" frameborder="0" allowfullscreen></iframe></p>
<p><br class="clear" /><br class="clear" />Welcome back! So now that you have your tracking data recorded, it’s time to build a character to apply it to. This is where things get a bit complicated.</p>
<p>&nbsp;<span id="more-953"></span></p>
<h3>Template Setup</h3>
<p>We’re going to start by building a reusable template that you can use as the basis for any Kinect-controlled puppet. If you want to skip this section and download your own version of the template to start with, go for it, but I think knowing how it all works actually makes rigging easier.</p>
<p>&nbsp;</p>
<h4>1. Create a 640&#215;480 24fps comp</h4>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/1-New-Comp.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/1-New-Comp-580x326.jpg" alt="" title="1- New Comp" width="580" height="326" class="aligncenter size-medium wp-image-997" /></a></p>
<p>Start by creating a new comp. Let’s call it “Puppet Template.” It has to match the dimensions and framerate of the Kinect, so: 640 by 480, 24 frames per second. Don’t worry, you’ll still be able to composite your puppet in HD later on.</p>
<p>I’ve added a reference image to help explain what’s going on: the Kinect tracking pins are numbered 1 to 15, starting with the left foot and ending with the head.</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/Kinect-Pin-Chart-01.png"><img class="aligncenter size-medium wp-image-962" title="Kinect-Pin-Chart-01" src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/Kinect-Pin-Chart-01-440x330.png" alt="" width="440" height="330" /></a></p>
<p>&nbsp;</p>
<h4>2. The Source layer</h4>
<p>Now, we’re going to set up the layer that will hold the tracking data. Create a null or a new solid, and label it “<strong>Source</strong>.”  It also needs to be 640&#215;480. You can hit Ctrl + Shift + Y to resize it.</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/2-Create-Source-Layer.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/2-Create-Source-Layer-580x326.jpg" alt="" title="2 - Create Source Layer" width="580" height="326" class="aligncenter size-medium wp-image-996" /></a></p>
<p>Select the puppet tool, and add 15 points to this layer, in roughly the shape of the Kinect source data. </p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/3-Add-Source-Pins.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/3-Add-Source-Pins-580x326.jpg" alt="" title="3 - Add Source Pins" width="580" height="326" class="aligncenter size-medium wp-image-995" /></a></p>
<p>They don’t need to be perfect, but you can use the reference image as a template if you want. Now, you aren’t going to be animating this layer directly: these pins are where you’re going to paste your tracking data so the puppet pieces can access it. That is, you’re going to use them as a source of information to control <em>another</em> set of pins on different layers.</p>
<p>It’s good to have a sample track to test your rig with. </p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/4-Copy-Test-Data.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/4-Copy-Test-Data-580x326.jpg" alt="" title="4 - Copy Test Data" width="580" height="326" class="aligncenter size-medium wp-image-994" /></a></p>
<p>To add your mocap data, open up its text file, copy the whole file, then select all the pins and hit paste.</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/5-Paste-Test-Data.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/5-Paste-Test-Data-580x326.jpg" alt="" title="5 - Paste Test Data" width="580" height="326" class="aligncenter size-medium wp-image-993" /></a></p>
<p>Kinect tracking data can be very choppy, so we need to smooth it out, or all of our characters will look as if they’ve had far too much coffee. After Effects actually has a nondestructive smoothing function built into the program, but it’s only accessible as an expression. I’ve been using this software for more than a decade now and had <em>no</em> idea it was there, so I need to thank Roland Kahlenberg on CreativeCow for pointing me in the right direction on this, as it’s what really makes the process workable.</p>
<p>So let’s smooth things out a bit. Head down to the timeline, and hit U to show all keyframes. Hold alt and click the stopwatch to create an expression. It defaults to self-referencing, so that snippet of script just means “use these keyframes here to control this point.” You’re not going to delete that bit, just add a little piece of code on the end that will make the Kinect data play nice. Type <strong>.smooth(.5,15)</strong> . </p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/6-Smoothing.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/6-Smoothing-580x326.jpg" alt="" title="6 - Smoothing" width="580" height="326" class="aligncenter size-medium wp-image-992" /></a></p>
<p>You have to do this for all 15 pins, but you only have to do it this once.</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/7-Apply-to-all-15-pins.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/7-Apply-to-all-15-pins-580x326.jpg" alt="" title="7 - Apply to all 15 pins" width="580" height="326" class="aligncenter size-medium wp-image-991" /></a></p>
<p>You can take a look at the smoothed out path by clicking “show post expression graph” then switching to the Graph Editor. </p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/8-Smoothed-Track-Graph.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/8-Smoothed-Track-Graph-580x326.jpg" alt="" title="8 - Smoothed Track Graph" width="580" height="326" class="aligncenter size-medium wp-image-989" /></a></p>
<p>You can really see the difference it makes! The smooth method works by averaging out the motion over time. The first number is the amount of time averaged &#8212; .5 means half a second. And the second value is the number of samples over that time. Make sure it’s an odd number so that the frame you’re looking at gets factored in. The bigger the number, the smoother the motion, but it may slow down your machine, and if you average things too much you’ll start to get into creepy mocap jello territory. I find .5 and 15 work pretty well for me, but you can adjust the numbers to suit your own designs.</p>
<p>&nbsp;</p>
<h4>3. Adding Invert Pins Option</h4>
<p>Now, sometimes the data comes in with left and right inverted. The next thing we’re going to build gives us a quick method of flipping the point sources so that when that happens you just have to check a box instead of rewriting all your expressions.</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/9-Invert-Pins.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/9-Invert-Pins-580x326.jpg" alt="" title="9 - Invert Pins" width="580" height="326" class="aligncenter size-medium wp-image-990" /></a></p>
<p>Create a new layer, and call it <strong>Invert Pins</strong>. Add a Checkbox expression control (Effect -&gt; Expression Controls -&gt; Checkbox Control). </p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/10-Invert-Pins-Checkbox.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/10-Invert-Pins-Checkbox-580x326.jpg" alt="" title="10 - Invert Pins Checkbox" width="580" height="326" class="aligncenter size-medium wp-image-988" /></a></p>
<p>You can rename that if you want. I’m calling mine “<strong>Invert Pins?</strong>”. </p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/11-Name-it-Invert-Pins.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/11-Name-it-Invert-Pins-580x326.jpg" alt="" title="11 - Name it Invert Pins" width="580" height="326" class="aligncenter size-medium wp-image-986" /></a></p>
<p>We’re going to write conditional expressions that refer to it &#8212; that means if this box is checked, they’ll get the tracking data from one side, and if it’s unchecked, they’ll get it from the other.</p>
<p>&nbsp;</p>
<h4>4. Creating control layers</h4>
<p>The next step is to create the control layers for the different body parts. You could just have all the expressions on one layer, but separating them gives you a little flexibility and makes it easier to find the body part you’re looking for when you’re connecting the pins on your rig to the controls.</p>
<p>Start by creating another null. Set the anchor point to 0 by selecting the layer, pressing a, then typing 0. If you need to shift a whole arm or leg over once you have things rigged, you’ll be able do it by moving these layers.</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/12-leftLeg.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/12-leftLeg-580x326.jpg" alt="" title="12 - leftLeg" width="580" height="326" class="aligncenter size-medium wp-image-987" /></a></p>
<p>Let’s start with the left leg. Rename the layer <strong>leftLeg</strong>.</p>
<p>Create an expression point control (Effect -&gt; Expression Controls -&gt; Point Control), and call it <strong>leftAnkle</strong>.</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/13-leftAnkle.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/13-leftAnkle-580x326.jpg" alt="" title="13 - leftAnkle" width="580" height="326" class="aligncenter size-medium wp-image-985" /></a></p>
<p>The next bit is easier if you hit U to show all the points on your source layer so you can grab them with the pickwhip.</p>
<p>Enable expressions, and clear out the default one. Now it’s time for that conditional expression I mentioned earlier. We’re setting this layer up to change its content based on the Invert Pins checkbox.</p>
<p>Here’s how to add the expression. The bits in bold you should type exactly as they are, the bits in italics are instructions, and the comments after the //s are just to help explain what’s going on if you’re new to conditional expressions.</p>
<p><strong>if(</strong> <em>[Pickwhip the Invert Pins checkbox control]</em> <strong>== false)</strong> // That’s saying “if the checkbox isn’t checked”&#8230;<br />
<strong>{</strong><br />
<strong> fromWorld(</strong> <em>[Pickwhip Source pin 1’s position]</em> <strong>)</strong> // &#8230;grab the position of the left ankle pin and convert its coordinates to World layer space&#8230;<br />
<strong>}else{   </strong>     // &#8230;otherwise&#8230;<br />
<strong>fromworld(</strong> <em>[Either pickwhip pin 4’s position, or just copy and paste the pin 1 info and change the 1 to a 4]</em><strong> )</strong> //  &#8230;get the position of the other ankle in World layer space and use that instead.<br />
<strong>}</strong></p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/14-leftAnkle-expression.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/14-leftAnkle-expression-580x326.jpg" alt="" title="14 - leftAnkle expression" width="580" height="326" class="aligncenter size-medium wp-image-984" /></a></p>
<p>The final expression should look like this:</p>
<pre><strong>if( thisComp.layer("InvertPins").effect("Invert Pins?")("Checkbox") == false) {</strong>
<strong> fromWorld(thisComp.layer("Source").effect("Puppet").arap.mesh("Mesh 1").deform("Puppet Pin 1").position)</strong>
<strong>}else{</strong>
<strong> fromWorld(thisComp.layer("Source").effect("Puppet").arap.mesh("Mesh 1").deform("Puppet Pin 4").position)</strong>
<strong>}</strong></pre>
<p>When you rig your puppet layers, your character’s left ankle is going to connect to this layer.</p>
<p>Now let&#8217;s set up the rest of the body parts. Here’s where that skeletal diagram comes in really handy: since you already have the basic expression format, all you have to do to set up the rest of the arm and leg controls is change the pin numbers.</p>
<p>Duplicate the leftAnkle expression point control by selecting it in the Effects palette and pressing control or command + D. Rename it <strong>leftKnee</strong>. If you had 1 and 4, now you need 2 and 5.</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/15-leftKnee.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/15-leftKnee-580x326.jpg" alt="" title="15 - leftKnee" width="580" height="326" class="aligncenter size-medium wp-image-983" /></a></p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/16-leftKnee-expression.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/16-leftKnee-expression-580x326.jpg" alt="" title="16 - leftKnee expression" width="580" height="326" class="aligncenter size-medium wp-image-981" /></a></p>
<p>Do it all again for the <strong>leftHip</strong>, and this time change the numbers to 3 and 6.</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/17-leftHip-expression.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/17-leftHip-expression-580x326.jpg" alt="" title="17 - leftHip expression" width="580" height="326" class="aligncenter size-medium wp-image-982" /></a></p>
<p>Then, duplicate the whole leftLeg layer, and rename it <strong>rightLeg</strong>. </p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/18-rightLeg-expressions.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/18-rightLeg-expressions-580x326.jpg" alt="" title="18 - rightLeg expressions" width="580" height="326" class="aligncenter size-medium wp-image-979" /></a></p>
<p>Press EE to show all expressions, rename them to <strong>rightAnkle</strong>, <strong>rightKnee</strong> and <strong>rightHip</strong>, and swap the numbers around for each of them. 1 and 4 becomes 4 and 1, 2 and 5 becomes 5 and 2, 3 and 6 becomes 6 and 3.</p>
<p>That’s both legs set up. Now it’s time for the arms. Duplicate the leftLeg layer again, and this time call it <strong>leftArm</strong>. </p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/19-leftArm.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/19-leftArm-580x326.jpg" alt="" title="19 - leftArm" width="580" height="326" class="aligncenter size-medium wp-image-977" /></a></p>
<p>Rename the controls to <strong>leftWrist</strong>, <strong>leftElbow</strong> and <strong>leftShoulder</strong>, and, again, switch out the numbers. For the wrist, the pins are 7 and 10, for the elbow 8 and 11, and for the shoulders 9 and 12.</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/20-leftArm-points.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/20-leftArm-points-580x326.jpg" alt="" title="20 - leftArm points" width="580" height="326" class="aligncenter size-medium wp-image-978" /></a></p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/21-leftArm-expressions.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/21-leftArm-expressions-580x326.jpg" alt="" title="21 - leftArm expressions" width="580" height="326" class="aligncenter size-medium wp-image-976" /></a></p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/22-leftArm-finished-expressions.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/22-leftArm-finished-expressions-580x326.jpg" alt="" title="22 - leftArm finished expressions" width="580" height="326" class="aligncenter size-medium wp-image-975" /></a></p>
<p>Duplicate the leftArm layer, and rename it to <strong>rightArm</strong>. </p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/23-rightArm-pins.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/23-rightArm-pins-580x326.jpg" alt="" title="23 - rightArm pins" width="580" height="326" class="aligncenter size-medium wp-image-973" /></a></p>
<p>Rename the controls <strong>rightWrist</strong>, <strong>rightElbow</strong> and <strong>rightShoulder</strong>, and reverse the numbers for the opposite side of the body.</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/24-rightArm-expressions.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/24-rightArm-expressions-580x326.jpg" alt="" title="24 - rightArm expressions" width="580" height="326" class="aligncenter size-medium wp-image-974" /></a></p>
<p>So now you have all four limbs. Time for the spine, waist, neck and head. These don&#8217;t flip left and right like the arms and legs, so it&#8217;s going to work a little differently.</p>
<p>Create a new null layer, set the anchor point to 0, and call this one <strong>Spine</strong>.</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/25-create-spine.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/25-create-spine-580x326.jpg" alt="" title="25 - create spine" width="580" height="326" class="aligncenter size-medium wp-image-972" /></a></p>
<p>Create a new expression point control (Effect -&gt; Expression Controls -&gt; Point Control) and call this one “<strong>waist</strong>.” This one’s a little easier.</p>
<p>Type <strong>fromWorld(</strong> <em>[Pickwhip pin 13’s position]</em> <strong>)</strong></p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/26-waist-point-control.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/26-waist-point-control-580x326.jpg" alt="" title="26 - waist point control" width="580" height="326" class="aligncenter size-medium wp-image-971" /></a></p>
<p>The final expression should look like this:</p>
<pre><strong> fromWorld(thisComp.layer("Source").effect("Puppet").arap.mesh("Mesh 1").deform("Puppet Pin 13").position)</strong></pre>
<p>All this does is grab the waist point’s location and change the numbers to World coordinates.</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/27-waist-control-finished.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/27-waist-control-finished-580x326.jpg" alt="" title="27 - waist control finished" width="580" height="326" class="aligncenter size-medium wp-image-970" /></a></p>
<p>Next, duplicate the waist point control, rename it “<strong>neck</strong>” and change the pin number to 14.</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/28-neck.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/28-neck-580x326.jpg" alt="" title="28 - neck" width="580" height="326" class="aligncenter size-medium wp-image-969" /></a></p>
<p>Duplicate it again. Make this one “<strong>head</strong>” and change 14 to 15.</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/29-head.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/29-head-580x326.jpg" alt="" title="29 - head" width="580" height="326" class="aligncenter size-medium wp-image-968" /></a></p>
<p>I like to color code the control layers, green for the left arm and leg and red for right, with a purple layer for the spine and head.</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/30-color-coding.jpg"><img src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/30-color-coding-580x326.jpg" alt="" title="30 - color coding" width="580" height="326" class="aligncenter size-medium wp-image-998" /></a></p>
<p>Whew. You now have a reusable puppet template! Now is a good time to save!</p>
<p>In the next part, we’re finally going to connect an actual puppet to this.</p>
<p>&lt;iframe width=&#8221;580&#8243; height=&#8221;325&#8243; src=&#8221;http://www.youtube.com/embed/NZxLEXNn0ow&#8221; frameborder=&#8221;0&#8243; allowfullscreen&gt;&lt;/iframe&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://victorianece.com/2012/02/kinect-mocap-animation-in-after-effects-part-3-building-the-puppet-rigging-template-in-ae/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Kinect MoCap Animation in After Effects &#8212; Part 1: Getting Started</title>
		<link>http://victorianece.com/2012/02/kinect-mocap-animation-in-after-effects-part-1/</link>
		<comments>http://victorianece.com/2012/02/kinect-mocap-animation-in-after-effects-part-1/#comments</comments>
		<pubDate>Sun, 05 Feb 2012 06:38:45 +0000</pubDate>
		<dc:creator>Victoria</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[After Effects]]></category>
		<category><![CDATA[Kinect]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://victorianece.com/?p=889</guid>
		<description><![CDATA[&#160; Hey folks! Welcome to part 1 of my new tutorial series. Part 2 is here and Part 3 is here. The text is a transcript of the YouTube video, so read or watch &#8212; it&#8217;s up to you! Click here to grab the After Effects project (CS5+). &#160; Hello, I’m Victoria Nece. I’m a [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<div class="info_box">
<p>Hey folks! Welcome to part 1 of my new tutorial series. <a title="Kinect MoCap Animation in After Effects — Part 2: Motion Capture with KinectToPin" href="http://victorianece.com/2012/02/kinect-mocap-animation-in-after-effects-part-2-motion-capture/">Part 2 is here</a> and <a title="Kinect MoCap Animation in After Effects — Part 3: Building the Puppet Rigging Template" href="http://victorianece.com/2012/02/kinect-mocap-animation-in-after-effects-part-3-building-the-puppet-rigging-template-in-ae/">Part 3 is here</a>. The text is a transcript of the YouTube video, so read or watch &#8212; it&#8217;s up to you!</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/Kinect-+-AE-Sample-Puppet-CS5.zip">Click here to grab the After Effects project</a> (CS5+).</p>
</div>
<p>&nbsp;</p>
<p><iframe src="http://www.youtube.com/embed/rjnxaXsn39k?rel=0" frameborder="0" width="580" height="325"></iframe></p>
<p>Hello, I’m Victoria Nece. I’m a documentary animator, and today I’m going to show you how to use your Kinect to animate a digital puppet like this one in After Effects.<span id="more-889"></span></p>
<p>If you have a Kinect that came with your Xbox, the first thing you’re going to need to do is buy an adapter so you can plug it into your computer’s USB port. You don’t need to get the official Microsoft one &#8212; I got a knockoff version from Amazon for six bucks and it’s working just fine.</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/Kinect-Part-1-2.jpg"><img class="aligncenter size-medium wp-image-907" title="Kinect Part 1 - 2" src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/Kinect-Part-1-2-580x326.jpg" alt="" width="580" height="326" /></a></p>
<p>&nbsp;</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/Kinect-Part-1-3.jpg"><img class="aligncenter size-medium wp-image-908" title="Kinect Part 1 - 3" src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/Kinect-Part-1-3-580x326.jpg" alt="" width="580" height="326" /></a></p>
<p>Next you’re going to need to install a ton of different software. It’s all free and open-source, but I’m warning you now: there’s a lot of it. Check the links below to see what you need for your particular setup.</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/Kinect-Part-1-4.jpg"><img class="aligncenter size-medium wp-image-909" title="Kinect Part 1 - 4" src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/Kinect-Part-1-4-580x326.jpg" alt="" width="580" height="326" /></a></p>
<p>Here’s a quick overview of how it’s all going to work. Once you’re up and running, you’re going to be using a Processing app called <a href="https://github.com/N1ckFG/KinectToPin">KinectToPin</a>, written by the very talented animator <a href="http://fox-gieg.com/">Nick Fox-Gieg</a>. That’s where you actually capture the tracking data, as well as where you convert it to keyframe information After Effects can understand.</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/Kinect-Part-1-5.jpg"><img class="aligncenter size-medium wp-image-910" title="Kinect Part 1 - 5" src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/Kinect-Part-1-5-580x326.jpg" alt="" width="580" height="326" /></a></p>
<p>Then on the After Effects side of things, you’ll set up a skeletal rig for a layered 2D puppet and apply the tracking data to bring it to life.</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/Kinect-Part-1-6.jpg"><img class="aligncenter size-medium wp-image-911" title="Kinect Part 1 - 6" src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/Kinect-Part-1-6-580x326.jpg" alt="" width="580" height="326" /></a></p>
<p>It’s not an easy process, but the results are worth it.</p>
<p><a href="http://victorianece.com/wordpress/wp-content/uploads/2012/02/Kinect-Part-1-7.jpg"><img class="aligncenter size-medium wp-image-912" title="Kinect Part 1 - 7" src="http://victorianece.com/wordpress/wp-content/uploads/2012/02/Kinect-Part-1-7-580x326.jpg" alt="" width="580" height="326" /></a></p>
<h3>Required Software:</h3>
<ul>
<li>OpenNI + PrimeSense Sensor Module (You need both): <a href="http://www.openni.org/Downloads.aspx">http://www.openni.org/Downloads.aspx</a></li>
<li>OSCeleton: <a href="https://github.com/Sensebloom/OSCeleton">https://github.com/Sensebloom/OSCeleton</a></li>
<li>SimpleOpenNI: <a href="http://code.google.com/p/simple-openni/">http://code.google.com/p/simple-openni/</a></li>
<li>Processing: <a href="http://processing.org/">http://processing.org/</a></li>
<li>KinectToPin: <a href="https://github.com/N1ckFG/KinectToPin">https://github.com/N1ckFG/KinectToPin</a></li>
<li>After Effects CS3+ (CS5+ to use tutorial files)</li>
</ul>
<p><strong>Special Mac note:</strong> works in Snow Leopard, may not work in Lion.</p>
<p>&nbsp;</p>
<div class="info_box">Got all that? <a href="http://victorianece.com/2012/02/kinect-mocap-animation-in-after-effects-part-2-motion-capture/">Move on to Part 2!</a></div>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://victorianece.com/2012/02/kinect-mocap-animation-in-after-effects-part-1/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Embroidered Text in Photoshop</title>
		<link>http://victorianece.com/2008/05/embroidered-text-in-photoshop/</link>
		<comments>http://victorianece.com/2008/05/embroidered-text-in-photoshop/#comments</comments>
		<pubDate>Fri, 02 May 2008 22:44:31 +0000</pubDate>
		<dc:creator>Victoria</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[embroidered text]]></category>
		<category><![CDATA[intermediate]]></category>
		<category><![CDATA[layer styles]]></category>
		<category><![CDATA[Photoshop]]></category>
		<category><![CDATA[text effects]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://victorianece.com/?p=56</guid>
		<description><![CDATA[<b>New Tutorial!</b> Make text look like it's been stitched onto fabric. Useful for sports design, sewing/scrapbooking, kids stuff and anything else where you want a handcrafted look.

This tutorial assumes you have working knowledge of basic Photoshop commands. I used CS3; menu commands may be slightly different in older versions. ]]></description>
			<content:encoded><![CDATA[<p>A friend of mine was working on some logos for a little league team and asked me for a way to make text look as if it had been embroidered onto a uniform.</p>
<p>After a fair amount of experimentation, it turns out it&#8217;s not that hard to do &#8212; but it does take a little tweaking. The final results are surprisingly versatile.<span id="more-56"></span></p>
<p>In this tutorial, we&#8217;re going to make the this header for a fictitious sewing blog:</p>
<p style="text-align: center;"><a href="http://victorianece.com/wordpress/wp-content/uploads/2008/05/finalresult.jpg" rel="lightbox[pics56]" title="Final Result"><img src="http://victorianece.com/wordpress/wp-content/uploads/2008/05/finalresult.thumbnail.jpg" alt="" width="450" height="250" class="attachment wp-att-71 centered" /></a></p>
<h3>GET THE FILES</h3>
<p>To follow along, you&#8217;re going to need <a href='http://victorianece.com/wordpress/wp-content/uploads/2008/05/embroidery-brush.abr'>this brush</a> and <a href='http://victorianece.com/wordpress/wp-content/uploads/2008/05/embroidered-text.asl'>this layer style</a>. (Right click and choose &#8220;Save Link As&#8230;&#8221;/&#8221;Save Target As&#8230;&#8221; to download.) You can also grab them both together as a 4kb zip file <a href='http://victorianece.com/wordpress/wp-content/uploads/2008/05/Embroidery-Brush-and-Style.zip'>here</a>.</p>
<p><H3>START SEWING</h3>
<p><b>1.</b> Create a new file, 900&#215;500. Fill the background with black.</p>
<p style="text-align: center;"><img src="http://victorianece.com/wordpress/wp-content/uploads/2008/05/blank-image.gif" alt="" width="500" height="330" class="attachment wp-att-57 centered" /></p>
<p><b> 2.</b> Add the text (T) you want to make look embroidered. Use a <b>really thin font</b> for this &#8212; the stitch effect traces the outsides of the letters, and if you use something too bold you&#8217;re only going to get embroidered outlines. I&#8217;m working with Nobel Light. Make sure there&#8217;s enough space between your letters to avoid overlapping piles of thread.</p>
<p style="text-align: center;"><img src="http://victorianece.com/wordpress/wp-content/uploads/2008/05/02text.gif" alt="" width="461" height="274" class="attachment wp-att-58 centered" /></p>
<p><b>3.</b> Click the text warp button on the Options bar.</p>
<p style="text-align: center;"><img src="http://victorianece.com/wordpress/wp-content/uploads/2008/05/03warptool.gif" alt="" width="450" height="81" class="attachment wp-att-59 centered" /></p>
<p>Choose &#8220;Arc&#8221; from the drop-down menu and set the Bend slider to about 19. </p>
<p style="text-align: center;"><a href="http://victorianece.com/wordpress/wp-content/uploads/2008/05/04arc.gif" rel="lightbox[pics56]" title="Arc Warp"><img src="http://victorianece.com/wordpress/wp-content/uploads/2008/05/04arc.thumbnail.gif" alt="" width="200" height="110" class="attachment wp-att-60 centered" /></a></p>
<p>(You can skip this and the following step if you just want straight letters.)</p>
<p><b>4.</b> Hit Ctrl+T, rotate the text a bit and hit enter.</p>
<p style="text-align: center;"><img src="http://victorianece.com/wordpress/wp-content/uploads/2008/05/05transf.gif" alt="" width="461" height="274" class="attachment wp-att-63 centered" /></p>
<p><b>5.</b> With the type layer selected, choose <strong>Layer > Type > Create Work Path</strong>.</p>
<p style="text-align: center;"><img src="http://victorianece.com/wordpress/wp-content/uploads/2008/05/06createpath.gif" alt="" width="431" height="435" class="attachment wp-att-64 centered" /></p>
<p>You have now created a path based on the outlines of the text.</p>
<p><b>6.</b> Select the brush tool and load the brush file you downloaded. Change the size to 8pt or so. Make sure your foreground color is the same as your text color.</p>
<p style="text-align: center;"><img src="http://victorianece.com/wordpress/wp-content/uploads/2008/05/07loadbrush.gif" alt="" width="430" height="405" class="attachment wp-att-65 centered" /></p>
<p><b>7.</b> Create a new layer. (Shift+Ctrl+N)</p>
<p><b>8.</b> Choose the pen tool (P), then right-click on the image and choose &#8220;Stroke Path&#8230;&#8221;.</p>
<p style="text-align: center;"><img src="http://victorianece.com/wordpress/wp-content/uploads/2008/05/08strokepath.gif" alt="" width="239" height="287" class="attachment wp-att-66 centered" /></p>
<p>Make sure &#8220;Brush&#8221; is selected and the &#8220;Simulate Pressure&#8221; box is checked. </p>
<p style="text-align: center;"><img src="http://victorianece.com/wordpress/wp-content/uploads/2008/05/09strokedialog.gif" alt="" width="365" height="126" class="attachment wp-att-67 centered" /></p>
<p>Click OK. Yay, fuzzy text!</p>
<p style="text-align: center;"><img src="http://victorianece.com/wordpress/wp-content/uploads/2008/05/10fuzzy.gif" alt="" width="336" height="222" class="attachment wp-att-68 centered" /></p>
<p><b>9.</b> Load the layer style you downloaded, and apply it to the stroke layer (not the type layer).</p>
<p style="text-align: center;"><img src="http://victorianece.com/wordpress/wp-content/uploads/2008/05/11styleload.gif" alt="" width="384" height="356" class="attachment wp-att-69 centered" /></p>
<p>Select the text layer underneath and make the font color a little lighter.</p>
<p>And there you have it. Shiny embroidered text:</p>
<p style="text-align: center;"><a href="http://victorianece.com/wordpress/wp-content/uploads/2008/05/12textdone.gif" rel="lightbox[pics56]" title="Text Done"><img src="http://victorianece.com/wordpress/wp-content/uploads/2008/05/12textdone.thumbnail.gif" alt="" width="300" height="130" class="attachment wp-att-70 centered" /></a></p>
<p><b>10.</b> Find a home for your fine sewing work, like this blog template:</p>
<p style="text-align: center;"><a href="http://victorianece.com/wordpress/wp-content/uploads/2008/05/finalresult.jpg" rel="lightbox[pics56]" title="Final Result"><img src="http://victorianece.com/wordpress/wp-content/uploads/2008/05/finalresult.thumbnail.jpg" alt="" width="450" height="250" class="attachment wp-att-71 centered" /></a></p>
<p>Keep in mind that the brush preset also works as, well, a brush, and you can also use it to draw embroidered-looking things on its own &#8212; for instance, the RSS feed icon in the example. Just be sure to drop the layer style on top for shine.</p>
<p>Happy stitching!</p>
]]></content:encoded>
			<wfw:commentRss>http://victorianece.com/2008/05/embroidered-text-in-photoshop/feed/</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
	</channel>
</rss>

