5 Replies Latest reply on Dec 15, 2013 7:17 AM by paul_james123

    parenting when using puppeting

    paul_james123 Level 1

      Hi All,

      I'm new to After Effects (AE)..and very excited about the opportunities available with the puppet tool. I am, however, banging my head against the wall over the issue described below. No doubt my inexperience with AE plays a big role in my frustration. I hope someone can point me in the right direction.


      I have a composition that includes a tree trunk and a tree branch, each on different layers. I want to be able to use the real-time puppeting function (where you can deform/move the object over time by holding down the control key while you move a specific puppet pin)...on *both* of these objects (the trunk and branch). I need the trunk to sway side to side and the branch to flutter up and down. (Different types of movements and at differnt tempos.)


      Of course, I want the branch layer to always be attached to the trunk layer, which is no problem when using the parenting methods in AE and non-puppeting methods of animating: When I'm animating by changing the position/rotation of the trunk, the branch stays attached and follows the movement of the trunk as expected. But when I'm moving the trunk with the puppet pins using that real-time puppeting  method described above, the branch won't obey parenting relationship. It does not follow trunk...just stays where it is.


      I've tried merging the branch layer with the trunk layer and then animating the whole artwork with the real-time puppetting but it's very difficult to make the branch dance in a different way than the trunk. I've used the starch tool to kind of isolate the two areas of the artwork but it isn't satisfactory either.


      I like the organic feel of using the real-time puppetting method to move the trunk and branch (as compared with the other methods) but how do I keep the branch attached to the trunk and still  be able to deform/move each part in drastically different ways?


      Thanks much for any help you can offer.

        • 1. Re: parenting when using puppeting
          Rick Gerard Adobe Community Professional & MVP

          You need to pre-compose all of the elements you want to puppet, then apply puppet pin to the pre-comp. Puppet pin works by applying a mesh to the first frame and then distorting the first frame. This means if you move elements in the frame after the first frame that the mesh does not know where they have moved and you end up with odd looking results.

          • 2. Re: parenting when using puppeting
            paul_james123 Level 1

            Thanks Rick, but isn't this essentially the same as having both layers (the branch and trunk layers) already merged in Photoshop before importing...then trying to puppet deform the whole mesh in AE? IOW: Does pre-comping in AE afford any more flexibility (as far as being able to animate each area of the artwork independently) than importing both objects as one layer in the first place? I've been testing and I don't think so.


            If it's all one mesh then, when I want to pull the branch away from the trunk, it will stretch part of the trunk (where the leaves of the branch overlap the trunk). Sorry, I should have explained that I have some overlapping in the artwork. That's part of the reason I need to have separate layers.


            Here is an image of the tree with an arrow to the overlapping:



            Thanks again

            • 3. Re: parenting when using puppeting
              paul_james123 Level 1

              So are you saying, Rick, that I'm trying to do two contradictory  things and this is impossible? (Can't deform with the puppet tool and maintain a parenting relationship at the same time?)


              That's my basic question: Is there any way to use the puppet tool on two different layers while 'locking' those layers together so that their relative position doesn't change? (ie; The 'child' layer follows the moving position of the 'parent' layer.)?

              Thanks much.

              • 4. Re: parenting when using puppeting
                Rick Gerard Adobe Community Professional & MVP

                That's exactly what I'm saying. You cannot move a layer that has puppet pin applied without breaking the puppet pin animation because the mesh is based on the comp frame and the first frame of the layer. Puppet pin is not based on the layer size, shape, or content. Move the layer in the comp and puppet pin breaks. Simply parenting won't cause a problem but as soon as you move one of the layers the mesh falls apart because the mesh is moving pixels that are not there any more.


                Your workflow would be to put the part of the tree that is behind the trunk on a separate layer, animate the back with puppet pin, then pre-compose the front and back layers and use puppet pin to move the rest of the tree.  Then you can use that comp as a nested comp in your main composition to position the tree in the scene.


                Take a look at this puppet pin tutorial by my good friend Angie Taylor. You'll see how she animates a dancing bottle. Notice that the comp she is using to animate the dancing bottle is just enough larger than the bottle to allow room for the dancing. This little comp is then placed or nested in another comp to produce the final product. I would do the same with your project. Create your tree in a comp that is just larger than your tree so you can animate the movement, then nest your moving tree in another comp to do the rest of the movement.

                • 5. Re: parenting when using puppeting
                  paul_james123 Level 1

                  Thanks so much, Rick. That's just what I needed to know.

                  I appreciate your help.