Creative Communities of the World Forums

The peer to peer support community for media production professionals.

Activity Forums Adobe After Effects You know the nasty old snowball karaoke trick?…

  • You know the nasty old snowball karaoke trick?…

    Posted by Jimmy Brunger on September 5, 2007 at 10:44 am

    …Is there a quick way to do this in AE, other than manually?

    I have a 3 minute video clip of choir singing to camera and a snowball has to bounce on each word as it’s sung…..4 lines in and this is going to take forever!!

    Any thoughts guys?

    *Production Studio Premium CS2 / *Combustion 3 / Mocha v1
    ————————————-
    Win XP Pro SP2 / Intel P4 3GHz / 2GB RAM / GeForce FX5200 / DeckLink Pro / Roland DS-5 monitors / Sony BVM-20G1E / DVS SDI Clipstation / Wacom Intuos 3 A4 / 110GB boot/80GB media/600GB RAID-0

    Jimmy Brunger replied 18 years, 8 months ago 3 Members · 4 Replies
  • 4 Replies
  • Jeremy Sexton

    September 5, 2007 at 1:42 pm

    If you link the ball to a null object, you can make 3 keyframes per bounce and then just shape the motion to be more parabolic. Still have to make 3 key frames for every bounce, but I don’t see a way out of that one, unless it’s making the same exact movement every time, then an expression would work

  • Kevin Camp

    September 5, 2007 at 6:40 pm

    jimmy, if your still working on this, i created an expression based off of dan’s bouncing ball expression on motionscript.com… it seems to work, just paste it in the position expression for the bouncing ball and start adding keyframes for where the ball lands…

    BounceHeight = 30;
    if (numKeys < 2){ position; }else{ nextKey = nearestKey(time).index + 1; prevKey = nearestKey(time).index - 1; if (time >= nearestKey(time).time){
    if (nextKey > numKeys){
    freq = 1;
    }else{
    freq = 1 / (2 * (key(nextKey).time – nearestKey(time).time));
    }
    }else{
    if (prevKey <= 0){ freq = 1; }else{ freq = 1 / (2 * (nearestKey(time).time - key(prevKey).time)); } } posSin = Math.abs(Math.sin(freq * (time - nearestKey(time).time) * 2 * Math.PI)); y = BounceHeight * posSin; position - [0,y]; } you can set the 'bounceheight' as needed.

  • Kevin Camp

    September 5, 2007 at 7:10 pm

    one other thing, i wasn’t sure how one might like to handle the start and end of the bouncing animation… i set it to just continue bouncing. if you wanted it to start off static and end static, there are two variables where ‘freq = 1’ just change the 1 to 0 and it will not bounce.

  • Jimmy Brunger

    September 5, 2007 at 10:12 pm

    Hi guys, thanks for help…I ended up just duplicating and re-using the text line and ball solid layer as a group and shifting the x pos and timing of the ‘land’ KF of the ball on each word and then adding/subtracting for extra words. Took 4hrs fr 3min song, but looks ok.
    It was for some corporate xmas video (really horrible one!) so needed doing there and then…makes me wonder though – on those karaoke machines do they really have someone do each song manually like that? Yikes..Keeps you in work I suppose.

    icanlevitate – I only used 2 KFs per bounce and just bent a bezier arch between them. Seemed to look alright. Ta for thoughts though guys.

    *Production Studio Premium CS2 / *Combustion 3 / Mocha v1
    ————————————-
    Win XP Pro SP2 / Intel P4 3GHz / 2GB RAM / GeForce FX5200 / DeckLink Pro / Roland DS-5 monitors / Sony BVM-20G1E / DVS SDI Clipstation / Wacom Intuos 3 A4 / 110GB boot/80GB media/600GB RAID-0

We use anonymous cookies to give you the best experience we can.
Our Privacy policy | GDPR Policy