Thursday, 25 March 2010

Monday, 22 March 2010

extra

... in addition to last post, my new rig is about 90% Ncloth now  :)

difficult...

after the last post i made regarding the coat finally working, well unfortunately, even though it worked 'well' had a major issue with conflicting constraints etc, so even though it would have been fine for any movement other than opening its coat, its not very helpful...

Spent most of last night and today completely re-rigging the coat, so instead of the coat skeleton/rig been split about under different blendshapes to allow me to blend inbetween a whole body skin to the coat open rig, i've had to build and constrain the entire rig on the low-poly coat on the rig itself, which is exactly what i didnt want to do as it'll make things hader when deforming the body...

and as usual after spending all the time re-rigging it, after a short walk into Cardiff i realised the ideal way to rig it instead, and after an hour of re-re-re-rigging, come up with a 'sucessful' (questionable) flash.


working flash test from Lee Dunham on Vimeo.


I'm fully aware thats its a hidious example of animation and theres problems all over the place, but the final foundations are there and also, the way its now rigged i can finally start working full time on animating it (and part time on making it pretty :)

Saturday, 20 March 2010

ITS ALIVEEEEE!!!!

finally... after what seems to be years, I've finally got the entire rig to work as it should...

Theres still a few tweaks to be made to get the type of cloth i want and to add the belt, tags etc, but it works!!!!

no intersection problems that cant be solved, and I've also got a fully functional coat with controls coming out of its ears (not literally)... heres the actual first working deform test (ive put it through much more rigorous deforms too) and im just taking a break from it, then will post up a full flash deform...

WOO!!!!!

Stretchy bones tut...

almost sorted the coat, thought i'd show how I made the stretchy bones for it from a couple of bones with an IK Spline, clusters and a NURBs  circle controller.

oh and the mel I type after i select the IK Spline curve ( at about 2:20) is 'arclen -ch 1;' (it allows you to select the curve info node)...

Thursday, 18 March 2010

apologies

... unfortunately, i wasnt able to show another finished character (Minus Texturing) last night due to yet another setback, but to save myself time later on, I've added a couple of new additions and fixes to the automatic eyebrow animation seen earlier on the Gran rig... just trying to make things easier and quicker in the long run.

Tuesday, 16 March 2010

Teaser 2...

As promised another character...

having alot of problems with main rig atm, hope to fix them soon!!!

Monday, 15 March 2010

Teaser

Heres a teaser for one of my characters in my new film...



Lost most of the texturing and a few misc controls that might not need to be added, bust she works!!

Check tommorrow for another character!!!

Damn buggy thingys...

...great, got home and started testing for breaks on Gran rig and came accros huge problem I encountered before. Most of the facial controls wouldnt set keys and everytime I scrolled the timebar it would deselect anything selected... luckly im the sort of person who manually saves to a new file every 10-15 mins now, so I went through the last few days worth of files and tested each one for the issue and found it to be caused from pre-maturely rigging the cloth to the character, tried to sort it on latest but wasnt having it so had to spend most the evening re-doing the work from the past 3 days... just great...

making more work for myself...

... had been plagued with figuring out how to add Ncloth to my characters coat, solved that, then how to control the coat, solved that, how to rig the characters faces, solved that... Now im up against putting it all together, as its not as easy as the tests showed. For them I used a simple 4 bone setup to control the coat as it opened and the Ncloth is attached to the coat mesh and the final coat is attached to both the mesh and the cloth...

Thing is i cant really use a direct bone setup on the coat mesh due to having to skin the coat to the bones of the original rig, and so any extra bones added would just cause fighting over who controls what...

I've created a setup to conrtol the openeing of the coat the same way I've rigged the face, using Clusters and blendshapes and then blendshapes and driven keys to fix and intersecting etc, but i've also just started sketching a more complex, but better controllable way which is the create stretchy bones, spline IK and FK, clusters, blendshapes and driven keys... Just hope it works...

Will post if solved, if not, i've got backups i'll post/use.

Thursday, 11 March 2010

think, think, think, part 2

think i've sorted some form of messy solution for a part of the issue i was having to do with driven keys and animating the sections too...

... heres the notes I made and a vid showing it working... (I know its not pretty atm either, just figuring a way to make things look abit nicer and UF...

'Eyebrows

Create eyebrow as separate object, 'Parent' it to 'R_Brow_CTRL', create separate clusters for sections of eyebrow object, 'Parent' all those clusters also to 'R_Brow_CTRL' create seperate controllers for each cluster, select the controller then shift-select the corresponding cluster and select 'Parent' CONSTRAIN, then 'Parent' the individual controllers to 'R_Brow_CTRL'. now when you move the 'R_Brow_CTRL' it'll move the eyebrow as well as the clusters and the individual controllers that you can move and key seperately also.

Now the aim was to be able to use the 'R_Brow_CTRL' to move the eyebrow as well as the skin but also to have driven keys so parts of the brow stick to some form of realism.

I do understand you could also have simply created a low poly version, parent each one to a bone, set a driven key to the bones and them 'wrap' deform the actual brow mesh to the low poly version, then finally created clusters and controls on the actual poly mesh for the extra control, im simply exploring all means. (and you could also create blendshapes of the brow and set driven keys to them with the 'R-Brow_CTRL' and had extra clusters and controllers on the final brow also)

So this particular (and complicated method) now needs for you to create a single bone for each cluster, (not parented to each other), select the bones and finally the brow mesh and smooth skin.

This then gives you 3 levels of control over the eyebrows, one of which you can set driven keys to and still have another set of controllers that can controller seperate sections of the brow.

So far this would only really work with simple meshes and try to stay away from having any more that 4 or 5 sections of brow to control otherwise when you skin the bones, it'll be more work than its worth.'

Wednesday, 10 March 2010

Something for our generation...

give them a go, a good laugh and nostalgia...



Tuesday, 9 March 2010

Spider in the Bath!!!

Who remembers this?!!!

think, think, think

... i've come to an annoying problem whilst rigging (well I actually found it a month or so ago, but I just left it be). Ideally for my facial rig, along with individual controls for the face (R_eyebrow_01, 02, 03 etc), I would have a single controller to the side of the face with custom attributes for 'Smile', 'Angry', 'Sad' etc and driven keys onto the ready placed controllers, so in theory, I would crank the 'Smile' att to 10 and the driven keys would tell the individual controllers to place themselves appropriately the make the character smile...

... however such that is the annoyance of driven keys, am I'm still trying to find a simple method to do this that avoids mel scripting (don't have the time, perhaps after uni I'll spend a few weeks cracking it properly), as once you set an object to 'driven' with the driven keys, it immediately becomes non-keyable, however if you thought you could simply parent it to another controller and set driven keys on that instead, hide the parent and still be able to animate the original, because if you parent an object (or even create a new group from it) to another, and move the parent, the child object will still have values of 0, as if it was never moved and therefore wont affect the mesh with the cluster/blendshape setup...

... haha, I wanted to avoid 'geeking out' too much and keep it simple, hahaha...


... anyways I was also thinking about perhaps using parent/point/orient constraints, but then I know that using the constraints will render the object immovable anyway, grrr, think I'll just have to have a go every now and again, and keep working on making my rigs better and more animation. Will post as soon as I crack it...

Blendshapes

Grr, sodding blendshapes in Maya, forgot how to creat in-betweens so started playing about and wrote it down. Finding it really helpful nowdays im getting old...

"Adding in-between blendshapes

To create inbetween blendshapes for say opening an eyelid you'll want an in-between to get a nice slide over the eyeball instead of going through it,
this is because Maya will transition between the base and the blend through the shortest route.

Select your ending blendshape and then shift-select your Base object (that the blends will be applied to).

If its your first blendshape on this object you'll wanna go ''Create Deformers - Create Blendshape - Options', name the group of blendshapes under the
'Blendshape node', make sure envelope is 1, local origin and check topology (should all be Defaults anyway) and create.

If its not then go 'Edit Deformers - Blendshape - Add - Options and select 'Specify node' with the correct node selected and check topology. ('Add in-between
should NOT be checked at this point). Click 'Apply and close'.

You'll notice under 'Window - Animation Editors - Blendshape you'll have a new node you created and if you slide up, your object will transition
between your original object to the object you set as a blendshape.

To add a blendshape in-between the two states you created, create and mold the object for the in-between, select it, shift-select the base object
then select 'Edit Deformers - Blendshape - Add - Options', click 'specify node' (it tells Maya what node this will be placed under)

then select 'Add in-between target' and under the 'in-between weight' select something like 0.5, and under 'Target index' you need to count
what blendshape this will be placed on, for example if the in-between will be on the 1st blendshape you made you need to type '1',
if its blendshape later down the list, count how many over it is and type its corresponding placement number. (you could always re-name your
blendshape objects before you add them as eg. '1_R_TopEyelid', '2_R_BotEyelid' etc.

if you now slide you blendshape, you'll notice the inbetween has been placed at the value you selected (0.5)."

Hope peeps find some of the stuff I post useful...

Monday, 8 March 2010

geeky geekerson

...heres the latest test from using bones to control mesh which controls cloth, basically trying to imitate a coat opening with the bottom half made of cloth, also hitting 'legs'...



heres the simpliest/briefest of notes i've made for myself to remember the steps i needed to follow;

"NEW MESH/CLOTH TESTING

start with 2 pieces of mesh with no visible joins, and creat skeleton to control them
skin - smooth bind top mesh

select bottom half as cloth - presets - heavy denim

select joining verts of cloth then shift-select joining verts of mesh and constrain with 'component to component'

add any 'passive' objects and animate."

these are the settings I used for the loose cloth belt (and like a sad geek decided to manually write all the values in just to make myself remember them, and then I CAPPED the values i frequently played with with a little description for myself so I could try to know what I was doing...)

"CREATED ENTIRE CLOTH AS 1 MESH, IE JACKET + BELT, ADDED LOOPS WHERE CLOTH BEGINS AND MESH ENDS, SELECTED CLOTH FACES AND 'MESH' - 'SEPARATE'
added Ncloth to loose belt, mde sure doesnt intersect with anything, selected CV's of where cloth ends, then shift-selected CV's of where mesh ends and added 'component to component'. made anything that may touch belt as 'create passive'.

Works well, may not need as too much interferance with cloth coat...

if object fast moving, increase stretch resistance

is dynamic - on
PLAY FROM CACHE - N/A (until final V./animation made)
THICKNESS - 0.1 ----- (GUESS - DETERMINATION AS TO HOW HEAVY/THICK CLOTH PIECE IS - INCREASE = LONGER CALCULATION TIME)
Bounce - 0
FRICTION - 0.355 ----- (HOW MUCH THE OBJECT IS AFFECTED BY FRICTION - INCREASE = MORE FRICTION)
DAMP - 4.57 ----- (AFFECTS HOW MUCH THE CLOTH WILL APPEAR 'DAMP' IE HEAVIER)
STICKINESS - -0.5 ----- (HOW MUCH THE CLOTH WITH STICK TO A SURFACE/OBJECT/)
collision flag - Face
self collision flag - vertex face
max self collision iterations - 10000
POINT MASS - 2.02 ------ (GUESS SIMULAR PRINCIPLE AS TO HOW MUCH MASS THE CLOTH HAS - GUESS SIMULAR TO SPACE SCALE - !!IMPORTANT!!)
rest length scale - 1
COLLIDE - on
SELF COLLIDE - on
collision layer - 0
wind shadow diffusion - 0
wind shadow distance - 0
air push distance - 0
air push vorticity - 0
push out - 0.5
push out radius - 5.183
crossover push - 0
trapped check - off
FORCE FIELD - double sided ----- (ACTIVATE CLOTH FORCE-FIELD ALONG NORMALS/INSIDE/INSIDE AND OUT - KEEPS DISTANCE FROM OTHER OBJECTS)
FIELD MAGNITUDE - 1 ----- (HOW POWERFUL FORCE FIELD IS)
FIELD DISTANCE - 0.755 ----- (HOW MUCH DISTANCE FORCE FIELD COVERS)
point force field - off
point field magnitude - 1
self attract - 0
point field distance - 2
local space output - on
display color R - 1
display color G - 0.8
display color B - 0
STRETCH RESISTANCE - 35.3 (NOW 80)
compression resistance - 30.4
bend resistance - 5.149
bend angle drop-off - 0.371
restitution tension - 1000
restitution angle - 360
shear resistance - 0
RIGIDITY - 0.1 ------ (HOW RIGID AS AN ENTIRE MESH THE CLOTH IS - IE 0= LOOSE CLOTH, 1= FROZEN CLOTH)
deform resistance - 0
input mesh attract - 0
input mesh damp - 0.5
wrinkle map scale - 1
bend angle scale - 1
sort links - off
add cross links - off
stretch damp - 0.1
self collide width scale - 1
self crossover push - 0
self trapped check - off
pressure - 0 ------ (ADDS MOVEMENT/WIND FROM ALL DIRECTIONS TO CLOTH AND BY HOW MUCH)
start pressure - 0 ----- (GUESS - WHEN PRESSURE WILL BEGIN ON TIMELINE)
incompressibility - 5
pressure damping - 0
pump rate - 0
air tightness - 1
seal holes - on
ignore solver gravity - off
ignore solver wind - off
wind self shadow - off
lift - 0.05
drag - 0.05
tangential drag - 0.102
lifespan - 1"

I found out today there was loads and loads of ways to creat stretchy bones in Maya, after using a long tutorial and a quick chat with Toke, I tried to find another easier way;

"create a single bone.

create 2 locators and snap them to each end of the joint.

rename the base joint to 'joint1' and the nub joint, 'joint2' and each corresponding locator as 'joint1_Loc' and 'joint2_Loc'.

select 'joint2_Loc' then shift select 'joint2' and add a 'point' constraint.

select 'joint1_Loc' then shift select 'joint1' and add a 'parent' constraint.

select 'joint1_Loc' then 'joint2_Loc' and add an 'aim' constraint, then vice versa as in;
select 'joint2_Loc' then 'joint1_Loc' and add an 'aim' constraint.

select 'joint1_Loc' then 'joint2_Loc' and add a 'point' constraint.

you should now be able to control the 'stretchy bone' with each corresponding locator (ie 'joint1_Loc' control will move entire joint,
and 'joint2_Loc' will control the nub joint making it stretchy.

i havent tested this out properly with a full rig, was just something i tried."

After creating the stretchy tongue, I found that I could only really control one section of the tongue at a time and I wanted to influence each section of the tongue with one controller (without using Driven Keys) and seeing as though I went through a slightly confusing tutorial using Nodes and the Hypergraph to creat stretchy tongue I felt adventurous enough to try on my own;


"add half influence from one object to another from an action (without using driven keys)

(eg tongue stretchy, 4 controllers linked to control 4 clusters on tongue. one controller doesnt affect any other clusters besides the one its parented too, when you want the tongue to stretch you want the other clusters/controllers to be influenced down the heirachy)

1. select all controllers you want affected, open Hypergraph and under 'Graph' select 'Add to Graph'

2. on Create Maya Nodes, scroll down to 'General Utilities' tab and add a 'Multiply/Divide' Node.

3. on the first controller (the one that'll affect the rest of them ie TongueTip_CTRL) click on the right arrow of the node, and select 'translate - translate Z' (dependant of character orientation, might need to see what axis the tongue will move 'forward') and connect it to, the 'Multiply/Divide Node - input1 - input1 Z (Z dependant on axis left controller from you just need to match them appropriately).

4. select the Multiply/Divide Node and under 'Attribute Editor' select 'Multiply' and change the value of input2 Z to something like 0.5 (dependant on how strong you want the 2nd controller to follow, 1 = 100% etc) and then on the channel box, lock the Input2 Z (you dont want that value to change to 0 ever, lots of badness.)

5. then from the multiply/Divide Node select 'Output - outputZ' and connect it to the 2nd controller under 'translate - translate z'

6. follow the same steps for each controller, keeping the same 0.5 value each time.

What we've just done is told Maya that whenever you move the 1st controller on the Z axis, the controller behind will follow it by 50%, and then the controller behind that will follow the 2nd controller by 50% and so on and so on."

phew, damn im boring and tbh, most of this is probably crap, but it's given me more understanding as i've gone along, no harm in sharing...

Maya Ncloth Results!!

... thought i might as well stick them on here, think i'll probs also post the very un-friendly notes i've been keeping along the way for various things i've noticed/picked up...

heres one of the original tests getting to grips with cloth as a cape...



heres one of the first successfully working full coat deform testing, with a few tweaks here and there... been a complete nightmare as I cant/couldn't find any tutorial's that dealt with a cloth or Ncloth controllable coat, only t-shirts, dress's skirts etc...


this is one of the tests made whilst attempting to make the cloth coat deform nicely to a walk-cycle. NOTE - HUGE mistake made creating the cloth as an extruded mesh and not a flat plane BEFORE setting it as cloth... (i am just learning by trial and error...)



will finally also post what ive managed to do with the whole mesh/cloth coat thingy...

Mo-Cap-POW!!

... few of us travelled to Swansea Uni to have a look into Motion-capture software, how it works and have a little play ourselves.

It didnt go entirley to plan, but was still pretty damn interesting, and I did manage to fool about for an hour or so acting on some strange requests...

... also thought i'd post the models for main characters in FMP



and;



also just uploading some cloth tests ive been working on, realising today how much of a tit i've been trying to do it solo, but efforts haven't been too bad, managed to get a nice formula for the main character to actually work nicely!!!...