2 Replies Latest reply on Jan 29, 2017 6:35 PM by KushMastaFresh

    Puppet Pin Expression Error Before Applying Expression

    KushMastaFresh

      I've never used expressions before so I'm guessing I have something set up wrong, but I don't know what it could be. Any help would be appreciated

       

      I'm using After Effects CS6 on macOS Sierra.

       

      I imported an ai file made with Illustrator CS6 as a composition named "Jo-Jo Front copy" with retained layer sizes. This composition contains multiple layers.

       

      In the composition on the layer named "Arm L" I placed 4 puppet pins and 3 starch pins.

       

      I want to be able to use a null object to move 2 of the puppet pins (named "Shoulder R" and "Shoulder L") while maintaining the puppet pins positions relative to each other (essentially be parented to the null object). This is what I intended to use expressions for.

       

      I figured using an expression to make the "Position" property of each puppet pin react to the null object would get me the desired result. So I hold down the option key, click the keyframe button next to the position property of the pin I want to apply the expression to and am hit with the following error

       

      After Effects warning: Unterminated string constant

      Expression disabled.

       

      Error occurred at line 1.

      Comp: 'Jo-Jo Front copy'

      Layer: 5 ('Arm L')

      Property: 'Position'

       

      Error Screen.png

       

      And the following expression already applied before I've even added anything

       

      effect("Puppet").arap.mesh("Mesh 1").deform("

      Shoulder R").position

       

      Expression.png

       

      Can anyone shed light on what I'm doing wrong/have set up incorrectly?

       

      I also have one more, kind of, unrelated question that would be awesome if it could get answered. I was wondering if there's any reason to convert the ai layers to shape layers. Right now I'm planning on leaving as many of them as ai layers as possible and converting things to shape layers only when necessary (if I need to make masks/gradients that aren't an ai file already). Should I convert all of them to shape layers before working with them or does leaving them as ai layers not make a major difference?

       

      Thanks in advance!

        • 1. Re: Puppet Pin Expression Error Before Applying Expression
          Mylenium Most Valuable Participant

          Well, sloppy copy&paste on your part. Start by removing your line break and check for other such stuff like unnecessary spaces. Invisible characters count in code. also be aware that running CS6 on current versions of OSX may cause further errors due to Unicode issues. You may have to rename stuff to not include spaces and special characters.

          Right now I'm planning on leaving as many of them as ai layers as possible and converting things to shape layers only when necessary (if I need to make masks/gradients that aren't an ai file already).

          That is correct. People simply completely misunderstand the intent of this function and ignore the fact that you could work just fine with native AI files for eons. When working with effects it's a moot point, anyway - even shape layers get rasterized then.

           

          Mylenium

          • 2. Re: Puppet Pin Expression Error Before Applying Expression
            KushMastaFresh Level 1

            The thing is though, I didn't copy and paste or type ANY expressions whatsoever. The above expression appears out of nowhere whenever I make it so I can add an expression to the property of a puppet pin position, but before inputting any expression myself. I'm not sure whether it's generated for a reason or not. It looks like it's a path/address for the puppet pin position?

             

            I've been wondering about that for a while about the ai layers. I remember reading on the Adobe website that of all the ways the puppet pin makes an outline around objects, using ai layers wasn't one of them. Plus that means less layers to have to deal with since I don't have to make shape layer copies, so that's nice.

             

            I really just need to spend more time learning about After Effects expression system and how to implement it and hopefully it shouldn't even matter that this erroneous expression is showing up.

             

            Thanks for taking the time to reply and info!