Creative Communities of the World Forums

The peer to peer support community for media production professionals.

Activity Forums Adobe After Effects 3rd Party Motion Tracker Plugin for AE?

  • Sebastien Allain

    March 23, 2006 at 7:19 am

    I use a lot of expressions everyday that i make by myself. I’ve done an expression for such trouble too but not a so elegant one!
    I do not use “+=” or “for(*,*,*)”… and i don’t understand at all something like “tracks[i][1]”
    Would you please take few minutes to explain to me how all your expression works ?
    Thanks a lot

    sebastien

  • Colin Braley

    March 23, 2006 at 11:16 am

    I’ll try to explain the expression with some comments:

    //begin expression

    tracks = [ ____ , ______, _____ ,_____ ,_____];
    //The line above makes an array of objects that can be referenced
    //by using code such as tracks[0] which would be the first tracker
    //tracks[2] would be the third tracker
    //and tracks[tracks.length -1] would be the last tracker

    p = [0,0];
    //this line initializes a variable name “p” and makes it an array [0,0]

    /*
    This next line is where it gets a bit more confusing
    I use something called a “for loop” to add up the x and y components of each of the trackers and put them in “p” (the variable i made earlier. for loops follow this syntax:
    for( create a variable here; a condition for the loop to end; a condition to increment the variable that will be called at the end of the loop);
    It is also good to note that any part of a for loop can be left blank.

    Here is what is happening in my for looop:
    -create a variable “i” and initiialize it to zero
    -add to the x component of p the x componenet of the first tracker
    -add to the y component of p the y component of the first tracker
    -move on to the next tracker in the arrray “tracks”

    Note that i used += (the add and increment operator)
    a += b
    is the same as saying:
    a = a + b;
    */
    for(i = 0; i < tracks.length; i++) { p[0] += tracks[i][0]; p[1] += tracks[i][1]; //I could have written this: } //In this last part I divide the x and y componenet of p by the number of trackers //I could have written // [p[0]/tracks.length, p[1]/tracks.length] p/tracks.length //end expression I hope that helps you understand it better. ~Colin

  • Sebastien Allain

    March 23, 2006 at 11:28 am

    Very interesting and very clear ! Thanks a lot Colin.
    I deduce that i++ = i+1, isn’t it ?

    sebastien

  • Colin Braley

    March 23, 2006 at 11:35 am

    Yes, using i++; is the same as i = i+1; your right.
    You can also do things like i–;

    `Colin

  • Sebastien Allain

    March 23, 2006 at 11:42 am

    Yeah !

    My last question for today:
    I have never seen the “for loop” syntax in the adobe’help doc. Where can i learn such syntax and condition form ?
    Is there anything else but the “Scripting Guide AE.pdf”

    sebastien

  • Colin Braley

    March 23, 2006 at 3:34 pm

    There are a couple types of loops in programming such as for loops, while loops, and do-while loops (I don’t know if you can do these in AE). They don’t cover this kind of stuff in the help docs, I learned it from a programming class (AP Computer Science AB) that I’m taking right now in Java. I would reccomend buying a book o Javascript and skipping over all the web related stuff and learning syntax of things like loops, variables, functions etc. I think on motionscript.com Dan reccomends a few books.

    ~Colin

  • Eric Goldstein

    March 23, 2006 at 4:09 pm

    Colin,

    Thank you for taking time to explain your program.

    The syntax is very like VBA, Microsoft’s programming language that runs with Excel, Word, etc. There are a lot of beginning programming books for VBA and other basic languages that go over these concepts. I found the ones I have on Amazon.com.

    Eric

    By the way, if there’s anyone out there like me who didn’t know about holding down option/alt to connect segments
    of tracks, it’s great and has saved me a great deal of time. Averaging as described by Andrew and Colin has smoothed the
    tracks greatly. I’ve also used field tracking, which has helped with smoothing things out. The script Colin refers to at the bottom of his initial post works great; just download it and put it in the scripts folder in AE. I looked through some of the third party tracking products suggest. SynthEyes seems to give the most bang for the buck ($399), and I think I’m going to purchase it. However, it was not initiallly able to get hold of any tracking points on the clip I was working on. It may be that I can manually assign tracking points, but I haven’t had time to look at that yet. Otherwise, it has some impressive features.

    Eric Goldstein
    Giraffe Film Company
    Los Angeles
    eric@giraffefilm.com

  • Andrew Shanks

    March 23, 2006 at 6:55 pm

    Hi Eric,
    glad to see this thread has taken some good interesting turns in regards to the averaging of track points. In regards to Syntheyes, often the best way is to do a manual track on a couple of points (as in, do a track like you would in any 2d tracking application, …correcting it when it goes astray, etc), then run the auto tracker afterwards, …by doing the manual track first you give the software a guide as to the general movement within the shot, the auto process then uses this as a start point (like rough motion vectors to look for other points doing similar things) and should be able to lock onto a few more points. Sometimes footage just might not have much in the way of defined features (like a washed out, soft, or motion blurred scene), in these cases you may have to manually set track points (all matchmove/tracking software will have issues in such circumstances). The other thing i should point out at this point is that in order to do a proper 3D matchmove, you must have parallax in your image, …i.e. your camera must be moving. If it is on a tripod you’ll get little parallax with a pan(and if nodal, you’ll get none at all), Syntheyes will give you a 2.5D solution if this is the case (tell it your camera is tripod mounted and it will lock its camera and try to work out pan and tilt info). Syntheyes is a big program that takes a bit to get your head around to use it effectively, but using it to track and animate the after effects 3D camera in order to track elements into scenes has helped me a lot in the past (plus being able to share the data with 3D colleagues in order to provide elements for my comps is great). Goodluck and let me know if you have any further questions.

    Cheers,

    andrew

    🙂

  • Eric Goldstein

    March 23, 2006 at 8:56 pm

    Hi Andrew,

    Thanks again for the SynthEyes information.

    It is great when forums work like this and people are able to
    learn and/or pool information to the general benefit.

    Best,

    Eric Goldstein
    Giraffe Film Company
    Los Angeles
    eric@giraffefilm.com

  • Scott Warren

    May 13, 2015 at 2:05 pm

    Wow, I just read through the entire discussion thread and really picked up a lot of good information. Thanks for sharing all your thoughts.

    I’ve come to the conclusion that I need to pick up some of these programming books if I want to up my game in After Effects.

    I am still trying to determine if a 3rd party tracker plugin is the way to go. Does anyone have experience working with PFTrack? I’ve never heard of it.

Page 2 of 2

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