Skip navigation
QuireGS
Currently Being Moderated

Wave Warp stops moving

Mar 2, 2009 1:56 AM

I've got a Wave Warp that animates at a Speed of -5, right to left. It only works for 615 frames, then sits there motionless. This happens in CS3 and CS4. What am I doing wrong? :)
 
Replies
  • Currently Being Moderated
    Mar 2, 2009 5:33 AM   in reply to QuireGS
    Maybe a simplified answer here, Mark, but have you checked where your keyframes end? Press U on the layer to reveal the keyframes. If this is a preset effect, they usually end at 5 seconds or something like that.
     
    |
    Mark as:
  • Currently Being Moderated
    Mar 2, 2009 9:53 AM   in reply to QuireGS
    I have no idea and cannot reproduce this here on my end. Is it perhaps possible that you are ramping up the speed and at the point where you think it stops, it actually only plays so perfect in sync that for every frame the visual result is the same?

    Mylenium
     
    |
    Mark as:
  • Currently Being Moderated
    Mar 6, 2009 4:37 AM   in reply to QuireGS
    You're 100% correct - I can duplicate the problem exactly in CS4 on a Mac Pro. The only parameter that seems to change the "stop point" of the effect is Wave Speed. The higher the number, the longer the effect lasts.

    I believe you've found an honest-to-goodness bug. I have posted a Bug Report, drawing Adobe's attention to this Forum thread. Feel free to also post a Bug Report yourself:

    http://www.adobe.com/cfusion/mmform/index.cfm?name=wishform

    You can work around the issue by trimming the layer at the point the animation stops, then duplicate it and distribute it along the timeline to fill your time requirement. Precomposing them may make things more manageable. You may need to play with your layer trim-point to remove any kinks in the animation at the layer change point.
     
    |
    Mark as:
  • Currently Being Moderated
    Mar 6, 2009 10:01 AM   in reply to QuireGS
    What if you put a "time*10" expression into Phase?
     
    |
    Mark as:
  • Currently Being Moderated
    Mar 6, 2009 10:54 AM   in reply to QuireGS
    Actually I believe I know what happens: At the time in question it reaches the maximum internal value of 32000 in its counter, which, without specific precautions is the limit for integer value sliders, if I recall correctly. Wonder, why I didn't see it the first time. So yes, it's a bug. Anyway, there's a workaround. Leave the speed value and animate the Phase. To create the illusion of continuous motion, use the modulus (%) to reset the values after they have reached a maximum.

    wLength=40;
    wCycles=20;
    wCount=wLength*wCycles;
    wTime=timeToFrames(time);

    [wTime%wCount]

    The trick would be to find a suitable seamless value for the wave length. Should be something like the acos of the wave speed value for sinus waves, but my brain is fried at the moment and I'm not in the mood to test it, so forgive me. Just experiment a bit and you surely will find the right values.

    Mylenium
     
    |
    Mark as:
  • Currently Being Moderated
    Mar 10, 2009 10:37 PM   in reply to QuireGS
    The formula used in the plug-in caused me some experimentation, as it uses a linear transformation as opposed to associating the phase with the angle (it calculates the wave first, then moves it), but here is something you can use.

    Mylenium

    //-----------begin expression--------------

    //wave length

    wLength=thisLayer.effect("Wave Warp")("Wave Width");

    //convert time to frame count

    wTime=timeToFrames(time);

    //frames for one phase

    wSpeed=7;

    //direction, 1 for negative, -1 for positive

    wDirect=1;

    //reset after x cycles

    wCycles=5;

    //reference cycle for 1 sec

    wRefFps=timeToFrames(1);

    //reference angle for 1 sec = 1 full phase

    wAngFps=360/wRefFps;

    //remap values

    wAngFrame=linear(wSpeed,wRefFps,0,wAngFps,360);

    //reset

    wCount=wLength*wCycles;
    wReset=wTime%wCount;

    //calculate angle

    wAng=wReset*wAngFrame*wDirect;

    wAng]

    //----------------end expression---------------
     
    |
    Mark as:
  • Currently Being Moderated
    Mar 18, 2009 9:50 AM   in reply to QuireGS
    or you can find the last frame of motion on the clip. trim it there. then loop it.

    i tested, it works
     
    |
    Mark as:
  • Currently Being Moderated
    Feb 11, 2010 2:27 PM   in reply to Mylenium

    Hi,

     

    I also bumped onto this problem and I came up with a simple formula that allowed me to make the effect behave "normally" (or so it seems to me):

     

    wSpeed = 2; // should be set with the desired Wave Speed value. The original property must have a 0.0 value


    // determines the phase value per frame (I determined by hand that a speed value of 1 equals a value of 24 for the phase, 2 equals 48, and so forth)

    wStep = 24 * wSpeed / 2;


    // determined the number of steps (frames) until a full phase loop is achieved

    wStepCount = 360 / wStep;


    // transforms time to frames

    wTime=timeToFrames(time);


    // determines de desired phase value

    wPhase = -(wTime%wStepCount) * wStep;


    [wPhase]

     

    It may not behave as it originally behaves, but that's one way to make it work for the whole comp time span.

     

    Hope this helps.

     
    |
    Mark as:
  • Currently Being Moderated
    Aug 21, 2010 3:13 AM   in reply to QuireGS

    The problem is still there in CS5, and AE CS5.

     

    I have it here, where the required setting is a speed of 0.1, pinned all, height of 20, width of 100.

    Stops completely at 21:19 (that's minutes & seconds, not frames)

    So it has apparently got better, but is still broken.

     

    What do I need to tweak to get what I need here please?

     

    EDIT.

    Phase makes no difference at all to this.

     
    |
    Mark as:

More Like This

  • Retrieving data ...

Bookmarked By (0)