You can download this example model I am using to follow along with this lesson. If you have been following along from previous lessons you will want to re-download this model as some changes have been made to help highlight the differences between 1-axis and 2-axis rigging.
There is a spectrum of difficulty when it comes to complex rigging, ranging from the simpler (like the example shown in this lesson) to the more complex (like my 787 wing fold animation). In YSFlight we have to account for the limitation of one CLA animation applied to each mesh which drives us to work arounds in order to make things appear closer to how real-life aircraft move. Each situation where you need to utilize the techniques shown here will be different, but by starting with simpler tasks, we can build the skills needed to work on complex models and effects.
When we want a component to move with two animations, we have to use parent-child relationships between objects, where each object has a different CLA animation applied, and combining to form the final combined visual effect the modeler is trying to achieve.
Here we have a simple landing gear model where we will animate the landing gear being raised, but also the wheels rotating left and right to simulate nose wheel steering.
Now YSFlight only lets us have 1 animation on each mesh object, so we will need to split the landing gear mesh into two objects. First lets think of what animations we will use and what parts of the landing gear mesh we will use.
CLA 0 (Landing Gear) to raise and lower the whole landing gear assembly
CLA 8 (Rudder) to rotate the wheels side to side.
There are several different ways to approach splitting up the mesh object, but what makes sense to me is to separate the wheels into an object that will rotate with CLA 8, and the rest of the landing gear move with CLA 0.
When dealing with some animations to make a component appear and disappear, our hands may be tied with respect to what animations to apply to what mesh object. If you need some thing to disappear, generally speaking that animation CLA needs to be tied to the main mesh object and any animations that are going to move the object need to be tied to the supplementary Empty Mesh objects we will learn about later.
Now we need to consider how the two objects need to be parented. The way I think about this is what object needs to follow the other. For example in this landing gear, I see that the wheels need to follow the rest of the landing gear when the gear is raised and lowered. Similarly, when looking at a wing assembly, the flap or aileron needs to follow the wing as the wing flexes, otherwise the flap or aileron will end up floating in space.
Based on how the landing gear should move in this example model, we will set the landing gear strut as the parent object and the wheels as the child object. That way when the landing gear is raised and lowered, the wheels will move with the strut.
Just like with the normal rigging procedure shown in the previous lessons, in this lesson we need to use a technique to properly mark where child object centers will need to be in the parent object mesh. For this we will put a vertex in the parent object at the object center of each child object in order to make our lives simpler within Blender. As this vertex is not rendered in YSFlight, nor does it add much of anything to the overall filesize of our DNM model, we can leave it as-is in order to make later modifications even easier.
Select the child object (wheels) and make sure the object center is on the axis of rotation.
Snap the cursor to the child object's center by using Shift + s and select Cursor to Selection.
Select the parent object (landing gear) and go into edit mode without clicking your mouse (the easiest way to accidentally shift the cursor's 3D location without realizing it.
Go into Edit Mode and select any vertex. This will look like the image to the right. Duplicate it with Shift + d and click somewhere to place the new vertex.
With the vertex still selected (and nothing else), move the new vertex to the cursor's 3D location by selecting Shift + S and selecting Selection to Cursor.
Now you can use the Shift + S > Selection to Cursor in object mode to move the wheel mesh object to the proper location relative to the landing gear when rigging.
This simple landing gear example provides an introduction to complex rigging, but does not show all of the complexities that may creep in. We will discuss those later.
The general principal for complex rigging is to break it down and look at single parent-child pairs, regardless of where they fall in the grandparent-parent-child relationship tree. In this example we only have two objects, so we don't need to worry about the grandparent or great-grandparent level objects just yet.
While we eventually need to get to the point where every object has a parent empty object (as shown in the image to the left) we first need to consider the differential positioning and rotation between the parent object and the child object. In this simplified landing gear example, there isn't much to be concerned about. The z-axis of the landing gear is the global z-axis and this is also the rotational axis for the wheels. Therefore we will start by following the previous lessons to create empties and make parent-child relationships between the individual mesh objects and their empties.
NOTE: While we have so-far been talking about parent-child relationships between mesh objects, the actual in-blender parent-child relationship tree should look like the image to the right when we are all said and done. The Landing Gear Empty will be at the highest-level, followed by the Landing Gear mesh, the Wheel Empty and finally as the most-child object, the Wheel mesh.
Next, we will position the child object relative to the parent object. Remember to move the parent empty objects in order to drag the child mesh objects to where they need to go.
Select the landing gear mesh object and go into edit mode. Select the reference vertex we created earlier and snap the cursor to this location (Shift + s > Cursor to Selection).
Exit Edit mode and de-select all objects.
Select the wheel's empty object and then snap its location to the cursor (Shift + S > Selection to Cursor).
With the wheels properly positioned relative to the landing gear, we can now establish the parent-child relationship between the Landing Gear Mesh and the Wheel Empty objects.
Congratulations you successfully rigged your first complex animation!
Now let's make it interesting...