Login

 Alert

 Alert

Forgot your password?
Register for free!

Currently online

There are currently 0 members and 33 guests online.

Latest forum posts

Visit the forums »

Highest rated articles

Most popular articles

Maya FBIK Tutorial

Article info

  • Posted by: hp
  • Added on: 15 March 2006 0:48
  • Reads: 9714
  • Rating: 10
  • Votes: 1

Today we start publishing the winning tutorials from our tutorial competition! The first tutorial to be published is Maya FBIK by Ajit Singh Yadav. Enjoy!

Maya FBIK tutorial

MAYA full body IK (FBIK) By:- Ajit Singh Yadav

What is full body IK (FBIK) ?

Now quickly and easily create natural looking poses and animation for your biped and quadruped characters with the new full body IK (FBIK) in Maya. Maya's full body IK is based on the Alias® HumanIK® solver used in Alias® MotionBuilder. It Makes Maya rigging and Posing Characters Faster, easier and more accurate. The FBX plug-in and file interchange format now allows you to transfer rigged characters animated with FBIK between Maya and MotionBuilder without requiring the animation to be baked.

Setting up a character's skeleton works best by using a standard naming convention for joints - these map automatically to the solver. You can then animate the character to move very naturally with a minimum of effort. For example, by

Pulling a finger and the arm will move, but only as far as the nearest shoulder joint.

Or pull character hand and you can animate a character reaching up as if grabbing something from a top shelf, and the hips, shoulders, and back will all rotate and bend appropriately. With Maya's other solvers, you would have to keyframe separately the motion of the hips, shoulders, arms and neck to avoid the character getting bent into strange, stiff looking poses.

Preparing your character for full body IK (FBIK)

Make sure that your character model is in a pose as explained:-

For a biped (Human), your character should be in a "T" pose and should be facing down the +Z-axis. Also, your character's feet should be straight, its hands should be flat with palms facing downward, and its thumbs should be pointing down the +X-axis

For a quadruped (Animals), your character should be facing down the +Z-axis and its paws/hooves should not be flat on the ground but should be pointing downwards with all their toes fully-extended towards the floor. Also, if your character has a longer neck its neck needs to be extended and pointing down the +Z-axis.

We'll create a separate skeleton structure for Leg, Arm, Hand and Spine. Once the joints are created we'll edit and fine-tune their placements to match the features in the geometry then parent these separate skeletons together to create a single skeleton. The leg and spine skeletons will be drawn in the side view window. While the arm and hand will be drawn in the top view so that later it is easier to fix. Also arm, wrist, spine & legs will not be creating completely straight. That is, they will have at least some small degree of a bend.

Now we have an idea how we proceed, let build a skeleton for our character.

Creating a Skeleton

So how Skeleton (bones) are Created in Maya?

Skeleton are created using the joint tool In Maya a skeleton is a hierarchy of a unique kind of transform nodes called Joints.

  • Use the Layers Editor to create a new layer
  • Rename it Model (as u like it).
  • Add character mesh to this layer by RM click on it and select Add selected Objects option. And set that layer to be a template.

See image:- (2)

In side view Press F2 (Animation Menu)

Choose Skeleton |joint Tool (Option Box).see Tip & Description section to Know more in detail about Joint Tool options.

  • The Joint Tool settings panel appears. Press Reset tool and then close the joint tool option box.
  • Create joints for character spine as hips, spine, spine1, spine2, Neck, Head and HeadTop as shown in the Image :- (3)

To end the joint creation press ENTER key on the keyboard.

Now open Outliner (Window | Outliner)

Now Select one by one each joints from the Outliner and rename them as shown in Image :- (4)

Same way create joints for character leg as LeftUpLeg, LeftUpLegRoll, LeftLeg, LeftLegRoll, Leftfoot and LeftHeel as shown in the Image :- (5).

To end the joint creation press ENTER key on the keyboard and rename them in Outliner.

Now for character foot fingers create LeftToeBase, LeftFootThumb1, LeftFootThumb2, LeftFootThumb3, LeftFootIndex1, LeftFootIndex2, LeftFootIndex3, LeftFootIndex4, LeftFootMiddle1, LeftFootMiddle2, LeftFootMiddle3, LeftFootMiddle4, LeftFootRing1, LeftFootRing2, LeftFootRing3, LeftFootRing4, LeftFootPinky1, LeftFootPinky2, LeftFootPinky3 and LeftFootPinky4 as shown in Image :- (6) and (7)

To end the joint creation press ENTER key on the keyboard.

Now Select one by one each joints from the Outliner and rename them as shown in Image :- (8)

In Perspective view select LeftToeBase joint SHIFT select Leftfoot joint and go to Edit menu press Parent or press P key on your Keyboard as shown in Image :- (9)

See the result in Image :- (10).

Go to page

<< 1 2 3 4 5 >>

Now for character hand I am creating extra bones for thumb see Image :- (11).

You can create hand fingers like foot fingers in different group with thumb but I like this way more. they are in this order LeftShoulder, LeftArm, LeftArmRoll, LeftForeArm, LeftForeArmRoll, LeftHand, LeftHandThumb1, LeftHandThumb2, LeftHandThumb3.

See Image :- (12) for Renaming joints in order using Outliner.

Now for fingers create joints as in this order LeftFingerBase, LeftHandMiddle1, LeftHandMiddle2, LeftHandMiddle3, LeftHandMiddle4, LeftHandIndex1, LeftHandIndex2, LeftHandIndex3, LeftHandIndex4, LeftHandRing1, LeftHandRing2, LeftHandRing3, LeftHandRing4, LeftHandPinky1, LeftHandPinky2, LeftHandPinky3 and LeftHandPinky4 see Image :- (13)

See Image :- (14) for Renaming joints in order using Outliner.

In Top view select LeftFingerBase joint SHIFT select LeftHand joint and go to Edit menu press Parent or press P key on your Keyboard as shown in Image :- (15)

See the result in Image :- (16).

Same way In front view select LeftShoulder joint SHIFT select spine2 joint and go to Edit menu press Parent or press P key on your Keyboard as shown in Image :- (17)

Go to page

<< 1 2 3 4 5 >>

Again In front view select LeftUpLeg joint SHIFT select hips joint and go to Edit menu press Parent or press P key on your Keyboard as shown in Image :- (18)

See the result in Image :- (19) and now select LeftUpLeg joint go to Skeleton | Mirror joint (Option Box). In Options set Mirror across YZ plane, In Search For Left and for replace with Right in as shown in Image :- (19) and hit Mirror the result is Right leg of character.

Same way select LeftShoulder joint in front view go to Skeleton | Mirror joint (Option Box). In Options set Mirror across YZ plane, In Search For Left and for replace with Right in as shown in Image :- (20) and hit Mirror the result is Right hand of character.

So far character Skeleton is made using joint tool we need to fix some problem for bone orientation see next section.

Orienting Joints

Joint orientation is one of the most important aspects of setting up a skeleton that will behave predictably as we used default setting, XYZ, will point the X axis of the joints down the base.

Orient joint tool is used to change the orientation of any selected joint or hierarchy.

Choose whichever axis that feel comfortable with, but be consistent.

  • In outliner, select each joint and choose Display | Component Display Local Rotation Axis to view the local rotation axis for selected joints.
  • Select joint and choose Skeleton | Orient Joint
  • In joint tools settings set the Orientation axis to YZX and check in Hierarchy attribute is set to Orient Child joints is turn on an click orient. See Image :- (21)

Notice the local rotation axis of each joint. Y axis is pointing down the bone. But check X or Z axis which way these axis are pointing.

  • The Z axis is either pointing one way or the other, depending on the angle between the joints.
  • The X axis is either have to rotate in the negative X or positive X.

We have to rotate some of the local rotation axis 180 degree on the Y axis so that all of the axes are pointing the same way.

Select entire skeleton and go into component selection mode (Press F8),in the status line enable the Miscellaneous selection type.( the Button with Question ark button) See Image :- (22)

  • Choose Window | General Editors | Script Editor to open the Script Editor.
  • In input window Wright " rotate -r -os 0 180 0 : "
  • Highlight this command and then LMB-drag to it the shelf to make a shelf button.
  • Select one of the local rotation axes and click the new shelf button. the axis should now be facing the correct direction. Use this command to correct wrong direction of the joints in the entire body.

Now our Joints (bones) are problem free let move to skinning section.

Go to page

<< 1 2 3 4 5 >>

Skinning

Skeletons provide the structure of the body, but the skin provides the appearance. Getting the mesh of the character to deform according to the position of the character's skeleton is called skinning. Most characters animated in Maya will be skinned in some form, and getting a character's mesh to deform smoothly usually takes a good knowledge of the skinning tools and how they work. Maya has two features for skinning characters, Rigid Bind and Smooth Bind. These tools work slightly differently, and each has advantages.

I used Smooth Bind for skinning characters but I explained both type of skinning so that you can use one of it for your character :-

Rigid Bind

Rigid Bind (choose Skin | Bind Skin | Rigid Bind)

breaks each part of the surface into clusters and associates each cluster with a joint. This type of binding does not allow for the weighting of vertices across multiple joints.

To compensate for the lack of weighting, Rigid Bind incorporates a number of tools called Flexors that allow for control over the joints. Flexors are attached to the joint or the bone and can be used to fine-tune the bending and creasing of a joint or to

create other effects, such as muscle bulging.

Lattice Flexors

These surround the mesh with a user-defined lattice that is centered on the joint's rotation axis. The lattice's attributes contain some predefined behaviors.

Creasing determines the amount of crease on the inside of

the bend.

Rounding determines the bulge at the "elbow" of the joint.

Length In/Out allows sliding of the skin over the joint.

Width Left/Right allows the skin in the joint area to squash

outward or inward to help preserve volume.

Sculpt Flexors

Sculpt Flexors apply a sculpt deformer and center it on the joint. Sculpt Flexors can be used to create muscle bulges based on joint angle. To do so, create a set driven key for the sculpt deformer and drive it by the angle of the joint.

Sculpt Flexors use a sculpt deformer to modify the appearance

of the skin.

Joint Cluster

Flexors

These create a cluster representing the vertices affected by the joint. This allows for

weighted deformations, and joint clusters are differentiated from regular clusters by

using the letter "J."

Joint Clusters allow for weighting, and when the Manipulator tool is used, the shape of the joint's deformation can be adjusted.

Smooth Bind

Smooth Bind (choose Skin | Bind Skin | Smooth Bind) is the second and more widely used type of skinning. It creates good results without the need for flexors and deformers to control deformation at the joints. Smooth Bind works by allowing individual vertices to be weighted across multiple joints. This allows each vertex to be controlled by multiple joints, providing a smooth transition from one joint to another. It does not allow for effects such as muscle bulges and creases, but you can add these by using standard Maya deformers.

Once the skin is bound to the skeleton using Smooth Bind, you can edit weights

using either the Component Editor or Paint Weights. The general work flow is to use

Paint Weights for the global changes and then fine-tune problem areas a vertex at a

time using the Component Editor.

Paint Weights

Painting weights is the most interactive way to adjust the weighting of a smoothly bound skin. The interface uses the standard Artisan tools to paint the weight maps.

When painting weights, the affected vertices show up as white or gray; unaffected

vertices show up black.

Component Editor

The Component Editor (choose Window →General Editors → Component Editor)

allows you to affect the weighting of each individual vertex. To use the editor, select a vertex or a group of vertices on the object, and these will show up in the Component Editor. The weights of each vertex are displayed on a per vertex basis.

Sometimes a vertex is affected by many joints. This can cause

unwanted deformations and slow performance. Choosing SkinEdit

Smooth SkinPrune Small Weights can get rid of the unwanted influences.

Mirroring or Copying Weights

Most characters are fairly symmetrical, so you can fine-tune the skin on one side of your character and simply mirror those weights to the other half. To do so, choose Skin → Edit Smooth Skin →Mirror Skin Weights. The mirror axis is specified in the tool's options. For mirroring to work, the character's pivot needs to be centered along the left/right axis of the character. Maya also offers a way to copy weights from one character to another. The weighting is copied based on the relative positions of the vertices compared to the joints. It should give a good first pass when skinning similar characters, leaving just minor cleanup. Adding full body Ik System to Character (Biped).
Now character is ready with Skeleton (joints) and skin.
Select hips joint of a character in front view go to Skeleton | Full body Ik | Add Full body IK (Option Box) in options Select Identify Joints By Name and Posture Biped (Human character). See Image :- (24) and click Add. Wait for second Let Maya do his work.

So our Character is ready with full body IK (FBIK) see image :- (25).

Create floor contacts for your character's hands and feet

We can create floor contacts for your character's hands and feet to make them collide with-rather than pass through-the floor surfaces you defined in your scene. Floor contacts allow your character's hands and feet to react to the floor by stopping and bending the wrist, ankles, toes and fingers.

  • In the scene view, select the HipsEff effector.
  • In the channel box, select hikfloorContactMarker.

Turn on Hand Contact & Feet contact the Floor. See Image :- (26) ( Turn on the Appropriate floor contacts by typing on or 1 in the Handa or feet contact fields and then press ENTER.

Or in the Attribute Editor, select the HikFloor ContactMarker tab.

In the feet to Floor contact Attributes or the Hand to floor contact Attributes section, turn on the hands or feet Contact attributes.

Now character is ready for Animation.

Fast way to Make full body IK (FBIK) Skeleton.

Use Biped Factory from www.YouNeedThisMan.com

See Image (27) and (28)

Go to page

<< 1 2 3 4 5 >>

Tip & Description

Welcome to Tip & description section of the tutorial.

Some time there is Bug that caused a character's parts to scale randomly when the joints were animated, but also of an associated fix by disconnecting the character's scale nodes from the solver. This solves the problem.

Description of each Joint Tool options:-

Degrees of Freedom:- This setting determines on which axes joints are allowed to bend X,Y or Z. for example

  • If all Three axes are checked:- we will create a ball joint that can rotate freely in any direction X,Y,Z.
  • If Two axes are checked:- we will create a Universal Joint that can Rotate on two axes only.
  • If only One axes is checked:- we will create a hinge Joint that can rotate on one axes only.

Later on it can be changed in the Attribute Editor.

Orientation :- This controls the Orientation of a chain of joints when the chain is first created. This is important if we want to twist the chain of joints on a particular axies.

  • The first axis in the Orientation text box determines the orientation of twisting.
  • Set Orientation to none to setall your joint's local axes have the orientation of the world axis.

Second Axis World Orientation :- Sets the world axis (positive or negative) orientation for the second rotation axes of all the joints you create with the Joint Tool.

For example, if you select an Orientation of xyzand a Second Axis World Orientation of -zfor a joint, then its X-axis points into the joint's bone, the Y-axis is oriented with the negative Z world axis, and the Z-axis points sideways from the joint and its bone.

Scale Compensate :-

  • Scale Compensate can prevent undesirable shearing effects that can occur after we skinned a character and then decide to scale a joint along one or two of its axes.
  • Also, it make easier to change the length of individual bones.

Auto Joint Limits :- This function auto-matically limits the joint rotation. If the joint is

created with a slight bend, this function will prevent the joint

from bending beyond 180 degrees.

For example, when you create a knee joint, if you create the joint slightly bent back, the joint will not be able to swing the lower leg bone forward of the upper leg bone, nor will it be able to wobble from side to side. The joint will not be able to rotate in any other way except through the inner angle rounded off to 180 degrees.

We can create much more detailed joint limitation by using the Attribute editor.

Create IK Handle :- This will auto-matically create a Ik chain When the joint creation is complete.

  • It is recommended that we always set up the IK chain after the joints are created.
  • We will Not Use IK Setup for our tutorial. We are using New FBIK.

IK Handle Options:- These options are available only when Create IK Handle is on.

Bone Radius Settings:- When we create joints, the radii of our joints are determined

by the length of their bones.

For example, short bones like those in the human hand generate small joints and long bones like those in the human leg generate much larger joints than those in the hand.

(i) Short bone Length :- Sets the bone length at which a bone is short.

(ii) Short Bone Radius :- Sets the bone radius of short bones. This is the minimum

bone radius.

(iii) Long bone Length :- Sets the bone length at which a bone is long.

(iv) Long bone Radius :- Sets the bone radius of long bones. This is the maximum bone radius.

Go to page

<< 1 2 3 4 5 >>

Comments Login to comment »

  • angelkehan (6 months ago):

    الشركات الربحية المجانية - ربح من الانترنت|حوادث و طرائف|ثقافة|تكنولوجيا|الصحة و الطب|فن رقص اغاني|افلام رقص|earn money|work at home|get paid - get paid to click|الربح من جوجل|تعلم الربح - تعليم الربح|عمل في المنزل|الشركات دفع للضغط ودفع لقراءة |المنوعات|المطبخ|الرياضة|عالم الفن