# Creative Communities of the World Forums

The peer to peer support community for media production professionals.

• # Tracking a point on an animated mask?

3 Members · 6 Posts
• ### SpriteMaster

January 13, 2006 at 11:33 pm

Moo,

I have an 8-point mask that’s animating over time. I need to track one of the points (I’d like to anchor a gradient to it). Is there any way to do that?

I thought to cheat by using Stroke with short Start-End to render a small white circle around the point I need to track, and using motion tracking. Beyond being very roundabout, it doesn’t really work: since the mask changes its length as it’s animated, using a fixed percentage for the Stroke Start & End does not stick to that point.

Any ideas?

AA

• ### mstleger

January 14, 2006 at 12:24 am

to the best of my knowledge, you can’t track or parent or expression using individual mask points. Try doing it in Combustion or Shake, you’ll find that the masking and tracking are better in those packages.

• ### SpriteMaster

January 14, 2006 at 7:15 am

Thanks for the tip, but tackling XSI and AE is currently more than enough for my peanut brain (and my equally tiny budget).

I was finally able to get it done, but it’s an awkward detour. If anyone’s interested, here’s how I ended up doing it.

Task: Attach something to a specific point on an animated mask. The point may be one of the mask points, or a point halfway between two consecutive mask points, or a third of the way between, or whatever.

Motivation: Oh, this has many uses. Get a lens flare to follow a point on the mask. Fill the mask with a gradient color and have the yellow part remain in the same relative location even as the mask twists and turns and moves about. Stick a cigar to the corner of a smiling mouth. There’s plenty.

Awkward solution:

1. Duplicate the layer with the mask, call the duplicate “TrackPoint”.

2. Remove any effects from the “TrackPoint” layer and any masks, if any, other than the one you wish to track.

3. Make sure you’re in frame 1, get into editing for the “TrackPoint” mask, and delete all except two consecutive points on the mask. If you wish to track a single a mask point, keep that point and the one immediately after or before it. If you’re looking for a mask location between two points, leave those two points.

You may get a warning message that those points are going to get deleted from all keyframes of the mask shapes; have no fear and click OK. This is actually what we want.

4. Apply a Stroke effect to “TrackPoint”. Choose a white color (assuming your background is black or dark), a small solid brush, a tight spacing (say 1%), and very close start and end points to get the location you’re after. For instance, if you’re tracking the first point of the two, stroke from 0% to 0.5%.

5. Precomp the “TrackPoint” layer, moving all attributes. Don’t open the precomp, stay in the original comp.

6. Get a new Null layer, call it “Tracker”.

6. Select the precomped “TrackPoint” layer and solo it just to make things easier to see. Apply Animation->Track Motion. Move the tracking sights over to the little white stroke created in step 4. Hit the “Play” button in the tracking window and make sure the sights are following the stroke accurately. If the stroke moves too fast you may lose it, in which case just make the outer square in the sights larger. This is an easy track as there are no distractions, so it should work perfectly.

7. Make sure the “Tracker” layer is your target in hit “Apply”.

8. Voila! The null is following the mask point as it is being animated. You can parent something to the null or pickwhip its position to any animated parameter. At this point you can hide or delete the “TrackPoint” layer.

I hope this helps someone somewhere somehow. If you have any questions, shoot.

AA

• ### Mike Clasby

January 14, 2006 at 7:35 pm

Thanks for sharing, Rube Goldberg would be pround.

• ### SpriteMaster

January 15, 2006 at 7:32 am

LOL I bet he would. Did I mention it’s awkward? Still, I cannot see a better way to do this.

{\rant}
I’m not really into software bashing, but if there’s one thing I hate it’s when an app is not exposing an available internal structure to the user. I mean, if AE can’t do (for instance) 3D extrusions then it can’t, it may be a shame but every application has its limitations. It’s not as if it CAN do them somewhere deep inside only it doesn’t let the user access the feature. On the other hand, AE certainly DOES know internally where each point of a mask is at any point in time, and not letting the user access this data – even in “read only” mode – is just a design flaw, in my mind.

There’s another example 0f this in AE which is giving me a lot of trouble: not being able to access the dimensions of a text box. I don’t have any workaround for this one, and it’s literally costing me \$.
{\end rant}

Having said that, I think AE is an excellent tool and, like everyone else, I’m eagerly awaiting v. 7….

AA

• ### Mike Clasby

March 10, 2006 at 5:19 am

Others would know for sure (the script authors) but I think your right about being too low on the AE version scale for these scripts to work, so maybe try this:

SpriteMaster had a work around without scripts, and it works for one vertex, but involves tracking, anyway he explains here:

Name: SpriteMaster
Date: Jan 13, 2006 at 11:15:48 pm
Subject: Re: Tracking a point on an animated mask?