Tuesday 29 March 2011

Reactors On James Bond

As mentioned in previous posts, reactors can be used in animations and they add a level of sophistication as they apply effects to objects based upon given arguments. If those arguments relate to real life, then the models will react similar to everyday instances of how that object would. As mentioned in the "Setting Up the Rag-Doll Scene" tutorial provided by Auto desk 3DS Max, it adds physicality to a scene. Depending on the desired effect, if it were an alien world being created, gravity may react differently. For example in the Havoc 1 World properties, to resemble gravity, the x axis is a negative number, this is because a negative number informs Max that it must descend down the z axis rather than go up it. If the x or the y axis were to be modified, objects could have a gravitational pull to the left.

To better understand the usefulness of reactors, a tutorial was followed to make a model fall down some stairs. Thus, once complete the same knowledge could be applied to James Bond in a different scenario.





When applying mass to an object within Studio Max, it must be higher than zero, if it is expected to move. This is because Studio Max is programmed so that if the object properties are set to zero, under no circumstances does that object move during the animation. It treats it like a building firm set into place.

The elasticity property determines how bouncy the object should be. For example, in the bouncy ball exercise, the balls were not bouncy because of this very control, they had no elasticity applied to them. Friction, on the other hand, determines how easy it is for the object to slide across a given surface.

To make James Bond behave like a human should, it's important to ensure his limbs react the same as a humans would. This is achieved by assigning constraints and applying reactor collections.

The first task is to create a Rigid Body (RB) collection and place within one of the view ports. In the modifier panel, the add button needs to be selected so that all of the bones of the body, along with the floor of the scene needs to be added to the RB collection. This is so the objects are now physical, 3DS Max now knows, they should not deform but rather they should act like skittles being hit by a bowling ball. They don't break, rather it disperses in different directions but it remains whole.

A constraint solver needs to be added to the scene. To make this work properly its important that all of the constraints are RBs and they belong to the same collection. Underneath it's name, click "None", followed by pressing the 'H' key on the keyboard to bring up the name selection window. RBCollection01 needs to be selected.

To attach the body limbs together, hinge constraints is first used. Like a hinge on a door, the hinge allows the joint in an arm to move only as far as it's hinge limits. To assign hinges to limbs, on the helpers panel, the hinge constraint is added to one of the view ports. In the properties panel, the "None" button next to "Child" needs to be selected. By pressing the 'H' key on the keyboard and in turn choosing the child limb and the parent. For example, one child may be the lower arm, with its parent being the upper arm. A hierarchy of limbs as shown in the name list is being created in hinges.

To make his movements more realistic to a human body, his limbs need to have hinge limits. The angles needed to be changed and the values were taken from the tutorial which is available from the tutorials selections in 3DS Max. Now, the initial joints have been created (wrists, elbows, knees and ankles), they need to be added to the constraint solver by selecting 'Add'. All of the joints that appear in the window need to be added.

To stop the limbs falling through the floor, collision pairs are defined. The bones listed need to be disabled so that the effects of having the hinge constraints can be shown and so they the body doesn't fall apart. Next, the exhaustive list needs to be sifted through and enable the common collisions that include any floor objects. This will stop James falling through the floor.

Adding the Rag Doll Constraint

The rag doll constraint is how the back, neck and shoulders connect together. It is what keeps the body together when the body hits the floor. To define how much they can turn and twist, they are controlled by three main controls; twist axis, plane axis and Twist x Plane axis (Cone axis). Like the hinge constraints, a parent and child relationship needs to be declared. For example, the right thigh is the child to the pelvis parent.

The constraints were defined by the guidelines provided by 3DS Max tutorial. The rag doll constraints now need to be added to the constraints solver. Once complete, the animation can be previewed and the limbs should all remain together when the body hits the floor.

1 comment:

  1. I think you have made a fantastic job of using the reactor tool in such detail and applying this to the scene.

    ReplyDelete