7 Replies Latest reply on May 7, 2009 5:22 PM by Andy Bay

    Can't select "rove across time" while using separate x,y,z

    Andy Bay Level 1

      Hi!

       

      Is there some logical reason why I can't select "rove across time" as the keyframe interpolation method when I'm using the new separate x,y,z feature in AE CS4? It seems to be grayed out in the menu. Is this simply a feature that is not coded yet since the separate x,y,z is new or is there some other reason?

       

      Any answers will be appreciated! Thanks!

        • 1. Re: Can't select "rove across time" while using separate x,y,z
          Todd_Kopriva Level 8

          Roving keyframes maintain uniform speed. Speed is a measure that includes all three dimensions. Separate Dimensions is used for animating each component separately. These things are therefore in contradiction with one another.

           

          from the "Separate dimensions of Position to animate components individually" section of After Effects Help:

           

          "The decision of whether to work with separate dimensions depends on what you’re trying to accomplish. Using one property for position has the advantage of providing smooth motion more easily. Also, using a single property for position enables the use of roving keyframes, which provides uniform speed. Working with separate dimensions for position sacrifices some of this automatic smoothing to gain greater control of spatial animation. Working with separate dimensions also makes some simulations easier, especially in cases in which the simulated forces acting on a layer are orthogonal (perpendicular) to one another."

          • 2. Re: Can't select "rove across time" while using separate x,y,z
            Mylenium Most Valuable Participant

            Andy Bay wrote:

             

            Is there some logical reason why I can't select "rove across time" as the keyframe interpolation method when I'm using the new separate x,y,z feature in AE CS4?

             

            Yes! Apart from Todd's help extract, here's the mathematical reason as my feeble mind understands those matters (I've never been that good at math, even though I mess with code al lthe time): On a single channel, you cannot generate a spatial velocity vector. What rove across time does, is calculate the velocity for each point in time, then normalizes them so they all have the same value (= vector length) by using an inverse operation to balance out their input components and apply that to the temporal interpolation.

             

            Mylenium

            1 person found this helpful
            • 3. Re: Can't select "rove across time" while using separate x,y,z
              Andy Bay Level 1

              Okay, thanks guys for helping!

               

              I'll explain quickly the situation that made me ask this question, because I'm pretty sure I'm not doing it in a smart way:

               

              I want layer A to follow a stroke that is created in layer B by the stroke effect (just to make it look like layer A is creating the stroke). I did this by simply copying the layer B mask paths (that the stroke effect is following) and pasting them in to layer A as motion paths. Everything was ok but then I noticed that I want to animate the z-position independently. That's why I choose to separate the dimensions and by doing that I lost the nice roves that the motion path copy paste automatically created for me. Could there be a smarter way for me to animate the z-position separately from the motion path movement without loosing roving? I tried animating the z-anchor point instead of position but that yielded in some strange behaviour so I dropped that approach

               

              It's not that important luckily this time as the animation looks pretty good anyway, but if you know some quick way, I will aprreciate your experty!

              • 4. Re: Can't select "rove across time" while using separate x,y,z
                Mylenium Most Valuable Participant

                You could use a third layer and use the layer space transform expressions - leave the second layer 2D, use toWorld() on the third one, animate it's Z position as needed. This should retain alignment while giving you the 3D-ishness you need. The only caveat would be, that the projection matrix is established by the camera, so it would go whacko with a moving 3D camera in the scene, but from your description I gather that this is not the case, so it would work.

                 

                Mylenium

                1 person found this helpful
                • 5. Re: Can't select "rove across time" while using separate x,y,z
                  Andy Bay Level 1

                  Thanks for that Mylenium, it was helpful!

                  • 6. Re: Can't select "rove across time" while using separate x,y,z
                    Andrew Yoole MVP & Adobe Community Professional

                    Unless I misunderstand the project, I suspect you could simply create a 3D Null layer, parent your layer A to the null, then introduce your Z animation by animating the Null in Z space only.  The original layer A animation would remain intact, but the Z space animation of the Null would be added to it.

                     

                    This removes the need to separate XYZ, thus keeping your roving KFs intact.

                    • 7. Re: Can't select "rove across time" while using separate x,y,z
                      Andy Bay Level 1

                      That's absolutely correct What a simple solution, now I'm really embarrassed Gotta love AE because it's such a versatile program. There is so many good ways of solving problems! <3