Sunday, January 20, 2013

Rigging Quadrupeds in 3ds Max

Hello everyone, I am already starting on my next assignment: "Rigging Quadrupeds in 3ds Max"!  Once again I want to say thanks for Digital Tutors for letting me use their 3D Models and for their helpful lessons.  In this set of tutorials Delano (Digital Tutors' Professional Instructor) will be teaching me how to rig a horse.  But after I learn how to rig the horse I will start to rig this! --->



<--- Last semester I modeled this for my Team Game Production class and have been wanting it to be rigged ever since then.

Okay, first things first we had to use the line tool in the create menu.  Once we had created a line that was from the thorax to the pelvis we enabled the vertices.  Finally we turn the spline into an editable spline.

Alright after we created an editable spline we went ahead and created helpers to connect to our vertices.  Here is a video showing how I did it.


In the next lesson we created bones for the vertebrae editable spline.  After we created the correct amount we attached the bones to the helpers and renamed the bones according to their helper.  Here is a video showing the vertebrae bones attach to the spline and where you can create bones.


The next video went over how to orient vertebrae bones along the spline.  It may seem like a complicated process, but once you have done it a couple times you can start to remember how to set it up correctly.  After the video was over my bones followed the direction of the spline when it bended and you could grab the cross helpers and move them from side to side to get some nice twisting deformations.  Here is a video show the process and result.


The next tutorial went over creating control objects for our vertebrae.  You can use any shape you want to as a control object, but for this tutorial we used a circle.  Here is an example video showing a possible control object.


The following tutorial went over creating global controls to move the rig as a whole by linking them.  Again all we used we the circle shape and the line tool to create these objects.  This video shows an example of this.


The next video went over connecting parts of the rig to the animation controls. We used the "Skin" modifier and the "Weight Table" tool. The weight table tool was interesting in that you can put in varying levels of control (in the form percentage) over portions of your bones so that you can get smoother deformations. Here is an example of two of the control objects finally controling the rig.


Next we went over a way to also have control of the middle of the vertebrae.  We copied the spline that was already connected to the bones, helpers, etc.  Then we used the Morpher modifier to connect them together.  In order to have the other control objects working too you also have to switch the order of the Skin modifier and the Morpher.  Here's an example.


In the next part we finished the middle vertebrae control.  There are a lot more things to rigging than I thought before.  As always, I seem to have a new appreciation of the gamut of 3D modeling tools and applications.  Here is a video showing that with Helpers (I used the vertex toggle snap) and attached them to both ends and the middle (label them!), the Weight Table, and the Parameter Wire Dialog I was able to connect everything required to make the center control work.


In the following tutorial we went over starting the vertebrae twish control.  In order to connect everything properly we had to disconnect the controls and disconnect the middle vertebrae control from the clone vertebrae spline.  Once we had reset all the transform arrows in the same direction then we reconnected everything again and freezed the transforms.  Look at this next video to see this.


The next tutorial was a bit more subjective since the correct rotation axis really depends on the model and where you want your rig to twist.  However, I know that if you want to change the rotation axis you go to the motion panel/rotation/axis order and then change it to the axis you want it to twist in.  In order to get the middle helpers rotation axis correctly you have to go to the rotation axis you want under the Assign Controller menu (still in the motion panel)/assign controller/> float expression/ and then connect it to the thorax and pelvis.  It was pretty confusing and I still don't completely understand it.  But here is a video showing the middle helper moving correctly with the thorax and pelvis controls.


Progress on this project has temporarily been stopped because all my connections (parent/child relationship) were lost when the newest version of 3ds Max was downloaded onto our computers here in the Mac Lab.  I will work on it again as soon as the problem is fixed.





Saturday, January 12, 2013

Introduction to Rigging Using Maya 2

Hello again!  I am now moving on to the next tutorial, "Introduction to Rigging in Maya".  I would like to say that Digital Tutors gets all the credit for the test models that I was able to use and the excellent lessons.  Digital Tutors has a wide variety of subjects and though it can be a bit expensive ($45 a month), it can be a valuable 3D library for you if you want to make 3D a profession.

So far we have gone over some of the same things we went over in the last course like parenting, changing pivot points, creating joints, etc.  I will try to not repeat it all over again in this blog post.  I would like to say that I found out that you can also move the pivot point of your object in Maya by holding down the "d" key.

This video shows a simple joint rig parented to a character's head.


The next video went over the Joint Tool settings and different ways a IK Handle can bend.  Here is a video showing examples.


During the next part of the tutorial we learned how to limit IK Handles to prevent IK locking.  Here is a video showing where the option is located.


I struggled hugely with lesson 8.  I re-watched the video 4-5 times and I followed the instructors instructions, but I just couldn't seem to get the joints connected correctly to the IK Handle.  The lesson was trying to show how you could disconnect the joints of a joint chain so that you could control and bend parts of the leg rig independently.  In the end I still couldn't get the disconnected joints to work (I've worked on it for over 2-3 hours) so I am moving on to the next lesson.


Luckily the next video was much less frustrating, haha.  If there is a joint in your rig that you find doesn't serve a purpose anymore you can get rid of it by clicking on "Skeleton/Remove Joint".



Next we learned about connecting constraints and control objects to the joints of the rig.  Here is a video showing their connection.

 
In the next video Delano showed the effectiveness of an IK Spline Handle Tool.  I followed along and just made a quick video to show you what it does.


 Clusters were next!  Clusters are actually pretty cool little tools that you can set up for controlling parts of your rig.  To create a cluster select an object(s) you want to cluster and then go to "Create/Cluster".  Here is another video showing what they can do and where they are located.


The next tutorial just showed some tricks you can use to blend IK and FK handles for animation purposes.


In the following tutorial we looked at how to effectively group objects and what some of the grouping tools did.


After that we went over how to use point constraints to lock down an object(s) translate channels.


The following lesson continued with learning about constraints, but this time dealt with the "orient constraint".  Orient constraints just lock down the rotation that you want a specific object(s) to possess.


The next lesson went over different ways to use the "Parent Constraint".  With the parent constraint you can lock down both the translation and rotation constraints to an object(s).  Delano also showed some uses of it for animation.


The following lesson went over some of the uses of the "Aim Constraint".  The aim constraint, as the name implies, can be put on a control object to move a piece of your model in a specific direction.  Delano was using the example of using the aim constraint to control the direction his female android's eyes looked.


The robotic leg in the next lesson was insanely cool!  I kept thinking about Iron Man, haha.  The lesson went over using a simple object such as a box and then using the CV Curve tool to create a wire frame control object.  He also showed how to change its color and a couple of its attributes.


Here is a video showing how the control object was able to control the rig after parented to the angle joint.


The next couple tutorials went over the usefulness of Adding Attributes and working with the node editor.  I tried to follow along the best I could, but when I was trying to connect everything via the connection editor it wasn't allowing linking them up properly.  Hopefully I will learn more about them in the future.



Once again the connection editor was used along with the add attribute option.  We made a custom rotation menu for the sword so that it would save an animator time.  I can definitely see now the importance of the connection editor.


Next lesson we went over Set Driven Keys, and they have some really cool functionality.  You can create a custom animation and make it into an option on your object so that you can add the animation into your timeline, whenever you wanted to.


Delano went over some of the capabilities of the Lattice Tool.  We used a shark to experiment.

 
Here is a video showing what Lattices can do once applied to an object and how changing the some of the attributes can affect the deformations.


If you accidentally remove your object from the lattice box and moving the lattice points aren't deforming the object's mesh anymore you can either do two things.   Either bring the object back into the lattice box or go to the "Lattice" tool's option and select "transform all points" in the "Outside lattice" menu set.

In the next video we briefly went over binding your mesh to your joints/skeletons using the "Smooth Bind" option.  Here is just an example of an option set that might work for you as you try to bind your object to your joints.


If you want to reposition your joints after you have skinned them to your model you can always go to  "Skin/Edit Smooth Skin/Move Skinned Joints Tool" and move it to a more desirable position.


The next lesson went over briefly some of the uses of the Component Editor and how to paint weights to accurately move your mesh with your joints.



In the following video the "Weight Hammer Tool" was addressed.  The Weight Hammer Tool averaged the weight on any vertices selected and created a more desirable bend on your selected mesh.


In the next tutorial it was mentioned that sometimes after you parent the model, rig, and node to each other double transformations can occur.  Turning your locked down rig into a group was able to prevent it from happening.  Here is a video showing an example.


Delano next showed how to create influence objects to effect the mesh.  Parenting the influence object (can be anything: cube, sphere, etc.) to a joint you can then select the mesh and paint the weights onto the mesh using the "Paint Skin Weights Tool".  This will dictate how much the control object effects the mesh.  You can also add a jiggle deformer to an the influence object using the "Jiggle Deformer" tool.  Here is a video showing the effects of both.


Sometimes you can properly paint weights on one side of you object, but the other side hasn't been painted yet.  Instead of having to try to duplicate painting the weights all over again on the other side you can always use the "Mirror Skin Weights" tool.  Here is a video showing an example of this.


The next video went over using the "Rigid Bind Tool" and how it can effect your mesh.  Here is a video showing the effects of the tool.


In the next set of tutorials Delano showed some of the advantages of using the "Edit Membership Tool" and the "Paint Set Membership Tool".  Both tools can be used to control points of influence once the "Rigid Bind Tool" is used.  This video shows the results of effective painting on a mesh.


If you want to modify your object without harming the rigid body that was attach to your object you can always "Detach Skeleton" to make changes and then "Reattach Skeleton" to set your rigid body back in place.


In the next lesson we learn about "flexors" and how to use them.  Flexors can be used to smooth out the  animations of your rigid bind-ed object.  Here is a video showing a successful use of flexors.


After the lesson on flexors we moved on to learning about the "Substitute Geometry" tool.  With this tool you are able to take one rigged object and swap it with another object while still keeping the rig.  Here is a video showing an example of this.


The next lesson went over the use of the "Blend Shape Deformer".  The blend shape deformer is really cool.  You can create copies of an object and then deform them slightly and then use the the "Blend Shape Deformer" to create multiple options on your original object.  In this way you can deform the object at will whenever you want.  Take a look at this video to see what I mean.


The following lesson had the same object to work with, but showed how "input order" can effect your object.  In this example turning on the smirk made it so that the control object controlling the head only affected the cyber head piece behind it.  I found out that sometimes changing the order of inputs can fix this problem.  This video shows how to do this.


We went still further into modifying blend shapes in the next lesson.  You can have multiple blend shape deformers attached to one object.  You can also paint weights to effect how your blend shapes act.  Here is a video show such examples.


In the last lesson we went over how to create a custom shelf using multiple tools in Maya.  This seems like it could be very useful for future projects where you use a lot the same tools more than once.  Here is a video showing that I added a tool (Joint Tool using "Command + Shift + Clicking on a tool"), added a script that selects all the animation control objects, and made a hotkey (control + alt + q + hold down left click and release on option) to also select all of the animation control objects.  Here is one more video showing everything working properly.


In these set of lessons I learned a lot more about the rigging tools that Maya boasts of and about many of the options in Maya's animation menu that I had not previously known about.  If anyone has been following along, I hope that some of these videos might have been helpful to you (even if I wasn't talking and explaining how to do everything).  Peace!  (Until next post of course ;] ).




Thursday, January 10, 2013

Introduction to Rigging Using Maya

Hello everyone, this semester starts 3D Modeling and Animation 2.  It will be focused on rigging, advanced modeling, and greater rendering techniques.  This post is briefly going over the content of Digital Tutors' "Beginner's Guide to Rigging in Maya."

First thing Delano showed us how to do was to correctly establish parent/child relationships.  You can make an object a parent by first clicking one object (your child), shift clicking another object (your parent), and pressing the "p" key.


Then we needed to learn about correctly placing your pivot point in your object.  To move your pivot point you simply have to press "insert" on a regular key board and "fn + right arrow key" on a mac keyboard.  Press "W" to move it wherever you'd like.  Press the pivot key again after you are finished placing it to get out out pivot mode.  This is what it looks like correctly pivoted.

 

If you want to group all your pieces together select the objects you want to group and press "g".

Next we need to add joints in the robotic arms.  Select the "animation" menu in Maya, then click on the "Skeleton" option in the top menu and click on "Joint Tool".  It is easier to build the joints in the top view (or front view depending on the rig).  Click to create a joint and then click and drag to where you want the next joint to be.  When you are finished creating joints press "enter" on your keyboard.


After you have created the joints you will need to parent the object to the joints.  Click on the object first and then "shift" click the joint it corresponds with.  Once you have parented the object to the joints this is what it should look/move like.


Next the we went over IK Handles.  The instructor explained first that FK (or Forward Kinematics) is just rotating an object's existing joint.  You can find the "IK Handle Tool" under "Skeleton" in your animation menu.  IK stands for Inverse Kinematics.  You place two points on either end of where you want your object to bend.  You will want to click on the "IK Handle Tool"'s box to change the "Current solver" to ikRPsolver (RP = rotating plane).  Once you place your two points, your object should move similar to this arm.


If you want your hand's position to stay locked, simply click on you IK Handle and press "control + a".  You can then scroll down to "IK Handle Attributes" and turn the "Stickiness" to "sticky".  Now watch what happens.


You can now grab the other side of the object and the hand will stay put.

Next we created control objects.  For this tutorial the instructor used a "nurbs circle".  When you create the nurbs circle make sure that the move tool is activated.  Click in the center box of all the move arrows and then hold down the "v" key.  If you hold "v" and middle mouse click you can snap the nurbs circle to the IK Handle.

Next freeze your transforms and delete you history, this makes everything cleaner.  Click on your nurbs circle and shift select your IK Handle and then go up to the animation menu and select "Constrain/Point".  This will give your nurbs circle control of moving and freeze the transforms of your IK Handle.  Then click on your nurbs circle again and shift click your hand and select "Constrain/Orient(options)/Maintain offset".  This is how the rig now acts when using the nurbs circle as a control object.

 
In the next part of the tutorial series Delano started with a different already rigged arm.


The main point, the lesson was trying to make, was how to attach an object to its joints so that rotating a joint would smoothly rotate and deform your object.  Here is a video showing how to skin the arm to the joints.


When you bend your arm joints at the elbow some of the geometry caves in.  So to counteract that you have to paint weights on the object.  Here is a video showing how you can edit your skin and how painting weights can help an object move more naturally.


The last video was just a recap of what we learned following these lessons and the potential that rigging can have on an object.  I finished the course, yay!