Creating a Looping Wiggle Effect in After Effects - Tutorial

Sdílet
Vložit
  • čas přidán 21. 07. 2024
  • Creating a Looping Wiggle Effect in After Effects - Tutorial
    When you create a wiggle effect - really easy with (wiggle 1,10) for example - and you want to make your animation loop, you can't because it randomly jumps around so the starting position isn't the same as the end position. Well fear no more! I've got the solution for you. You'll have to watch the video though. Cheers!
    Looping Wiggle Expression:
    freq = 1;
    amp = 110;
    loopTime = 3;
    t = time % loopTime;
    wiggle1 = wiggle(freq, amp, 1, 0.5, t);
    wiggle2 = wiggle(freq, amp, 1, 0.5, t - loopTime);
    linear(t, 0, loopTime, wiggle1, wiggle2)
    If you would like to download the project files, you can do that by supporting us on Patreon. You can also get a lot more perks with our different tiers so head on over there and support us!
    Our Patreon page:
    / campkeyframe
    Follow us on Instagram to get the latest updates:
    / campkeyframe
    Join the community on Discord (more perks with Patreon):
    / discord
    ____________________________________
    Don't hesitate to ask any questions you have in the comments! I will do my best to answer as many questions as possible.
    If you liked the video, please consider hitting that like button! Subscribe to the channel to get even more tutorials (uploaded on a regular basis) and get your After Effects skills to the next level!
    Thanks and enjoy :)
    Bas
    ____________________________________
    My most used plugins:
    Flow:
    aescripts.com/flow/
    Rift:
    aescripts.com/rift/
    Motion:
    www.mtmograph.com/motion
    Overlord:
    www.battleaxe.co/overlord
    Check out my tutorial as well: www.youtube.com/watch?v=IwZUm...
    Textevo:
    aescripts.com/textevo/
    Buttcapper:
    www.battleaxe.co/buttcapper
  • Krátké a kreslené filmy

Komentáře • 74

  • @bad_teeth
    @bad_teeth Před 2 lety +5

    People that post the expressions in the desc deserve nobel peace prizes

  • @pau_1eal526
    @pau_1eal526 Před rokem +4

    thanks you so much
    you have no idea how useful tutorials are as direct and easy to apply as this one

  • @samandgracephotography
    @samandgracephotography Před 8 měsíci

    fantastic. i used to spend so much time working around my wiggle expressions not looping... this is so great!

  • @bananabike279
    @bananabike279 Před 2 lety +5

    Great short tutorial! I knew about the wiggle expression, but I didn't know you could make them loop perfectly with looptime!

  • @TheDoggyChannelVideo
    @TheDoggyChannelVideo Před 2 měsíci

    Thanks a lot for this, i have not worked with expressions in awhile, and this video just made my day!!!

  • @travelingjon
    @travelingjon Před rokem

    Thank you so much! Exactly what I was looking for and thanks for including the expression.

  • @W56productions
    @W56productions Před 2 lety +1

    Great video.
    Red about this sort of technique a while ago but forgot about it. Thanks for reminding me!

  • @mrbluepencil_
    @mrbluepencil_ Před 5 měsíci

    Thank you! You are a legend! Saved me so much time :)

  • @randyrektor
    @randyrektor Před rokem +2

    Short, concise, perfectly effective, script linked in the bio.. A perfect tutorial.

  • @tiagos5804
    @tiagos5804 Před rokem

    Just what i needed. Thank you very much.

  • @KamusAEP
    @KamusAEP Před rokem

    Very Very Very Thank you very much! I'm going to save this expression, it will be very useful.

  • @pablobarrantes1209
    @pablobarrantes1209 Před 10 měsíci

    excellent tutorial, thank you so much.

  • @cenadj
    @cenadj Před rokem

    your channel is gold mate! Keep these amazing tutorials coming ")

  • @MyLoginWasIncorrect
    @MyLoginWasIncorrect Před rokem

    awesome! thank you for the expression

  • @tusharhegde8174
    @tusharhegde8174 Před 4 měsíci

    Thanks a ton. wish you great health and happiness.God bless you

  • @sanniametu6187
    @sanniametu6187 Před 2 lety +1

    To Bas!!!! Top notch as always 👌Quick and insightful

  • @GustavoPulidoJ
    @GustavoPulidoJ Před 4 měsíci

    This is gold!, thanks so much!

  • @conormurphy7058
    @conormurphy7058 Před 2 lety +6

    I’d like to see more short tutorials like this. A mix of short and long. Thanks.

    • @CampKeyframetutorials
      @CampKeyframetutorials  Před 2 lety +1

      Thanks for your comment. I will definitely keep this in mind and make a nice mix of longer and shorter tutorials in the future :)

  • @LiliyaPavlova
    @LiliyaPavlova Před dnem

    thank you so much! you saved my time)

  • @dedex64
    @dedex64 Před rokem

    This helps me a lot ,Thank you

  • @filipecaldasmotion
    @filipecaldasmotion Před 6 měsíci

    thank you very much, you saved my life!!

  • @Zytopian
    @Zytopian Před 2 lety

    literally magic love it! Thank you!

  • @viktorskies2058
    @viktorskies2058 Před rokem

    Great man!!! Thanx a lot!

  • @emmacorby4611
    @emmacorby4611 Před rokem +5

    I was having issues with the loop timing, I had a comp that was 4s long, but when I changed the expression to reflect 4 as the time, I was still getting an extra frame or two that weren't working, even when I tried making it 1 frame longer/shorter than 4s. I found this expression to eliminate the issue of the timing:
    freq = 1;
    amp = 510;
    loopTime = thisComp.duration;
    t = time % loopTime;
    wiggle1 = wiggle(freq, amp, 1, 0.5, t);
    wiggle2 = wiggle(freq, amp, 1, 0.5, t - loopTime);
    linear(t, 0, loopTime, wiggle1, wiggle2)
    Thank you for this video!

    • @ROMTHIRTY
      @ROMTHIRTY Před rokem

      This is beautiful, elegant and the way to do it.

    • @TheDoggyChannelVideo
      @TheDoggyChannelVideo Před 2 měsíci

      Another way is, to leave the expression as it was originally, so if your comp is 4s, the timeline has to end in 00:3,29 (in 30fps) this is due to the next frame is 00:00,00 which is the same as 00:04,00 so thats why you get the same frame twice

  • @zeaig
    @zeaig Před 2 lety +2

    Thank you so much, this was driving me bonkers.

  • @maedeamn3390
    @maedeamn3390 Před 2 lety

    Thanks a lottt it was awesome

  • @robertopotamico
    @robertopotamico Před rokem

    Thanks my friend!

  • @linnealowden7904
    @linnealowden7904 Před 2 lety +1

    thank you, I used this on a project today!

  • @TamaraTasic
    @TamaraTasic Před 4 měsíci

    I LOVE YOU MAN!

  • @motionapex4545
    @motionapex4545 Před rokem

    Thnaks...! it works.

  • @tuloreedu
    @tuloreedu Před rokem

    Love you!

  • @randomfreaks9292
    @randomfreaks9292 Před 2 lety

    Thank you!

  • @DissertazioniVideolu
    @DissertazioniVideolu Před 2 lety +8

    no one making this "tutorial" explains the meaning of lines:
    t = time % loopTime;
    wiggle1 = wiggle(freq, amp, 1, 0.5, t);
    wiggle2 = wiggle(freq, amp, 1, 0.5, t - loopTime);
    linear(t, 0, loopTime, wiggle1, wiggle2)

  • @pututejaa
    @pututejaa Před měsícem

    THANKS :)

  • @user-kp6xb4jf4f
    @user-kp6xb4jf4f Před rokem

    GENIUS

  • @miuranga_dissanayake
    @miuranga_dissanayake Před 2 lety

    Thank you very much for this!

  • @timeSlidrGaming
    @timeSlidrGaming Před rokem

    When I animate it going from a slow wiggle to a faster wiggle, it goes faster during the animation than it is after the last keyframe. Like if I animate it going from 1 to 2, it's faster than 2 during the animation but is 2 after it. Is there anyway to fix that?

  • @saberdahmen9393
    @saberdahmen9393 Před 6 měsíci

    thanks bro

  • @MohamedElHanoun
    @MohamedElHanoun Před měsícem

    Very helpful Thanks

  • @MrJoeFuego
    @MrJoeFuego Před rokem

    Beautiful

  • @saemranian
    @saemranian Před 2 lety

    Thanks For sharing MAN.

  • @Nahn3d
    @Nahn3d Před 2 lety

    amazing!!!

  • @noistruct.
    @noistruct. Před 5 měsíci

    great tutorial! If my 'loopTime' is 01,19seg. How do i express it?

  • @TheRegelation
    @TheRegelation Před rokem

    i love you!

  • @danirivera8456
    @danirivera8456 Před 7 měsíci

    Hi! What if my composition is not 3 seconds long on the dot? Like, what do I do if it’s 3:20 seconds long or so?

  • @viktoriag6206
    @viktoriag6206 Před 7 měsíci

    Does someone know how to slow down the animation with this expression, while still preserving the loop?

  • @polkior
    @polkior Před 4 měsíci

    thanks

  • @simleoita
    @simleoita Před 9 měsíci

    thnks legend

  • @Lizzardking
    @Lizzardking Před rokem

    LEGEND

  • @schrammedia.
    @schrammedia. Před 9 měsíci

    Bedankt!

  • @michaelencarnacao8998
    @michaelencarnacao8998 Před 2 lety

    thanks boss !!

  • @kandangas_sv
    @kandangas_sv Před 7 měsíci

    What if I want to loop it using only "y" wiggle?

  • @Cumarenet
    @Cumarenet Před rokem

    scale??

  • @sentiny
    @sentiny Před 2 lety +12

    many many thanks, very useful expression.
    Is there any way to make it frame based? Instead of 0:00:03:00, what if it's 0:00:03:17, or just 00071?

    • @lucasp.1870
      @lucasp.1870 Před 2 lety

      got any idea? having the same issue

    • @Cristina-hp2yg
      @Cristina-hp2yg Před rokem +4

      You can just divide the number of frames by the frame rate for example I have 215 frames and my animation is 24 fps. Instead of putting 3 in the loopTime, I've put loopTime=215/24 and it worked perfectly. You don't even have to do the math in case it has too many decimals or whatever.

    • @sentiny
      @sentiny Před rokem +1

      @@Cristina-hp2yg smart, thanx*10 Cristina

  • @keithlichtie1268
    @keithlichtie1268 Před 2 lety +2

    Much thanks - quick question: I currently have the following expression to keep the wiggle only on the y-axis:
    [ value[0], wiggle(1,5)[1] ]
    How would I add this to the expression you shared to make the above expression an exact loop?
    freq = 1;
    amp = 5;
    loopTime = 3;
    t = time % loopTime;
    wiggle1 = wiggle(freq, amp, 1, 0.5, t);
    wiggle2 = wiggle(freq, amp, 1, 0.5, t - loopTime);
    linear(t, 0, loopTime, wiggle1, wiggle2)

    • @dcofr
      @dcofr Před rokem +5

      i know im late but if you are using simple positon keyframing, you can right click and press separate dimensions, isolating the x and y axises

  • @ADVMercer
    @ADVMercer Před rokem +2

    Doesn't work.