Saturday, 16 May 2009

Oinkfrog Eye Controllers

Continuing the work on the Oinkfrog's eyes, I quickly created some new controllers with the L for local and W for world. These are now the parents for the locators I has used until now and are not only nicer to select but convey the meaning for their function. A bit of reorganising of parenting and the local one now follows the head around and the world one is pretty independant.

The ability for local vs world control was until now on the left eye look control, so I created new attributes for these new controllers which could both set this value. This was more complex than it seemed though as it (perhaps sensibly) doesnt allow circular attribute referencing. So I have made the master control for the Local/World control on the World controller. The Local controller gives some feedback on its level of control via its attribute as well which helps. Linking in the original attribute means it is all linked in and working like a charm from World.

These are the commands I used, in case they are helpful:
connectAttr Eyes_HANDLE_World.World Eyes_HANDLE_Local.World;
connectAttr Eyes_HANDLE_World.World Look_L.Local_World;

Lastly I setup a simple aim constraint for the two controllers so they stay pointing at his nose which makes them seem much better integrated with the rig and nicer to use.

Friday, 15 May 2009

Oinkfrog gets groovy pupils

One of the elements that came through in the concept sketches for the Oinkfrog Maya model was the idea that he could have ring pupils rather than the simpler solid colour he had 'til now. After creating the bled shape versions of the pupils, I decided to try and achieve this with a shader instead. The U-Ramp shader seemed like a sane choice as it comes up in tutes for cartoon eye creation. The trick was to animate the location of the ramp division.

Starting with a test, I created the material with the ramp shader. Alas the ramp's colour positions arent presented through the expression editor, so this site gave me the code base I needed. After getting the test to work, I duplicated up the shading network for the test shader I removed the link to the test attribute. I added an attribute to both the look controllers (min 0, max 1, default 1) and then ran these two commands to link things together.

connectAttr Look_L.dilate ramp_pL.colorEntryList[0].position;
connectAttr Look_R.dilate ramp_pR.colorEntryList[0].position;

It took some experimenting to get the right array value and other bits, but all is well and I like the effect.

Thursday, 14 May 2009

Oinkfrog rig gets pupil blends

Diving into the Oinkfrog rig, I set about creating two main blends for his pupils. Being a nice cartoony character, he can change the shape of his pupils to reflect emotions and thoughts. I already added scaling for the pupil, this time it was shapes via blends.

First pass I duplicated the pupils and altered the control vertices to create the two main shapes for each pupil (love hearts and angry). I added the blends and things looked good at first - but the rotations of the blended pupils was as if the nice lattice deformer over the whole eye wasnt applying. I experimented with the order of the inputs, but that didnt help either it would either cut in as the eye rotated or it would pop inside.
So I undid all of that and went to the inputs for the pupil (right-click - inputs - all inputs) and set the lattice to 'no effect'. This looke like a step backwards, but my plan was to setup the blend in this config then re-apply the lattice. So I duplicated 2 copies of each pupil in this state and again edited the control verices to create a heart and a frowny pupil. I then setup the 2 blend sets. I then moved these blends to be below their respective lattices in the inputs and turned the lattices back on again (normal).

Hey presto - it all worked like a charm. The blended eyes now not only move properly with the eye, but the scale/size attribute works for them as well. The shapes could have been a little more refined, but these ones work with the nurbs spheres I have and dont fall into the eyeball much.

I am pretty happy with this actually, now onto another task in the list.

Twitter humans

I am still strangely enthralled by the whole Twitter thing. I am still not sure at all why it is appealing, but there is a definite lure in the way the whole thing works.

Here are the people I am most enjoying following thus far:
There are more of course - but these I like seeing most as the updates come up atm.

Jennifer Maestre Art

Couldnt resist a post here on some groovy art using arrays of pencils and nails to create great organic works that look like undersea creatures. There is nothing remotely digital about the works, though I cant help but think that the extrapolation of the idea could see much larger and more complex versions created through the inclusion of digitally generative software. Her pieces are truly lovely as they are though - check out Jennifer Maestre's site for more.

Here is a sneak preview:

[Jennifer Maestre art pieces via her website]

Wednesday, 13 May 2009

Oinkfrog TODOnew

I have re-evaluated the next steps for the Oinkfrog Maya model and rig - and will target these things next:
  • Eyes: Create blend shapes for his pupils (heart, happy, sad, confused).
  • Eyes: Create material for pupil that allows for a ring pupil rather than the solid disk.
  • Eyes: Create material for the 'whites' that can allow for red at the edges.
  • Eyes: Add text to the main handles for the linked controllers - have them logical.
  • Eyes: Add attribute to rotate the eyelids in two planes.
  • Skin: De-skin body and fix arm local axes.
  • Skin: Re-skin main body with extra work on mouth and teeth.
  • Texture: Refine texture image - nicer seams and colour transitions.
  • Tail: build curl.
  • Tail: build driven keys for leftrightupdownetc.
  • Feet: flipper IKs perhaps - need some controls.
  • Feet: driver for when hips go past ankle IK.
  • Arms - stretchable (IK/FK switcher check).
  • Elbows/Knees: extra bone to hold the ball together.
  • Hands: drivers for fingers - control each finger with single controller.
  • Hands: blends for flatter pads.
  • Mouth: blend to control lips.
  • Mouth: blend to do wrinkles at head junction.
  • Mouth: drivers for the main expressions.
  • Mouth: lip blends to give some expressions despite the wide mouth.
  • Mouth: blends for small open closures - maybe he can almost mumble then.
  • Nostrils: blends to alter position in nose.
  • Interface: Build sliders and helpers.
  • Limits: set all locked elements and limits on translations etc.
With the bulk of these in place I can do a suite of animation tests to see if he can do the sort of things that an Oinkfrog should be able to do. Then based on that I will tackle the final set of refinements and enhancements.

Monday, 11 May 2009

Oinkfrog Eyes and Brows

Tonight I added a suite of blend shapes for each eyebrow that now let him have a nicer set of expressions. His eyes at the moment are kinda glued in this rather dramatic gigantic state and so to get some emotions to show through, the eyebrows are even more important. The combination of the blends and the two bone rotations seems to be working:

I did a little work on the materials as well - he is looking more sprightly now. I then added another attribute to the eyes which controls the pupil size this time. Now that this is working I might venture to add some more...

Surreal CGS Winners

The recent CGSociety Surreal art competition produced some fascinating pieces as we would expect. I would love to find a way to dedicate time to entering such things myself.

[Image of 'time' from the CGSociety competition site]

This was the winning entry titled 'time' by Gediminas Pranckevicius and shows some real control with the tool (3Ds Max in this case) to realise a thoughtful piece that has a serene calmness while toying with our expectations. Comments are suitably targeting the water, composition and such, for me I actuallt really like the tree :-) here is a little closeup from the BIG version of the file on the site.

[Close-up of 'time' by Gediminas Pranckevicius from the CGSociety competition site]

There are plenty of others to check out, I like this one by BarronImpossible

[Close-up of 'indistry' by Simon Dominic from the CGSociety competition site]

Macross Zero

Hmm very strange stuff indeed. Perhaps it did lose a little in the translation, for example I cant imaging them saying "Something bothersome has come..." yet that is the neato subititle.
Anyhow, still lots of fun and some of the combat sequences are awesome, jets 'n' missiles etc arcing all over the place through the clouds. I am pretty sure there was some quite meaningful stuff going on and inferring alot it does get you thinking - that said a better translation I am sure would help.

I have a little more anime (Ghost in the Shell and Appleseed), I'll have to find myself some more after that. There are heaps of interesting newish ones and I am looking forward to revisiting the likes of Akira, Ninja Scroll and the original Robotech: Macross Saga.

Sunday, 10 May 2009

Oinkfrog Work

Giving a little more time to Oinkfrog I tackled a few things tonight. I changed his mouth bone structure as the existing one meant that any rotation at the centre of the mouth not only applied to the head, but also equally to both sides of the mouth. This meant that having nice mouth shapes flowing all the way to the centre of the mouth wasnt possible.

So I separated the mouth bones from the spine having new bones in the centre parent contrained to the spine and now all is much better behaved and much more usable. I need to fix the weightings to accomodate the new design, but this will be an improvement.

I also created an initial set of eyebrow blend shapes, not only so I can start getting all the detail for them in place, but also to make sure that all the rig deformations work with the blends as well.