1 Reply Latest reply on May 30, 2018 12:32 AM by michaelhelmrich

    Time Remap with expression slider not frame accurate

    michaelhelmrich Level 1

      Hi all, first of, I hope this hasn't been posted before - I couldn't find anything on this specific issue.


      I have a simple mockup character rig with 3 compositions.

      01_Character is where all the controls would be.

      02_Head is the head subcomp.

      03_Eyes is for the different eye states. It's only 3 frames long and on each frame is a layer containing a different eye.


      In 01_Character is a null object with a slider control. This will be used to switch between different eye states. 02_Head has been added to 01_Character as a layer.

      03_Eyes has been added to 02_Head as a layer. This 02_Head layer has Time Remap activated. There is an expression on the time remap:


      control = comp("01_Character").layer("Control").effect("Numbers")(1);
      framesToTime (control -1)


      Now when I animate the slider in 01_Character comp the eye states (in my mockup numbers) appear and disappear as planned. However this only seems to work while the values increase. As soon as I animate decreasing values the number-states always switch one frame too soon.

      That's only when I animate the switches with hold keyframes. When I animate with linear keyframes, the highest value - which should appear for one frame - doesn't appear at all, even though the animation curve shows the correct values.


      In this screenshot the curve shows value "3", however eye #2 is rendered.


      Here the animation curve shows the value "3" but #2 is rendered instead.


      Any ideas on why that's happening? I have played around with different Math.floor and Math.round functions, but I can't seem to resolve this.

      Or do you have any alternative ideas for switching asset states? I could put expressions on each layers' opacity, but that has an impact on the rig's performance if I have e.g. 5 x 2 eyes. 5x2 eyebrows, 20 mouths, 20x2 hands, etc. each with their own opacity expression.


      Cheers, Michael