20 Replies Latest reply on Jan 28, 2015 8:13 PM by Ehmie

    AE PSD Layer Size Problem

    BGPictures Level 1

      Hi.

       

      I generally work by taking art into PS (a drawing of a dancer for instance) creating multiple layer-coppies, and adding a layer mask on each to define the body-part (a shin for instance). Then I import the PSD into AE as a composition taking care to "Retain Layer Sizes". Then I set the anchor points, parent, and animate. Occasionally I go back into PS and clean up artwork, but the layer mask stays the same size -- my AE rigging depends on it. I've been using this technique for over a decade, so have learned the pain of an extra pixel throwing off a bounding box size and messing up my puppet-rigging.

       

      When one of the later AE CC 12x came around I started getting an intermittent bug: I could rig PS layers as a puppet in AE, and invoke the bug by adding an extra layer to my PSD... Just adding a solid black layer beneath all of my previously cut layers was enough to jack up the anchor points in AE... (Deleting the solid layer and re-saving un-jacked up the layers.)

       

      So cut to AE CC 2014, and I realize that the bug may not only be due to adding and subtracting layers. I tested AE 2014 with an existing AE 12x project and saw that some of my rigged puppets had variously screwed up anchor points. (Same project/puppet works in the former AE, but is jacked in AE 2014). I thought, oh crud, 2014 broke something. But after carefully examining layer sizes (see screenshot), I realized AE 2014 is reading the layer size correctly.

       

      Great, so it's a bug in previous versions that was fixed... Or was it? I didn't read anything in the release notes about it, and this tiny detail is crucial to my process. Does anyone know if this is an intentional fix to AE 2014, or if the intermittent import problem with the previous version is still existent, and I just have yet to encountered it with AE 2014?

       

      My hunch is that AE and/or PS has changed how a layer mask or transparency in Photoshop translates to the size of a bounding-box in After Effects. Does anyone have any insights into developments with layer masks, bounding boxes, or transparencies that might have caused what I am experiencing?

       

      Thanks in advance,

      Benjamin

       

      Screen Shot 2014-07-11 at 3.34.12 PM.png

        • 1. Re: AE PSD Layer Size Problem
          Tim Kurkoski Adobe Employee

          Benjamin, can you provide more detailed steps that cause the bug to occur? I'll need an appropriate PSD, too, so please tell me how to make one or provide a link.

           

          I don't know specifically if a bug was fixed in this area in After Effects CC 2014 (13.0), but we fix many small bugs that aren't publicized. I can imagine how changing the PSD dimensions may throw off the Puppet effect, but will need to investigate some to understand your workflow better.

          • 2. Re: AE PSD Layer Size Problem
            BGPictures Level 1

            Hi Tim. Thanks so much for stopping by. I'll send you some files as soon as I get back to the studio.

            • 3. Re: AE PSD Layer Size Problem
              Rick Gerard Adobe Community Professional & MVP

              This problem actually makes sense to me. If you apply puppet pin the mesh is generated from the frame where the first pin is placed. If you animate any of the transform functions puppet pin falls apart. IOW, you cannot puppet pin a footage layer where the image is moving. Therefore it makes sense that the mesh would fail if you change the pixels in Photoshop after you have added puppet pin animation. I have not examined what happens if you add a new layer to a PSD file that has been imported as a composition. If I ever have to do that on a project that has already been animated I just add the new PSD layer as an individual asset importing as footage and choosing the layer. I'll have to play with other workflows to see what happens to anchor points on my end.

               

              My standard workflow for all puppet pin animation is to pre-compose the layer and apply Puppet Pin to the pre-comp instead of the original layer. Then, if the layer needs to be moved or animated I pre-compose puppet pin layer and apply my transformations to the second pre-comp. This will solve any mesh problems except changing the original image pixels. It also removes the anchor point of the Puppet Pined layer and allows me to do my rigging in a more efficient manner.

              • 4. Re: AE PSD Layer Size Problem
                Tim Kurkoski Adobe Employee

                Rick has spelled out my assumptions pretty closely. That said, I want to understand how the Puppet tool fails in Benjamin's workflow. Changing the PSD in the middle of the creative process is not an unreasonable assumption.

                 

                Rick's suggestion to pre-compose is probably a good practice to avoid problems in this area, assuming you make the pre-comp large enough to account for alpha boundary changes.

                • 5. Re: AE PSD Layer Size Problem
                  BGPictures Level 1

                  Hi Guys,

                   

                  The Adobe forum seems to be down right now (no luck accessing via three devices in Los Angeles), so I'm replying via email.

                   

                  Thanks for weighing in. I can assure you this problem has nothing to do with the use of the puppet tool or workflow suggestions. It has everything to do with the basic task of  cutting/masking in PS, and taking the resultant layers into AE to modify anchor points & parent layers. Once you start shifting anchor points in AE (to make lower leg rotate at the knee instead of in the middle of the shin for instance) your project gets screwed up without any user input, simply by choosing the wrong AE version to access existing work.

                   

                  (when I use the puppet tool extensively, I script-attach each pin to a null so precomposing becomes a matter of preference for a given scene).

                   

                  I've attached a link to a zipped folder containing a collected AE file with its source material. If you open the AE in AECC, you will see the silhouette of a swimmer about to dive. If you open the same AE in AECC2014, you will see a jumble of limbs:

                  https://www.dropbox.com/s/nzvdr5bv2rz00fh/AE-PS-layer-prob.zip

                   

                  The art was painted green for client-privacy, but you can still see what's going wrong if you look at the layer sizes; AECC appears to incorrectly set a bounding box around some footage layers which are greater than the actual pixels (unexpected result), while AECC2014 seems to set a bounding box around visible pixels (expected result).

                   

                  My PSD source files generally have 20-30 layers once all the parts are cut out. I might have 10-20 PSDs in a project, so that leaves me with 500 layers to check for bounding-box accuracy as I make the transition from AECC to AECC2014 in any given project. No fun, especially if you've already got parenting, scripting, and hundreds of position and/or puppet keyframes already set.

                   

                   

                  Best regards,

                  Benjamin

                   

                  Screenshots:

                  AECC.png

                  AE CC

                   

                  AECC2014.png

                  AE CC 2014

                   

                  AECCvAE2014.png

                  AE CC and AE CC 2014 seeing the same layer of a PSD two different ways.

                  • 6. Re: AE PSD Layer Size Problem
                    Tim Kurkoski Adobe Employee

                    Hi Benjamin,

                     

                    I took a look at the files and can see what's happening: After Effects CC (12.2.1) and After Effects CC 2014 (13.0) report different layer bounds sizes for the masked layers in your Photoshop document.

                     

                    I agree with you that the results in After Effects CC 2014 (13.0) generally look better: tighter to the actual pixels in the layer, with less padding, especially in the case for the torso. The side effect is that it causes this problem when you move a project between versions of After Effects (saving the 13.0 project as a 12.x project will also dislocate the layer). If I disable the layer mask in Photoshop the problem doesn't occur, but then you obviously don't get the benefits of the mask. (You could rasterize the mask into the layer, but that makes a huge change in the layer bounds and would require you to rebuild the animation anyway.)

                     

                    Did some digging but I was unable to find an explanation as to how or why this changed. I'm asking around, but my hunch is that there may have been a bug fix by the Photoshop team, in the common library that After Effects uses to read PSD files, that affected how it reports the dimensions of masked layers like you're using. I'll let you know if I get more information.

                     

                    Sorry about the hiccup here. Do you foresee yourself moving a lot of these type of projects between versions, or was this a transitional sort of change that you don't think you'll be doing much?

                    • 7. Re: AE PSD Layer Size Problem
                      BGPictures Level 1

                      Hi Tim,

                       

                      Thanks so much for looking into this. Since this episode, I have stuck with AECC12, and started applying the layer mask to each layer before rigging in AE to ensure forward compatibility. It reduces flexibility in my AE/PS process, but I can adapt.

                       

                      As for how much I'll be straddling versions in the future, I do pull rigged puppets between projects quite a bit and am very interested in using CC 2014. Moving forward, it would be great if there were some sort of import check-box that chooses which common library file AE uses to import PS files. (If that is indeed the culprit, I'll put in a feature request)…  Some of the shifts are not as obvious as the torso shift, and would not be caught by any of our visual-idiot checks, but would still screw up a carefully rigged figure.

                       

                      If I need to pull an old asset into a AECC2014 project in the future, I'll boot both versions side by side and methodically check each layer when there is a problem. However, I do get nervous that I won't have the right hardware/software to troubleshoot or re-render old assets a few years from now. In some ways, glitches like this have been a common dilemma with software/hardware upgrades, but with the rapid-fire releases that the Cloud system provides, it can compound the amount of inter-version problems we users have to prepare for. Tally-ho!

                       

                      Thanks again,

                      Benjamin

                      • 8. Re: AE PSD Layer Size Problem
                        Tim Kurkoski Adobe Employee

                        One of our engineers looked into this. We're still tracing the cause of the change, but in terms of practical use, here's what we know:

                        • In After Effects CC (12.x) and earlier, the layer dimensions in After Effects are calculated on the maximum bounds of the layer mask, regardless of where the pixels are inside of the mask.
                        • In After Effects CC 2014 (13.0), the layer dimensions in After Effects are calculated on only the bounds of the pixels within the layer mask, regardless of what area the layer mask may allow.

                         

                        In other words: it's mask dimensions vs. pixel dimensions.

                         

                        In the sample you posted, Benjamin, you can see how your PSD is invoking this difference by CMD/CTRL+clicking on the mask in Photoshop, which will make a selection from the mask. When you do this on the torso layer you can see that there is a sliver of mask at the bottom of the image which does not contain any pixels. Other layers show similar inaccurate masks. After Effects CC (12.x) includes that area as part of the layer size because the mask exists there; After Effects CC 2014 (13.0) does not because there are no pixels there.

                         

                        If you cleaned up the masks to not include extraneous areas outside of the pixels in use, you should get identical results in the different versions of After Effects.

                         

                        Knowing this, which behavior would you prefer? Would you prefer that After Effects use the dimensions of the mask (the old behavior) or only the dimensions of the actual pixels (the new behavior)?

                         

                        From our side, we are a little frustrated by this, because as you discovered this change will cause issues with older projects being opened in After Effects. We'll continue to analyze the cause of the change and consider whether the newer or older behavior is more "correct". A possibility we can consider is using the old behavior but only for projects from previous versions of After Effects.

                        • 9. Re: AE PSD Layer Size Problem
                          BGPictures Level 1

                          Hi Tim. Thanks for this. Really good to know the specific reason for the different behaviors.

                           

                          My vote would be to default to the new (pixel) bounding-box, but to have a "legacy" option when importing 12x After Effects projects. That way, If I'm running 2014 or later and want to use an old asset and it comes in a bit shifted, I can re-import with the legacy checkbox ticked, and It would come in the way I was expecting.


                          The blip of mask offsetting the torso is really easy to see (in retrospect) but some figures are cut with a soft edge… gradients of transparency and such, and the quick-mask view won't show the obvious sloppiness of the torso example.

                           

                          Thanks again,

                          Benjamin

                          • 10. Re: AE PSD Layer Size Problem
                            Tim Kurkoski Adobe Employee

                            The blip of mask offsetting the torso is really easy to see (in retrospect) but some figures are cut with a soft edge… gradients of transparency and such, and the quick-mask view won't show the obvious sloppiness of the torso example.

                            Just to be clear: After Effects CC 2014 (13.0) should pick up any semi-transparent pixels. It's only the case where the layer mask includes zero pixels (ie., only 100% transparent pixels) that the difference occurs.

                            • 11. Re: AE PSD Layer Size Problem
                              Ehmie

                              I have just discovered this issue too. I am trying to work with a project from 2011.

                              I agree that that the way moving forward is to have the bounding box based on pixels (as in AE 13)....but has there been any movement on getting legacy files to conform and be used in cc2014?

                               

                              (I am in a pretty large straddle here, part of my project has been worked on and currently works fine in cc2014, but the ealier part of the time line has this problem. I'd  appreciate any advice/update)

                              • 12. Re: AE PSD Layer Size Problem
                                Tim Kurkoski Adobe Employee

                                Ehmie, what exact version of After Effects CC 2014 are you using? The current release is After Effects CC 2014.2 (13.2).

                                 

                                In the After Effects CC 2014.1 (13.1) update, a fix was provided so that projects created in previous versions of After Effects retain their original layer bounds for .PSD layers. New projects will continue to create layer bounds based on the pixels in the .PSD layers.

                                • 13. Re: AE PSD Layer Size Problem
                                  Ehmie Level 1

                                  I'm on 13.2.0.49…..up to date I believe.

                                  Here's what the file looked like in AE cc:

                                  AE-12.png

                                  …And here's the file in AE cc2014:

                                  AE-13.png

                                  That fix sounds great. …but I think it's not happening here. Could it have something to do with the AE file starting in cs6?

                                  Would it work to rasterize the mask? (I don't need to ever alter it)

                                  One issue is that I've done a bunch of work on the file in 2014, without ever realizing that this was happening.

                                   

                                  I really appreciate the help.

                                  • 14. Re: AE PSD Layer Size Problem
                                    Tim Kurkoski Adobe Employee

                                    Ehmie, can you send me the .PSD file so I can examine it on my machine? My email address is myLastName -at- Adobe dot com.

                                     

                                    I don't have enough information from looking at those screenshots, but it doesn't look like the same problem to me. You could try rasterizing the mask as an experiment (make a copy of the layer or file first so you don't lose any data).

                                    • 15. Re: AE PSD Layer Size Problem
                                      Ehmie Level 1

                                      I sent the file via email…..  just wanted to make sure you received it.

                                      • 16. Re: AE PSD Layer Size Problem
                                        Tim Kurkoski Adobe Employee

                                        Ehmie, I got the file. Thanks for sending so quickly.

                                         

                                        I'm not able to reproduce the problem. In my tests, the iPad image is centered in the composition, the same as your first screenshot. Here's what I tried:

                                        1. Opened the PSD in After Effects CC 2014.2 as a composition.

                                        2. Opened the PSD in After Effects CS6 as a composition.

                                        3. Saved the #2 project and opened it in After Effects CC 2014.2.

                                        4. Imported the #2 project into a new project in After Effects CC 2014.2.

                                         

                                        Are there other steps that you're taking? I will try to reproduce the problem if you tell me what steps to try.

                                         

                                        The only case I can think of that would cause the results you showed is if you had in fact opened the version 11.0 (CS6) project in After Effects CC 2014.0 (13.0) and saved it from there. That version is the only case where the bug would occur, and when it does the bad values will get written into the project. The bug fix did not include making corrections to projects that had already been saved. (We debated whether or not to do this, and decided against it because there wouldn't be sufficient data about whether the PSD was imported in a previous version of After Effects or if the user had already corrected for the problem or made other modifications.)

                                        • 17. Re: AE PSD Layer Size Problem
                                          Ehmie Level 1

                                          At one point, I believe this AE project was cs6, and then I opened it in …probably cc2014 and saved it….(but I'm not sure…could have been 12).

                                          Of course I have the original file from 2011, because I increment and save.

                                          When I open that file in cc2014 (up to date v.13) I still get issues. ….if I open that in cc (v.12) everything looks good…..(but, of course I don't have any of my changes from this year).

                                           

                                          I could probably export my new project into (12) and then import the old project for the part I need and merge them, but it's quite a large project and that would be a process to say the least.

                                           

                                          I tried to rasterize the PSD layer masks, but it did nothing different.

                                          I've also tried this on different machines (mavericks and mount. lion).

                                           

                                          I could send you the AE project ( as I said, a many-year project that's quite huge) but without the media and you could link just the PSD and see it in my AE files. Would that help?

                                          Thanks again for all your work.

                                          (I understand if there's nothing we can do about it….If the client asks for anything from that part, I'll just go back to the cs6 version, do it in (12), and merge the renders in Ppro.)

                                          Let me know what you think.

                                          • 18. Re: AE PSD Layer Size Problem
                                            Tim Kurkoski Adobe Employee

                                            Yes, please send me the .aep file. There may be something in it I'm overlooking, or there could be a problem with the file structure.

                                            • 19. Re: AE PSD Layer Size Problem
                                              Tim Kurkoski Adobe Employee

                                              Ehmie, got the .aep. I can reproduce the problem.

                                               

                                              Good news: there's an easy fix. Right-click on the "Layer 0 copy" layer and choose Replace Footage. Choose the original PSD and the same layer as the replacement.

                                               

                                              This .aep file was created in After Effects CS5 (10.0.1), something I should have realized if I was paying attention when you said it was "created in 2011". (CS6 was released in 2012.) I created a new project in After Effects CS5 (10.0.2) with your PSD but did not reproduce the problem when I opened that project in After Effects CC 2014.2.

                                               

                                              So for now, assuming my workaround above does the trick for you, I'm going to chalk this one up to a possible bad project file and close the case. Could be that it has something to do with the difference between 10.0.1 and 10.0.2, but that was so long ago I can't remember what bugs were fixed. Let me know if you continue to have trouble.

                                              • 20. Re: AE PSD Layer Size Problem
                                                Ehmie Level 1

                                                Worked for me too!!!

                                                I had tried to reload ... but never chose the layer as a "replace".

                                                So great.

                                                Thanks for sticking this out. Totally solved my issue.