Maya to Blender: Creating basic camera rigs

Maya to Blender: Creating basic camera rigs from Ed Caspersen on Vimeo.

 

For users who are coming from Maya to Blender will find that there is an immediate difference between the 2 applications when it comes to camera rigs. Mainly in that Maya offer 3 types of camera rigs from the Create menu.

 

There is actually a 4th available, Stereo Camera, but I will only be discussing the 3 standard types of camera rigs:

Camera - Creates a a one-node camera, which is a basic camera. Use a Basic camera for static scenes and for simple animations (up, down, side to side, in and out), such as panning out of a scene.

Camera and Aim - Creates a two-node camera, which is a basic camera plus an aim-vector control for aiming the camera at a specified "look at" point. Use a Camera and Aim camera for slightly more complex animations (along a path, for example), such as a camera that follows the erratic path of a bird.

Camera, Aim and Up - Creates a three-node camera, which is a basic camera with the aim-vector control plus an up-vector control for rotating the camera. Use a Camera, Aim, and Up camera to specify which end of the camera must face upward. This camera is best for complex animations, such as a camera that travels along a looping roller coaster.

Maya 2011 Documentation: Maya camera types

 

In Blender there is only a single camera available from the Add menu (SHIFT+A).

 

This is hardly a restriction as I will show you how easy it is to re-create the same types of camera rigs, that are found in Maya, within Blender.

 

 


Camera (one-node camera)

 

This camera has only a single transform node that is visible in the viewport.

 

This is essentially the same type of camera that Blender creates by default (excepts it faces downwards).

 

Not every single attribute available in Maya can be found in the Blender camera, however this does not mean that the cameras in Blender aren't able to do most of what you need.

 

 


Camera and Aim (two-node camera)

 

In Maya this camera has 2 visible nodes in the viewport; the camera and the aim node.

 

The aim node is technically a locator that has had the visibility on its shape node turned off but its displayRotatePivot attribute turned on (which is how it draws as a circle in the viewport). To be even more technical there is more than 2 nodes involved in this camera rig. In all there are 4 nodes that make up this rig.

 

All the nodes are linked through camera2_group; which is a lookAt node. This node controls all the constraints that cause the camera to orient and point towards where ever the aim node (locator) is translated to. Actually you can create the same rig without the lookAt node by using the constraints found in the Animation menu set.

Blender does not have a lookAt node but it does have constraints. In lieu of locators there are nodes called 'Empties' that will serve the same purpose. Let's create one, from the Add menu create a locator.

 

The empty is created at the cursor location in the 3D view.

 

To re-position the empty position the empty 3 units in Y (hotkey G+Y+3). Rotate the camera to look at the empty by turning it 90 degrees in X (hotkey R+X+90). Now we have the 2 nodes for the two-node camera in position.

 

Next we will apply a Track To constraint t o the camera. To apply the constraint so that it is automatically connected to the empty; first select the empty THEN select the camera and press SHIFT+CTRL+C and from the Add Constraint menu select Track To.

 

With the constraint applied you will notice a problem in that the camera is facing down again.

 

In the Properties editor locate the Object Constraints. The Target value already contains the name of the empty. This occurs when you select the target object before selecting the constrained object and applying the constraint. Change 2 values:

To: -Z
Up: Y

 

To explain this, first ensure that the manipulator is visible. The visibility icon is circled in red, or use the hotkey combination of CTRL+SPACE. Open the Orientation menu and set the orientation to Local.

 

This will display the local manipulator, which now we can see that the empty is in the negative direction of Z (To: -Z) and that the up axis is Y (Up: Y).

 

If you desire to see the empty drawn as the aim locator is drawn in Maya then select the empty and locate the Object Data in the Properties editor. Set the Display to Sphere and the Size to 0.1, or any suitable value to your liking.

 

The empty now draws as a circle in the 3D view.

 

Before moving on I want to point out a better way to assign the constraint. Delete the current constraint. 

 

Back in the 3D view, select the camera and THEN select the empty (this is the reverse order from before). Press CTRL+T to open the Make Track menu and select Track To Constraint.

 

This will create the constraint with the correct To and Up settings automatically, making life a little easier.

 

 


Camera, Aim and Up (three-node camera)

 

With this rig we now have 3 visible nodes in the viewport.

 

In Maya this camera rig has an additional locator (now there are 5 total nodes in the rig) that controls the up axis of the camera.

 

The up node causes the camera to rotate around the axis in which the aim node is on. 

Returning to Blender and with the aim node in place let's now look at how you would rig the up node. Create an empty and position it above the camera with the following hotkey combination; G+Z+3. If you desire, like I did, you may set the display property to sphere and decrease the size.

 

Select the camera and THEN select the new empty and open the Make Track menu again (CTRL+T). This time select the Lock Track Constraint option.

 

If you translate the up node you will see that the camera is rotating around the its local Y axis, this is not correct. It should be rotating around its local Z (the axis the aim node is on). To set this up return to the Object Constraints in the Properties and set the following:

To: Y
Lock: Z

 

This will control the local up axis of the camera (which is Y) so that it rotates around the axis the aim node is on (you guessed it, Z). We know have a three-node rig in Blender that functions like the familiar rig from Maya.

 

 


Translating the whole rig

One last topic I will cover is how you would translate the whole camera rig as one. In Maya we would simply select the lookAt node (camera3_group) and position the whole group as one. There is groups in Blender, though in my honest opinion they are not as affective as they could be. Select the camera and 2 empties and press CTRL+G to create a new group. The objects are now green in their color indicating they are in a group.

 

The downside to these groups is that they are not selectable in the Outliner as they are in Maya (in Maya groups are actually empty transform nodes in which other nodes are parented under).

 

To select the group simply select one of the nodes in the group and press SHIFT+G and select Group from the menu.

 

Since this is the 7th option you could alternatively press SHIFT+G+7 and it would do the same thing. Another method (and easier to work with, at least I think so) is to create another empty and parent the camera and 2 empties under it using the CTRL+P command. In the example below I set the display to cube, but you can use what ever you like. I can now translate the cube to move the entire camera rig.

 

Now the Outliner resembles a hierarchy that Maya users would be more familiar with.

 

The manner in which the nodes are connected doesn't have to be identical to how they are in Maya in order to achieve the same results. It just takes a little experimentation and logic and anyone can figure out how to re-create simple rigs like this.

Currently the 2.5 manual for constraints is not written. For the time being the only documentation relates to the 2.4x releases.

Blender Manual: Constraints

 

- Ed