Friday, 30 April 2010

Negotiation Project

This term is packed with projects, an essays and small weekly tasks. I still gotta work on the 3rd year "Corked" project, but my main project right now is what we call the "Negotiation Project", where we can basically do what we want. I pitched an idea I've seen somewhere on the internet a while ago. It was a number of shots with a CG pounding heart in different locations. I decided to replicate one of those shots. The heart is going to be pounding over a little lake in the middle of a forest. Since I'm not really good in modelling I'm going to keep it quite simple, no anatomical correctness, not in the model anyway. The pounding on the other hand should be realistic, so I did some research on how the heart actually works. This clip is probably one of the best I could find.

This one is probably the best CG animation of a human heart.

With all the information I needed I started thinking about how to do it. I came up with the idea of creating the movement of the individual chambers whit nCloth. I tested the idea with some simple objects.

That is just an nCloth sphere animated through the pressure option, to inflate and deflate.

The same but two spheres simulating one side of the heart.

With that working quite well, I put all 4 chambers together, animated them and put a simple version of a heart on top of them. All 5 objects are nCloth, with idea that the chambers drive the nCloth of the heart shape. Since there's no gravity on the nucleus solver, every time the pressure gets up the nCloth just simply flies off, but a few vertices constraints solve that problem.

That was the last test and now I started the actual modelling of the heart.
I started with a simple model in Maya and then sculpted more details in Mudbox. Once it looked roughly how I wanted it, I took the model back to Maya and modelled very low res chambers, since they have to be in roughly the same shape of the outer heart.

The animation needs a bit more tweaking to make it look more realistic.

One more test with the heart shape on top.

Another problem was that I haven't actually done any UV mapping so far. But I want to bring in some maps, like a normal map, from Mudbox. So I needed to unwrap the heart, which I thought is gonna be quite easy, but it turns out UV unwrapping an unsymmetrical object, such as my heart, is not that easy. I ended up with lots of camera projected faces, then sewed them all together with a seam hidden in the back. There probably is an easier way of doing it and still get a nice result, but I haven't really done any UV unwrapping before and it looked alright in the end.

All I've got to do now is tweaking the animation of the chambers a bit more, paint in some attributes, like thickness, onto the outer heart shape and make the maps in Mudbox.

That is roughly how I want it to look like at the end. That's just a Mudbox screenshot, so the material is gonna be different, but the veins and the detail is looking good already.

Thursday, 15 April 2010

nCloth fine tuning

Andy asked me to test the sleeves when the arms are bend, as I kind of forgot to test that first time around. Turns out that this does cause some trouble with the nCloth.

I kept the substep and max iteration really low so it would simulate faster, but that causes trouble when vertices interpenetrate. So I just adjusted some of settings, mainly the quality settings for the nCloth and the nucleus solver, which does come with the cost of simulation and caching time, but the result is hopefully worth it.

Friday, 9 April 2010

Finished Clothing

My first try wasn't really that good cause the leather jacket was a bit too stiff. So Andy and George suggested that I do it again.
On Buckle's Jacket I lowered the Input Mesh Attract values and painted Input Attract as Vertex Properties in parts where the jacket should stay in place.

The shoulder part and the collar of the jacket should be stiffer than the bottom part hence the higher values (white=1; black=0)

Here's the finished nCloth on the animated model.

For Dodger's sleeves I needed to do exactly the opposite, since his sleeves are more silk like. I actually used the nCloth preset for silk to start with. Because both sleeves are separate meshes I had to constrain them to the mesh of the body otherwise the sleeves would have just fallen of the arms to that I used 'point to surface' constrains. I also painted in some wrinkle values to get the wrinkles in the right parts.

Wrinkle values painted onto the mesh to create wrinkles near the wrist. It's basically the same procedure as with the Input Attract values.

And the finished nCloth on the animated character.

Wednesday, 7 April 2010


I had to make some clothes for Andy's characters. Buckle here needed a thick leather jacket.

I gotta do some sleeves for another character, but the file is somehow corrupt. I hope I get that done before the weekend though.