Activity › Forums › Adobe After Effects › Technique for animating a wake with a swimming dolphin
-
Technique for animating a wake with a swimming dolphin
Posted by Steve Davies on May 18, 2018 at 9:02 amI am animating a dolphin coming in and out of the water. The dolphin moves from one point to the next, with a wiggle, but I also need to animate the wake of the fin and tail. How am I best doing this? On a previous animation, I just animated the path of the shape and parent it to the moving animal, but on this occasion, the movement of the dolphin is quite erratic, parenting it to the dolphin doesn’t seem to work to well as the position jumps quite quick.
What might be my best method to animate this?
Hope you can help
Steve
Digital Designer
stevedavies.ioFrederic Antoinette replied 7 years, 12 months ago 3 Members · 5 Replies -
5 Replies
-
Steve Bentley
May 18, 2018 at 3:55 pmEven the though the dolphin will porpoise up and down (I couldn’t resist), the wake shouldn’t. So you could link the x motion of the wake to the dolphin and then the wake will follow but not rise and fall. Then you could put a slight animation on the y motion of the wake so it’s not exactly linear.
You can break apart the x and y position attribute in the curve graph editor (the button is at the bottom of the graph). Or you could use an expression.
On the position attribute enter: [use Pickwhip here to link the x of the dolphin, some Y value];
The notation for separate x and y in expression is [x,y];
You could link the Y to a keyframed slider effect or use keyframes on the position. Expressions can pick up keyframes from the source layer with the Value method [this.Comp.layer(“Dolphin”).transform.position[0],value[1]];
value[1] means Y, value[0] means X. Only using the y value will ignore the keyframed x value and use the dolphin x position for the x of the wake. -
Steve Davies
May 21, 2018 at 7:12 amThanks Steve
I have had a go but no success but I will keep trying – most likely something simple I am not doing in the process. But in theory it sounds like it will work!
Thanks for your help…
Digital Designer
stevedavies.io -
Frederic Antoinette
May 23, 2018 at 2:40 amI had pretty much the same problem with one of my project. My solution was to use motion tracker.
For you situation, this is what I recomend
1. Add a black vertical line, center it to the dolphin’s fin and link it to the dolphin.
2. Add an horizontal line at the water level.
3. Use that horizontal line as a track matte for the vertical line. This will make it just a black dot at water level
4. PreCompose your whole composition.
5. Track Motion of that dot.
6. Apply transformation of the track to a null.
7. Copy that null into the composition of the animation
8. Linked your wake layer to that null.Repeat process for the tail.
In addition you could with expression animate the width of your wake depending on the y position of your dolphin. so that it grows as the dolphin passes the water line.
To the scale of your wake layer:
//put the position Y of your dolphin when the fin just touches the water line.
y1 = 560 ;
//put the position Y of your dolphin when you think the wake should be full size.
y2 = 400;
dolDepth = thisComp.layer("Dolphin layer name").transform.position[1];
w = linear(dolDepth,y1,y2,0,100); //You can also try an ease interpolation instead of the linear one.
[w,100]Hope that helps
-
Steve Bentley
May 23, 2018 at 8:02 amWhy would you motion track something that you animated? Simply child a null to the dolphin, and position the null at the spot of the dolphin you want to “track”, then use the toWorld transform expression to get the world position of that null as it moves with the dolphin. From there you can either use both the x and y (and even Z if you need it) or just one of the axis.
That way if you want to change your animation later on (’cause that never happens) you don’t have to retrack the motion. (plus you don’t get the inherent positional noise added when you do any kind of motion track)SteveD, I think its was probably the rotation of the dolphin that didn’t allow my first suggestion to work for you. If the rotation point of the dolphin was the point you wanted to follow it would work, but if the point you wanted was somewhere else that point would be offset by the distance but also by an ever changing amount based on the how far the dolphin’s angle had changed. This could be calculated with some simple Trig, but its far easier to use the toWorld function that tells you the position of something like a null even though that null is a child of an object and the object is rotating. If you just asked for the position of the childed null with the pickwhip, all you would get is the position of that child object in relation to the parent and not in relation to the viewport.
-
Frederic Antoinette
May 23, 2018 at 10:46 amYou are absolutely right but in my situation it wasnt a dolphin but a fishing line made with rubberhose and wiggle. So to find where the fishing line crossed the waterline I didnt find any other way to track it due to the curved line.
Same would be if he is using puppet pin to deform the dolphin the fin position would vary in relation to its position or rotation.
Reply to this Discussion! Login or Sign Up

