To begin, I started creating the joints for the character rig by clicking on the skeleton menu and selecting the joint tool, and in the side view port I added the leg joints in simply by clicking, named them accordingly using the outliner. I then mirrored them by selecting skeleton menu and clicking mirror joint, one of the important thing I noticed was in the search for box you could replace L_ with R_ so I didn't need to rename them. I did this with the arms too. However I first created the spine and after everything was placed I parented the legs to the spine and the arms to the clavicle, connected it all to the root, and finally the fingers to the hand.
Now the next task was important I needed all my local rotation axes to be facing the correct way, to do this I selected component type and then miscellaneous objects which allowed me to check and alter the rotation of any that were facing the wrong way.
Now with all the joints complete the Spine/Arm IK handles were my next task so I could start create the skeleton that is needed for the rig. Firstly I created an IK spline handle going from the root to the top of the spine. I then added an IK handle between the clavicle and the arm, and then from the arm to the wrist. The arm area is where I found most of my problems and after trying several methods I just couldn't understand what I was doing wrong, the arm didn't react correctly when bending it. In the end I moved on and tried to complete the rest of the rig, I added IK handles between the neck and the head, and the head and the skull.
With that now done I created clusters on the spine by selecting the curve and selected create deformers, clusters options box. After naming them accordingly I moved them slightly backwards so they were move visible and moved the pivot points snapping it to the centre of the joints.
The leg controls/ IK handles were the easiest to understand for me, I firstly applied Ik handles from the thigh to the heel, the heel to the ball of the foot, and the ball to the toe. I then added them into their own groups and set the group pivot points to the centre of the joints for example ankle grp is snapped to the ankle joint pivot. I then constrained the controller to the ankle group using point and orient constraints allowing the legs to move and be rotated, I then added attributes to the foot controllers, setting ball lift and toe lift with limits between -10 and 10. Then using set driven keys I applied the ball lift attributes to be driven by the ball lift group, and same with the toe. By changing the ball lift attribute settings I could rotate the rig to give it a ball lift when the user inputs a number.
The spinal controls were next and were surprisingly quite simple to understand, firstly I added in the controllers for the hip, hip shake, abs, chest, back and head, snapping them to the pivots of the joints, the for the back controller I used CV curve to create the two sided arrow and of course deleted history and freeze transformation as always. I then selected each controller and the cluster and applied point constraints to each one, I oriented constrained the head and the chest allowing them to be rotated, with the chest I selected connection editor and in the outputs I loaded chest control and inputs I loaded the spine IK handle selected rotateY to twist, this allowed a move realistic movement of the spine. I then decided to create a layer to hide the clusters because I didn't want them to show all the time.
I found the hand controls to be the most difficult in the whole character rigging process, I couldn't quite complete the right hard due to the errors I kept getting, I just couldn't find a solution, I kept restarting the process however I managed to get the left hand working fine, and managed to add finger controls to both hands.
Firstly I added some circle curves as controllers for the Arm, Elbow, Wrist and Hand and places them accordingly snapping them to the pivot of the joints. I then added orient constraint to them allowing the user to move them around.
For the wrist controller I added attributes allowing the user to change the fingers and thumb rotation, if they wanted to hold an item. I set minimum and maximum values so the user has a realistic limit and using the set driven keys commands I was able to create driven keys that allow the fingers to bend inwards outwards slightly.
The Global control allows you to scale, move, simply alter the rig in case you need it to be smaller or moved into a different spot, to create a controller I created a circle curve and altered the shape using its vertices. I then placed it directly under the rig making sure it's big enough to be noticed as a main control. I then grouped all my joints, Ik handles and Controllers in to their separate groups respectively. I then applied a scale and parent constrain to the global control and grp_All allowing the user to change the size of the rig.
Finally Skinning, skinning is the process of when you apply the rig you have created with the 3d mesh you want it to affect. When bonded together you can move any controllers you have made and the mesh will move accordingly. This process is the final part to rigging when everything is complete, all the bones, IK handles, controllers etc are all in place and finished.
To bind the mesh firstly select the rig, then select the mesh and press the skin tab, select bind skin and select smooth bind, now moving any controllers around will change the way the mesh looks. Now if the character mesh does not look quite right when moving it around and trying out poses then it's time to adjust the skin weights. Skin weights affect which parts of the mesh are affected when moving the rig around for example if you move the leg up it should affect the leg and not the upper body.
Selecting the mesh and clicking the skin tab, then edit smooth skin, and select paint skin weight tool options box will open up some settings. Here you can select each joint, which should be named correctly or it will look very confusing, and the white patch around that joint shows that it is influenced by that area of the rig, so the white represents areas that cannot be moved while the black areas represent areas that can be moved freely.
Friday, 21 December 2012
Vehicle Rig
Firstly I needed to prepare my model, by using proper naming conventions, deleting history, freezing transformations, centring the pivot, having the 3d model on the grid and making sure it's facing the front, the outliner should look clean and ready to use too.
I then created the steering controls for the front of the car, for this control I created a double sided arrow to resemble that it is meant for steering. After placing it in front of the car I named it accordingly, froze it and deleted history.
I created a group for the wheels and a group for the car body. Now the wheels are separate from the body I can rig them. The first thing I did was move the pivot point by pressing insert and moving it to the "axle". I then added a constraint with the steering control and the front two wheels allowing it to be turned using the orient constraint.
Next I added the mini suspensions that are on the wheels using the steering controller and renamed it front controller and created a back controller too for the back wheel suspensions. I added a limit to the point constraint so the suspension isn't too unrealistic and keeps a good balance on the rig. the animator can move the back and front controllers up and down to see this effect in motion, and remember the front controller can also steer.
For the wheel spin I decided to create a large car shaped controller that controls all 4 wheels where the animator can simply move it on the Z axis and the wheels will rotate. I used an expression to achieve this which was "groupname.rotateZ=-floor.translateX*(2*3.14)*360;" The final controller I created was the car body roll, this is the main suspension and instead of doing it the complicated way I tried a more simplified method, firstly I created a 4 way arrow controller using CV curve tool and placed it above the car, remembering to delete history and freeze transformations. I then selected this and the car body and added an orient constraints with a very small limit so the suspension isn't too unrealistic to create a main suspension effect. So the animator can move it whichever side they wish front/back/side to side.
For the final touches I rigged the car so the doors can be opened by selecting the moveable door groups in the outliner and you will notice the rotate Y is highlighted red, when rotating the door group the door will open like it should, I moved the pivot point to the front to allow this motion to happen.
I also rigged the window wipers so they can move moved, by selecting their group in the outliner and entering a number in the highlighted Y and Z in the channel box such as -30 for the left and right wiper. To create this I made a new group (ctrl G) and place all the items in there and change the pivot point to allow for a realistic rotation motion for the wipers to become movable and good for animation.
If I had more time I would have liked to have done the lights, turning them on and off and also made the windows move up and down, and made it so the boot and front bonnet could open up.
Next I added the mini suspensions that are on the wheels using the steering controller and renamed it front controller and created a back controller too for the back wheel suspensions. I added a limit to the point constraint so the suspension isn't too unrealistic and keeps a good balance on the rig. the animator can move the back and front controllers up and down to see this effect in motion, and remember the front controller can also steer.
For the wheel spin I decided to create a large car shaped controller that controls all 4 wheels where the animator can simply move it on the Z axis and the wheels will rotate. I used an expression to achieve this which was "groupname.rotateZ=-floor.translateX*(2*3.14)*360;" The final controller I created was the car body roll, this is the main suspension and instead of doing it the complicated way I tried a more simplified method, firstly I created a 4 way arrow controller using CV curve tool and placed it above the car, remembering to delete history and freeze transformations. I then selected this and the car body and added an orient constraints with a very small limit so the suspension isn't too unrealistic to create a main suspension effect. So the animator can move it whichever side they wish front/back/side to side.
For the final touches I rigged the car so the doors can be opened by selecting the moveable door groups in the outliner and you will notice the rotate Y is highlighted red, when rotating the door group the door will open like it should, I moved the pivot point to the front to allow this motion to happen.
I also rigged the window wipers so they can move moved, by selecting their group in the outliner and entering a number in the highlighted Y and Z in the channel box such as -30 for the left and right wiper. To create this I made a new group (ctrl G) and place all the items in there and change the pivot point to allow for a realistic rotation motion for the wipers to become movable and good for animation.
If I had more time I would have liked to have done the lights, turning them on and off and also made the windows move up and down, and made it so the boot and front bonnet could open up.
Rigging tasks
What is rigging?
Rigging is basically about building a machine that controls the mesh, the animator would not be able to animate without riggers so it is an important job. It is all done in an 3D application such has Maya and it's all based on building the joints, the skeleton, then adding controllers to control the rig easier and applying it to a mesh.
To parent objects go to Edit, Parent, make sure you have shift selected the child and the parent in this case the two spheres. Now when you move the parent the child should follow, here I have rotated it. This is good when working with arms or legs, the upper arm being the parent and the lower arm/hand being the child of it, allowing you to make realistic movements.
Groups are very useful for cleaning up assets and putting them in their own groups, some parts might need rigging and some might not, and it is important to be organized. Not only that each group has a unique pivot point which can be very helpful when dealing with a assets that should be grouped such as wheels or controllers, most importantly name them appropriately. To move a pivot point press insert on the keyboard, and move it where you want.
Here are five joints that make up a leg and foot, to add them make sure the animation menu is active, go to skeleton and select the joint tool and using the side view click on the viewport to add each one. Joints are also known as bones and make up a character rig, each joint has its own pivot point and can be used to move the character around, an alternative way is to use the attributes editor.
Controllers are very useful because they allow you to move the character or prop without actually touching the asset. To create one go to Create, EP Curve Tool, and make sure linear is enabled by selecting the box next to it to open up its options. Now it is best to use the top viewport when creating this, the scale doesn't have to be perfect you modify it after. Once created and placed it where you want, freeze transformations, delete history and centre pivot and name it appropriately.
Constraints allow you to make certain movements when using a controller for parts of the body, for example the foot controller for the foot. Select the controller you want to use, then select what you want it to control, it can be a group such as the ankle group, when both are selected go to Constrain. Here I enabled point constraints which are for translations, and orient constraint for rotation. Make sure maintain offset is on for both.
Rigging is basically about building a machine that controls the mesh, the animator would not be able to animate without riggers so it is an important job. It is all done in an 3D application such has Maya and it's all based on building the joints, the skeleton, then adding controllers to control the rig easier and applying it to a mesh.
To parent objects go to Edit, Parent, make sure you have shift selected the child and the parent in this case the two spheres. Now when you move the parent the child should follow, here I have rotated it. This is good when working with arms or legs, the upper arm being the parent and the lower arm/hand being the child of it, allowing you to make realistic movements.
Groups are very useful for cleaning up assets and putting them in their own groups, some parts might need rigging and some might not, and it is important to be organized. Not only that each group has a unique pivot point which can be very helpful when dealing with a assets that should be grouped such as wheels or controllers, most importantly name them appropriately. To move a pivot point press insert on the keyboard, and move it where you want.
Here are five joints that make up a leg and foot, to add them make sure the animation menu is active, go to skeleton and select the joint tool and using the side view click on the viewport to add each one. Joints are also known as bones and make up a character rig, each joint has its own pivot point and can be used to move the character around, an alternative way is to use the attributes editor.
Controllers are very useful because they allow you to move the character or prop without actually touching the asset. To create one go to Create, EP Curve Tool, and make sure linear is enabled by selecting the box next to it to open up its options. Now it is best to use the top viewport when creating this, the scale doesn't have to be perfect you modify it after. Once created and placed it where you want, freeze transformations, delete history and centre pivot and name it appropriately.
Constraints allow you to make certain movements when using a controller for parts of the body, for example the foot controller for the foot. Select the controller you want to use, then select what you want it to control, it can be a group such as the ankle group, when both are selected go to Constrain. Here I enabled point constraints which are for translations, and orient constraint for rotation. Make sure maintain offset is on for both.
Key points you should know are make sure everything is correctly laid out and clear or else you will risk not knowing what a group or joint or controller is for, you should always keep track of everything you create by naming everything. This makes life easier for you and the animator, also delete history fairly often, this can help process speed fast without any crashing and could stop any errors you are having. Remember to freeze transformations on all controllers when in place, this way if one is slightly out of position you can set it back to 0 and you know it's where it should be. And finally make sure the rig is the correct scale to the mesh you have, you don't want to rig an entire character and find out the legs are too tall or the hands are too long.
Subscribe to:
Posts (Atom)
















