To see other Assignments:

Assignment 1: Magic Mirror  |  Assignment 2: Face Tracking  |  Assignment 3: Seflie Instructor  |   Assignment 4: Alpha Blending   |   Assignment 5: Pixelation Mapping

Hey! So this second assignment I am calling Gun in Your Face!

So to sum up the assignment first:


  • Coordinate info from cvjit.faces matrix used to calculate the position of face laterally across the screen
  • cvjit.faces detects when the face is at a certain proximity from the screen
  • cvjit.faces also detects when the face is off-screen or there is no more faces


  • Value for face position used to determine which frame from the video of gun moving left and right will play
  • When face is close to screen, playback of the gun firing video is triggered
  • When no faces are detected, video of me spinning the gun is set on loop like a ‘screen saver’
  • All videos have a 1.5seconds crossfading transition


I am rather satisfied with the outcome and more in-depth presentation of the process is in the video below. Here I really wish to express that apart from learning the stuff in MAX, what was really important to me was the asset creation in the assignment. What I have attempted was to use the assets to my advantage, the angle of the shot, the composition of the videos, thinking about transitions. And I really spent quite a bit of time dwelling on those aspects. So this played out really well as for most of the time in interacting with this piece, the transitions are as smooth as I would have them.

Also, this time I attempted to organize things a little more, showing only the essential stuff and visual information in the main patcher while the complex computations are put into the hidden ones.

What could be improved for this assignment is maybe thinking of ways to track vertically as well.