Monday, December 14, 2015

Mirroring

One very fortunate thing about rigging, is the fact that you are able to mirror most things. when creating a joint system, it is a lot nicer only having to create one side of something then simply mirror it over to the other side. This saves both time and accuracy. As now you do not have to worry about it matching up to the other side. Unfortunately, controls cannot be mirrored. But paint weights can.

I remember during our midterm project, we had to rig a marine. When i got to the point of skinning, I had no idea that you could mirror paint weights. I had worked by doing both sides at once. When I did the left arm, I did the right arm with it. The left leg, the right leg with it. It wasn't until I was doing the fingers that I found out that mirroring paint weights was possible, and wow how foolish I felt. While it didn't feel great to realize i wasted extra time that I didn't need to use, the extra painting did definitely help me understand paint weights more and understand it better, as it took me a long while to get it.

Skinning

To put it simply, i most enjoy rigging. I enjoy setting up the rig and figuring out how to do things and how I would like certain things to be moved. But once you're done setting up the base of the rig, comes the skinning. To be honest, I don't very much enjoy skinning.

After an initial bind, the rig wont exactly be perfect. Moving a control will easily show that, as the model wont stay true to form and will not look good. This is where skinning comes into play.

There are two ways to go about skinning. Theres the component editor, which takes a more technical stand, and theres the paint weights, which takes a more artistic stand.

I personally felt like the component editor would be more for me upon first skinning. However, this quickly changed as I felt like I had more control over it with paint weights. Even though it was a pain. I did still feel great and proud when I finished a section of the rig and noticed how much better it looked already. Skinning may not be fun, but it definitely does pay off.

Ambulation Controls

One essential part of a rig is the ambulation controls. These can typically be created after and hold the most power. There is the root control and the world control. The root control is usually located around the hip area of a model. It is the root of the character. The main part and movement and twist can be controlled from it. The world control is typically at the bottom center of the model. It controls the entirety of the rig, basically serving as the control to move the entire model to a different position. The world control controls every single other control in the rig, it controls all, hence the name of world control. Both the root and world control are FK controls and tend to need sockets in order to be able to control other parts of the rig.

Replacing a Nurbs Shape

One thing while learning rigging that I had a slight trouble with grasping was replacing a nurbs shape. This was something I had come across a couple times, and each time I could not remember exactly how to do it. I would just vaguely remember random steps.

Replacing a nurbs shape means to change the psychical appearance of a nurbs shape without altering any values or attributes. In order to do this, you must first create the nurbs curve that you would like to use to replace the old one. Then you must parent constraint the new shape to the old one, while making sure that maintain offset is unchecked, as it will not work otherwise. Then delete that constraint. By doing this, you have now set the new shape in the same exact position that the old one is. It is also important to zero out any values or attributes in the translates and rotates, as you never want any values on a nurbs curve. Next you must select the new shape, add the old one to the selection, and run the -parent-shape-relative command. That will then combine all the shapes together, and it is done! All left to do is to delete any extra leftover transforms or shapes.

It's not too difficult and pretty useful!

Reverse Foot

The reverse foot is a technique done for the IK leg system. It is created for the purpose of being able to roll and bank the foot, while also pivoting the heel, ball, and toe.

In order to create the reverse foot, you must first create the reverse foot joint chain. The correct heirarchy order for this is the InsidePivot->OutsidePivot->HeelPivot->ToePivot->BallPivot->FootRoll->AnklePivot

It is important that the toe and ball joints are perpendicular to the ground. The entire chain gets DAG parented under the IK control.

Once that's done, it then becomes a process of SDK's. Specifically for the Footroll and the Footbank, as the pivots can all be handled in the node editor.

SDK's

Set Driven Key's are actually one of the rigging things I found the most interesting. Back during my first 3D animation class, we had used a Morpheus rig that had a very detailed customization options that gave many different hair options and adjust size of the body parts. I loved the fact that you could changed their hair and customize it and since then I had wondered how they did that. I had yet to touch rigging and have had only minor experience in modeling, so I had no clue. Once I learned about SDK's it was like I finally found that answer.

An SDK is a keyframe driven by an attribute value. The most memorable use of SDK's for me was when I had to do all the finger SDK's as it was the most time consuming and least enjoyable one. So I'll use that one as an example. All of the fingers are set up with three individual FK controls. In order to use the SDK's without creating values onto the controls, we created an anim pad between the controls and their pads, that way all of the SDK values would go onto the anim pad.

In order to set up an SDK, youd need to load the driver and driven into the SDK setup box. In the case of the fingers, the driver would be the Arm Switch control and the driven would be the anim pads. You set the values you want the driven to be for what the driver is set up to.

IKs and FKs

Inverse Kinematic's and Forward Kinematic's are both different methods of control and movement.

The definition I have gotten from class on IK's and FK's are

Inverse Kinematics (IK): A form motion manipulation that indirectly affects driver transform(s) based on the movement of a target effector(s)

Forward Kinematic (FK): A form of motion manipulation where a driver transform directly influences a driven transform.

It's good to setup both an IK and an FK system for your rig, rather than simply having just one, as they both have their strengths and uses. It can also be a matter of personal preference.

When dealing with an FK system, for example if you create one for a leg, it would allow you to move the leg limb by limb. Allowing you to adjust the knee separately from the thigh or from the ankle.

While with an IK system, you would only have on control, which would typically be located around the bottom of the foot, or possibly around the ankle, when dealing with a leg. It would allow you to move the entire leg by that one control.

I personally have come to prefer an FK system when it comes to legs and an IK system when it comes to Arms.
However, it isn't just limbs that can use IK's and FK's, as they can be used pretty much almost anywhere else.

When having both an IK and FK system, it's good to include a Switch Control. This way everything is not just out there in a jumbled confusing mess. This is done through SDK's, and allows you to switch the visibility between the two, so you can use whichever system you'd like whenever.

Saturday, September 5, 2015

What is Rigging and how does it fit within the production pipeline of a game?

Rigging is a pivotal step taken before you can even think to begin animating. It is basically when after you have your 3D model all finished up, you must then take it through the technical process to prepare if for animating. It is essentially the skeleton needed to allow any movement. By linking up certain points of the rig to certain parts of the model, such as body parts on a character model, it allows you control over the movement of that specific body part. Being able to control the way an entire arm moves, then even to more specific parts like a single finger. The animator would then be able to pose the character, and actually bring life to it.

While rigging may be an important step, it is however, not the only one. Instead, it is part of a process used in within the production pipeline of creating a game. Rigging is actually a step that comes to play much later in the process. As before it, comes a lot of planning and writing, to figure out and understand exactly what is going to happen with the game. Along with that comes concept art, to understand the design and appeal of how the game will look and feel. Once that is finalized, is when the 3D modeling comes into play. Needing to actually create the models that will be used to animate. Taking that straight to the animation process, without any rigging, would leave things a lot more static and honestly it would be pretty useless. Once rigged, it can finally be handed over to the animators to bring life into the models. Yet, animating is not the last step to the pipeline. After, there is still more design to be done, as well as programming, and finalizing everything into the game before being able to launch it.