Client : MPC, Rhidley Scott

Feature : The Martian (released 2015)

In the film The Martian a lot of Roto animation was done for the helmet movements, solar panels, and other items. One of the interesting requests at MPC was the need to matchmove shots that established the Martian terrain. Here we needed to provide geometry that was to scale as there were no Lidar scans large enough to use.








Here we tracked the shots in 3DE and produced a camera solve. However to create the terrain we needed locators to outline and mark the base of the mountains and the tips. With our camera solve and duplicating it periodically throughout the shot creating still frame static cameras we used these to triangulate each of the locators we placed.

For example, we duplicated the solved camera on the first frame and boke all animated connections in the outliner (RED CAMERA). Then we positioned a locator on the base of the mountain where we wanted to begin outlining. We viewed our moving camera (BLUE CAMERA) until the feature panned to the edge of the frame. Our locator that we had place on the first frame would be off position and needed to be amended in depth, as seen in image to the right.


​To do this we viewed the locator through the static camera showing the
first still frame and orientated the locators pivot to face the static cameras

position (enlarge bottom image). Then while looking through the moving

camera on a later frame we pushed the locator away from the static

camera until it met the same features new position.

​Now we could see the locator on the same feature in both

cameras and continued to stay there while scrubbing through the time line. This showed

that the locator was triangulated. We continued to do this for the different

mountains and valleys.

​Once enough locators were placed and triangulated then we were able to

begin creating geometry joining poly's to the positioned locators that
stuck to plate. This allowed the DMP department to project crators and FX

 to position tornado's where they wanted.


Here is a script to push locators towards and away from the perspective of the camera you a viewing through. I use this script a lot with Roto Animation and triangulating points, it is very useful.

​To use this python script run it through the script editor, and press control+1 while looking through the camera you want the locators pivot to face. Then look through the moving camera on the later frame and click the middle mouse button and drag the mouse to place the locator in the correct Z depth.


Save your work before using script. This script is for educational purposes only. I take no responsibility for what you do with it, use at your own risk.

import maya.cmds as cmds
def screenManip (fromWhere=0) :
    currentMode = cmds.manipMoveContext ('Move', q=True ,mode=True)
    if currentMode==6 or fromWhere==1:
        currentPane1 = cmds.getPanel (wf=True)
        type = cmds.getPanel (typeOf=currentPane1)
        if type=="modelPanel":
            camera = cmds.modelPanel(currentPane1,q=True, camera=True)
            loc=cmds.xform(camera,ws=True, q=True ,t=True)
    if currentMode==6 and fromWhere==1:
       cmds.manipMoveContext('Move', e=True ,mode=2)
except NameError:
    jobNumScreenZManip = cmds.scriptJob( event= ["timeChanged","screenManip()"])
    cmds.nameCommand('screenZManip', annotation = 'Screen Z Manipulation',command= 'python("screenManip(1)")')
    cmds.hotkey( keyShortcut='1', ctl=True, name='screenZManip' )
    print "Screen Z Manipulation Tool"
    print " To use it, press control+1. You can then move the object in screen Z space by clicking the middle mouse button and dragging the mouse"

def killScreenManip( ) :
    cmds.scripJob( kill=jobNumScreenZManip)

Martian showreel