Results 1 to 15 of 41
Thread: Matchmoving in Lightwave
01-19-2009, 07:20 PM #1
Matchmoving in Lightwave
Here's what I consider my cutest LW trick that allows you to zoom into and follow tiny detail for tracking reference within an image sequence. Have used this to achieve extremely accurate 2D (nodal) tracking in some unusual shots where even Boujou or Syntheyes would not work. It can even work for 3D tracking but that requires an experienced eye. This may be kinda hard to wrap your brain around at first, but hopefully you will see how it works even if the setup doesnt quite make sense.
-In your Open GL prefs, select a resolution to accomodate your plate (film is usually 2048x).
-You'll need a screen on which to project your plate sequence. Create a vertical, rectangular 'card/screen' in Modeler centered at 0, that approximates the aspect of your camera. Parent the screen to your camera (oriented perpendicular to camera). Move the screen far enough out on the Z from camera (X & Y remain 0) until it is positioned behind any relevant foreground objects for the duration of the shot. The screen should be perfectly centered and scaled to fill frame.
-Front projection map your plate sequence to the screen at lum 100%, dif 0%. The first camera in your scene will automatically be referenced for the projection. A planar mapped background card does not work well as parallax will throw off the perspective.
-To speed up frame scrubbing, use a QT movie of your plate. For realtime scrubbing, make a preview in Layout with only your background plate visible from frame 0 and with Layout window maximized. Then, in Display options set Camera View Background to Preview. But you cant switch between cameras when using the preview.
-Add a new camera, name it something like "Camera_zoomable," and parent it to the first camera. Disable the X,Y,Z motion. This second camera can now be rotated (panned & tilted) and zoomed way into any specific point within the background sequence when you need to see detail up close and track to a visual mark.
To track a camera motion or item within a plate you need to be able to pan and tilt the camera in very fine increments. For instance, you may use say a tiny pebble on the ground as a tracking reference that barely moves a pixel or less per frame, or maybe a button or seam on the shirt of a character walking thru frame. Normal amera rotation does not allow fine enough movements. Instead, use a target null.
-Add a null, name it something like "+Cam_Target+" (I use"+" to identifiy a null object in the list) and parent it to the screen. Enable Parent in Place, unparent the null, then disable Parent in Place. This should leave the Target null in the center of frame, at the same position as the screen. Disable the Z motion of the null. Then under the MotCion Options of your first camera, select this null as the 'Target.'
This is the part that is sometimes difficult for people to get their synapses around. While looking thru your render camera, you can now pan & tilt by moving the tracking null and your background plate remains perfectly framed in the screen that is parented to camera. You may track nulls and objects against visual markers within the plate with very fine camera movements, and you may switch to the second camera to zoom in on detail or even individual pixels.
So, lets say you have a plate of the camera panning left to right over an exterior ground. And you have to place a CG tree in the ground. Somewhere within the plate there may be a distinct pebble or pattern in the grass or ground that you can use as a visual tracking marker. You could place a null over this marker, use your zoom camera to zoom very close in on the marker, and use the target null to 'pan' your camera and keep the null lined up with the visual marker thruout the shot. You may have to key every frame, but this process allows you track a tiny marker very accurately and can go quickly as you arrow forward a few frames... move target...forward... move... forward...
We used this technique on dozens of shots in the movie, Battle of Red Cliff to track arrows and spears striking soldiers and horses. May view a couple of the spear shots in the Pixel Magic demo-
http://www.pixelmagicfx.com/Gallery.htm I can track even a non-nodal camera dolly or crane move but is too tricky to explain. Even when I show a person in the same room it is difficult for them to pick up on. But as you play with this setup you may come up with your own better tracking tricks.
NOTE: A front projection mapped card will only appear accurately in GL if it is perpendicular to camera. If it is angled away from camera, the front projection map will appear distorted in GL so it is not accurate to track off of, but it will still render correctly. The more vertices in your object, the more accurate a front projection map appears in GL.
Last edited by Mr Rid; 01-19-2009 at 07:59 PM.
01-20-2009, 05:46 AM #2
That's awesome! Thanks for sharing.
01-20-2009, 02:47 PM #3
01-20-2009, 11:13 PM #4
Hee! You were there at the 5.6 conception when I needed to track an Interceptor Force ("How Do You Stop the Unstoppable?!") shot of a guy struck by a lazer pizza and exploding into regurged pomegranates (very early, no moblur version of RF). Its improved a tad now that we have more than one camera.
Ah, nothing inspires workarounds like 5 geeks spewing 100+ FX shots a month out at UFO for direct-to-the-lower-rack-at-Blockbuster sludge unworthy of even MST3K fodder.
Last edited by Mr Rid; 01-20-2009 at 11:29 PM.
01-21-2009, 12:36 AM #5
- Join Date
- Jun 2003
i think i havn't the right synapses to the right place.
I need to try with a footage ...
the zoomable camera help to obtain accurate tracking only right ? the final pointcloud always match with the FIRST camera ?
01-21-2009, 08:09 AM #6
Nice reading Mr. Rid like always!
01-21-2009, 02:16 PM #7
01-22-2009, 05:46 PM #8
01-23-2009, 02:17 AM #9
- Join Date
- Jun 2003
thanks to spend time for this Mr Rid
01-23-2009, 01:24 PM #10
great mr ridnew web page up www.null.hr
01-23-2009, 02:42 PM #11
very cool! thank you for sharing this Mr Ridi7930, 12G Ram, 285GTX, 80G intel SSD, Win7 Pro 64. 30" HP LP3065
X2 4400, 3G RAM, 7800GTX Vista64 Ultimate.
5 bi-pro (2.0-2.8) 2G Ram XP-ProSP2.
MacBook Pro 2.4C2D, 4g Ram, 8600GT Leopard 10.6.3
01-23-2009, 03:40 PM #12
Some notes about the example shots
In the spear examples, the soldiers happened to have little knots on their armour that made it easier to track a null to. I did a rough matchmove of 3D figures against the soldiers. These did not have to be perfectly matched but would cast shadows on the spear and give me a better idea about Z distances. Front projection mapping the figures allowed me to match my tracking null on the Z as I could see wherever it penetrated the figure polys. Once I liked the tracking, I parented a simple torso shaped mesh to the tracking null that is set to matte black for a solid holdout at the point where the spear intersects with the body. A compositor rotoscoped a mask in 2D for the rest of the soldiers chest and arms.
In the third spear example shot, if you look at the jpeg you will see a couple of nulls lined up with the tips of roof corners. These were used to first track the camera tilt before tracking the rest.
In the first Sin City shot of the camera arcing around the man and the girl, it was a long shot where the camera revolved around them 3 times before settling on a closeup of Clive Owen (the whole shot was not used in the movie), and it took a couple of days to track. As you see in the raw plate, the actors were turning on a lazy susan in front of a stationary camera (except panning) with a few out-of-focus tracking markers on the green screen. I placed 3D stand-ins in my LW scene and matchmoved the slow zoom and pan with the stationary camera. The camera was parented to a null in between the stand-ins. I could reference the stand-ins while rotating the null in order to sort of reverse matchmove the actors rotation and come up with the arcing motion.
The next shot of Clive Owen falling past the building was also a long shot with a slow zoom into his face, again with only a few fuzzy tracking markers. But I could take the raw dpx plate and crush the levels and sharpen it with an exaggerated value to bring out little splotches in the green screen to track what would normally be invisible.
Originally the director expected to just see bricks and windows passing by vertically behind Owen sorta like in a cartoon. The movie is style is exaggerated but it looked too silly as he seemed to be falling 30 stories over the course of the shot. Rodriguez was the best client I have ever worked for as he had faith in the artists and allowed a huge amount of creative freedom for us to experiment with our own ideas. So I tried adding the tilt upward which helped counter the exaggerated falling distance, and made for a more interesting composition with the moon and the girl in the window. I took the footage of the girl from another shot in the movie, twixtored the footage to slow it down, pulled a black and white matte from the green screen in Fusion, and mapped this on a poly 'card' placed in the apartment window. Rodriguez loved it as it tied into the narration where the man vaguely recalls hearing the girl yelling something to him.
In the Sin City shot where the guy loses his cranium, I tracked a head shaped object mapped with a dripping gore element I shot with a video camera to appear to run down the sides of his head. I did the spatter with RealFlow. A different version of the dripping gore was used in the final movie.
The zeppelin shots from LXG were LW dirigibles tracked into a miniature plate of the hangar (the shots appear fuzzy and strobey in the QT for some reason).
The last two shots of the diamond on the record were done for a low budget music video. I also had to remove a brand name on the front of the cartridge, and replace the record and song titles on the record label.
Last edited by Mr Rid; 01-23-2009 at 03:59 PM.
01-23-2009, 03:47 PM #13
I wonder if you can use After Effects (AE) to generate the target null positions rather than having to do it manually. Here's what I'm thinking. Say at the beginning the marker null is at Xm x-coord and target null at Xt. Now we track the marker point in the footage with AE to generate keyframes. Let's denote x-coord for these as Xa.
Then, we import the AE data into LW and set the target null to be Xt + Xm - Xa. Intially when Xm = Xa, we start the target null at Xt. Then if the marker moves .01m left, the target null will move .01m to the right to maintain the marker null over the marker point. We do the same for the y-coord.
01-23-2009, 06:34 PM #14
02-22-2009, 12:57 AM #15
I may be wrong here but I think Mr Rid knows just a little about 3D animation and LW. LOL. Actually I think he's a freakin genius. I think you should be writing how to's manuals. I am also in need of using motion tracking and how you explained was so clear and easy to understand. . Many of your post have helped me become a better animator and realize things I thought was right but were not. Thanks. By the way should I address you as Lightwave god or King Animator?
Last edited by virtualcomposer; 02-22-2009 at 01:00 AM.Graphic Designer & 3D Textures
-Mac Pro 2.26GHz | 8-core | 3TB HD | 12GB RAM | Dell Ultrasharp 2707 | ATI Radeon HD 5770