Wednesday, 29 January 2014

Been really busy lately~ V2.0

Been really busy lately V2.0

Yeap, that kind of explains everything, I have been trying to find time to make the video on the Part 4 of the dynamic hair tutorial. However, I have been assigned (pre assigned but now the animation is done, I have to do the effects), more work to do. That left me little time to rest and to do the video and even update the blog.

At the same time, I have to prepare the materials that are going to be used in the Singapore Polytechnic's Graduation showcase. I linked my bio on the website to this blog, and most probably going to link it on my name card too. I have to prepare my demoreel too, so watch out for that.

Well, I have to get back to work now, this post looks like a quickie post, but I cannot help it, it is the truth.

BACK TO WORK!!

Monday, 13 January 2014

Been really busy lately~

OK, first and foremost, I like to apologise for those of you who are awaiting on my 4th part of the dynamic hair tutorial (whoever is out there~), I have been really busy lately.

Busy with what you ask, well, I have been busy in updating the blog's pictures; mainly the pictures on the tutorials. Since I seem to be having a lot of images now, I thought of organising them in my storage device. It started out as a very messy process since all the images are everywhere. I had also renamed the pictures for a better tracking of them and organisation. I changed the tutorial files' names too and created an icon for the download.

Also, it seems as if i went crazy with my watermark, putting them in almost all the pictures in my recent tutorial. I thought it was a good idea to stamp it with my mark, like a signature. I took the blue from the blog itself and made the designs of the icons and signature myself.

Ah! At the same time, if you are a faithful follower of my blog (or if you are new), I would like to say that my blog is intended for desktop/laptop usage on the web browser and not intended to be used on phones. I did not setup the mobile version of the blog since the images are sometimes quite big and it is meant to be like that because sometimes the words are very small and there are a lot of them (example: outliner)

That is all for today, and yes, I am still working on the Part 4 of the tutorial, stay tuned if you are following me.

Tuesday, 7 January 2014

Oreintating Controls Using a Group

I talked about orientating controls in my Dynamic Hair Tutorial Part 4, I did not want to clog up the hair tutorial about other rigging things that I do. I figured I start another post talking about it, maybe I will be linking other tutorials here also.

In this tutorial (I would not really consider it a tutorial, more like a share session), I will be talking about how I orientate controllers (NURBS Curves) to joints/a joint chain; using groups above it and leaving the channels of the controllers empty.

First 3 things to understand, more like 3 situations to understand:


1st situation (top): Curve Oriented
Yay! You got it to point the correct way and the manipulator is pointing the correct way, however, there are values on the channels, which is not animator friendly when they want to animate. Animators would want all the channels to be clean and all to be zeroed out (except for scales).

2nd situation (middle): Freeze Transform
You try to salvage the situation by freeze transforming and killing the values in the channels. Although you killed the values, you have reset the manipulator to its parent (in this case it is the world)

3rd situation (bottom): Group It (new setup)
Since you made a group for the controller, meaning the group is the parent of the controller. At the same time, nothing is done to the rotation of the controller, meaning it will inherit the rotation (not values) from the parent group. In conclusion, you have got the controller to be pointing the correct way but at the same time you leave the channels values empty; best of both worlds.

Next section: I will be showing how I orientate the controllers to a simple rigged mesh and joint chain.

This is a simple FK arm I made up in a few minutes with the mesh following the chain.


Step 1: Create controllers (NURBS Curves) and place them on the place you want the controls to rotate about. In this case, I would put the controls on the same location as the joints. 

Step 2: Group each controller under a group and center pivot (or you can move the pivot of the group to set it the same as the controller).




I cannot show you that I have changed the pivot of the groups, but they are center pivoted.
(meaning same pivot as the controller that it holds.
I turned on the visibility of the local axis of the controllers so you know where are they facing.
Step 3: Either A or B, step A will require building another joint chain above the existing one, for deconstruction (so that you do not mess with the original skinned joints) while step B requires unparenting of the joints.

 Step 3A: Make a joint chain above the original (same position of joints) and orient joints for that, they should be in the same orientation as the skinned joints.
 
Step 3B: Unparent the joints from their parents as shown and note their rotational values in the attributes tab.


Step 4: Note down the joints orient (either the original skinned joint or the specially created duplicate).


Step 5: Copy the values of the joint orients to the group channel.

Values in the groups and no values in the controllers.
 Step 6: Parent the groups to the controls, the controls control the groups which control the control.

I think it is better if there is an image here:


The rest is just orient constraining the controls to the joints and that is all.


In conclusion, your controls will be pointing in the same exact direction as the joints. This works well for FK since the controls will rotate in their local axis transferring the same values to the joints, meaning no mixed values from axis (eg. x and y axis of the controller affecting the x axis of the joint)

I provided a file here if you need it for reference:

https://www.dropbox.com/s/0b6ew7ngl9xipz0/Tut0201.ma

I find this method very useful to orientate controllers in a rig, I do encourage your thoughts and opinions and if you have any critics, I'd be open to it, thank you for your audience and have a nice day.

All materials used were with the intention of education, please credit if you linked it here.