nav2

Showing posts with label skinning. Show all posts
Showing posts with label skinning. Show all posts

Sunday, August 25, 2013

maternity app - freelance job

A month ago I got hired to do a job through the working academy. Since they don't require signing an nda, it's possible for me to make a post here.
My task was to Model and rig a mother and a baby + some of the organs of the mother. This is to be used in a maternity educational app on android devices.

The client's target art style was pretty much in copying this picture they found on shutterstock:

So at first I was told that the models are to be pre-rendered- I made them high res. Then it was decided that the models should run animated in real time within the app.
So then reduce their poly count. Luckily when I initially modeled them, they were designed to work with a subdivision modifier to get their final "smooth" look so reducing the poly count wasn't hard.

They required the mother's face to be neutral - not belonging to any specific ethnicity or having too much character. Realizing that this neutrality is very much determined by the shader's properties as well as the shape, I decided to use a material that is as close to the target art style as possible. It was also important for this material to be game friendly. Creating a matcap(inkscape) allowed me to achieve the look in real time in the opengl viewport. Unity has a matcap shader, so in theory this should run in the game engine.In any case having this for previewing purposes helped me sell the model and get it approved. I needed to first pitch the approach - at the time thinking they will be prerendering the animations:

The woman is using a matcap (or any shader that gets similar look- it can be a  ramp shader) The material is really not transparent, but the organs are showing on top of the mesh, even though they are inside it in terms of 3d space.The rim light and the subtle darker tone towards the middle of the matcap sphere helps reinforce the illusion that the mesh is transparent.
In blender its a matter of toggling "xray" for the organs geometry in their viewport render attributes. Maya is a similar story. You can alternatively use passes and composit them together (if you are doing prerendered clips).

It was suggested to simply use a transparent shader. I tried it and found some practical issues with that approach:

Both characters are based on a man mesh I made a few months ago. Reusing geometry is a nice way to save time in some cases. I still had to change the edgeflow to follow some curves better.
At the first pass the client requested to reduce the blocky-ness on the buttox of the woman. So I added more topology where it was needed to be more curved.
Modelling the baby was more challenging, because it was important for it to have that "newborn" look. There was a lot of play with proportions.
Dominique Lane provided concept art images for reference. I followed those closely as it was what the client approved. They later decided to remove the hair for the woman. For the organs there were references on the web. Dom provided concept art for those as well. I Looked at lots of pictures of babies and pregnant women. The poly count can be reduced more but was told to stop doing that :D
In total ALL the models(+organs) in the scene are 17 000 triangles. But all of the models are not going to be visible at all times.

The organs are made using lots of modifiers, making them easy to edit later on, while also being low poly. Blender has a nice "decimate" modifier that can  non destructively reduce poly count- it's not ideal for everything, but it's handy in a few cases such as irregular static shapes. If you want to keep your mirror modifier, but still have some asymmetry, you can combine it with a simple latice modifier.


Rigging and skinning was the easiest part, because it didn't need approval from the client.It took a day for both with a rigging script- skinning taking the majority of the time.

A big part of this job for me was communicating with the client and the other team members, waiting for feedback, asking questions that weren't answered in the brief, etc.

For the model of the mother is good to note that they required a pregnant and non pregnant version. To achieve that I gave her a "belly" controller that is driving a joint. It is completely possible to animate her pregnancy progression by scaling/moving/rotating it. The skinning was a big part of getting that part right. Unity and most game engines don't do blendshapes very well or it is too expensive as far as I know.
This project was a slightly weird experience, that was still enjoyable. Here's hoping that it will find it's way to an android device! That part depends on the rest of the team.

Monday, November 15, 2010

pbank - rig done

I finished this rig a couple of weeks ago, but since I had other university assignments and part time work I couldnt do much on the skinning process for a while. It took about a week to learn all the new stuff and make this rig.





The previous human rig that I made had some disadvantages. One mainly being the spine area. When animating the cave man, I quickly found out that too much twisting would cause collapsing in the geometry where the joints are. So this time I did my research and tried other rigs. That led me to what Digital tutors' Delano has in their latest dvd. It's called n-spine and it manages to do the trick beautifully while also being relatively simple to set up.Here is an example of a twisting spine:

Another great thing about this rig has to be the fact that everything has "follow" switches. If I move the torso, the head and arms will follow now!










While i wasnt supposed to make any facial controls,I kind of did it anyway. I wanted to practice that more. The previous models that I made felt kind of limited in that regard. So I sat down and looked at my own face doing weird expressions, figuring out how the muscles are pulling the skin, also remembering everything i know from observational drawing...I am a big believer in trial and error learning. So I challenged myself yet again, deciding to make a face rig that is simple, yet effective, no blendshapes. All the controls are on the face itself, since its easier to access them like that.

This face rig is quick,experimental and a bit messy. The eyebrows are made of just a bunch of joints.


The mouth is purely my work of fiction and it's made out of joints too:

(top lip,bottom lip, left and right
lip)+ a couple of corrective blend shapes
The left and right joints of the lip have set driven keys on rotation. As I move them on Y, a rotation is triggered to put a small twist. as I move them closer together, that triggers a corrective blendshape to stop the geometry from collapsing and keep the volume in the lips


The jaw can go backwards and forwards( appart of up and down) , just like a real jaw..



when she smiles, the cheeks would come out a bit through the magic of set driven key:

The system is not perfect. I might need to do some work on the weights.It's biggest advantage is the low number of controls and the power you get out of them.








The less you have to keyframe to get what you want, the better! This is basically my mantra now. If its possible to get the same amount of flexibility with something that is simple and straightforward, I will go through fire and ice to get it to work right.This applies for facial animation the most. I will probably do my rig with only blendshapes next time though. This painting of weights of joints on the face was a real pain in the neck.

Things to note when it comes to skinning:
Keep the inside of the mouth as a separate mesh, if you dont want to waste time getting the weights there right. One common problem when skinning is when the interior of the mouth comes through the surface of the skin. I really hate painting weights, so I didn't spend too much on that part. One of the most annoying parts for me personally is getting the weights on the fingers right.
As you can see from the picture, the eyebrows and the lips may need some more work when it comes to skinning xD




Saving time~
The rig is the thing that takes most of the time in the pipeline, so I am looking into automating the process and even reusing what I can on the next model. I learned how to copy weights from one model onto another,so I can use the same rig on models with similar proportions/posture. But doesn't solve the problem. 3ds max and blender have automated rig generators. maya has mel scripting and plug-ins. The best one out there has to be the setup machine.
If I was to do this in a short deadline, I would go for the setup machine and just customize the rig that it generates.Thats what i did with the mammoth rig and it worked out beautifully. Tsm is very very flexible!

The only reason that I keep doing it manually is because I want to learn how it all functions under the hood. Having problems and resolving them is the best way to acquire experience.

I know that for this uni assignment I will probably not need a lot of the controls that I have here. When I start doing something for a second time, and there is nothing at stake,but my time- then it's best to try to do it in new ways. It is so tempting to stray from the standard path and see if there's another better solution to each problem. It's just never perfect. Some people are telling me that I might become a generalist if I keep going like that- trying new software and techniques. But I will always think that doing that is giving me an edge over anyone who sticks to only one way, one software. It's just not good to be too satisfied with something when there's always a new way to do it better,faster, simpler.

Animation:
Last time I did my animation in maya, I was really messy. Since then, I've managed to learn more about the graph editor, tweening and generally how to do it properly.
I will try to put up another 3d viewer thingy for Eve in the next post

Sunday, March 21, 2010

mammoth -the set up





I finished the Mammoth character set up yesterday and while skinning frustrated me at first, I managed to get it done way faster this time. Thanks to some help I got at university. I am getting a lot of valuable feedback from more experienced students at uni. Anyway, here are some shots I took yesterday:




There are several blend shapes used this time. I got some assymetrical face expressions controls on the brows and the cheeks put into single controllers.




I like having one control do as much as possible. That simplifies the work later on. These characters are far from perfect, there is still a lot to learn. But I guess that they will do for this animation short.

Thursday, March 18, 2010

Cave dude - the set up

I finished the cave man's set up completely a couple of days ago, but forgot to rant about it. There is still more to desire in regards to the skinning, but meh..

Here are some of the controls that I have set up. I know its pretty basic but it's my first rigging/skinning work ever. Took less than a week...










And while being at it, I guess I will also show you my progress on the other character. Just to experiment,I decided to use a mel script to generate a rig for me this time. It's called the setup machine2...But of course what I got out of it was overcomplicated and had some joint orientation issues.,so I deleted half of the rig (legs) and redid them myself. That also took care of the skinning issue it gave me.



blend shapes are prepared for applying after i get the weights right...

Saturday, February 6, 2010

Rigging in Flash- Toast progress report



"Toast!" Character libraries are half way there. It took me one day to learn the two ways of rigging in flash. I just had to take advantage of this new function. Though it still has some minor issues to iron out.

There are two ways to use the bone tool in flash, and my curiosity just had me use both. For smooth deformation I used the shape rig for the boy. Rigging a shape can be tricky and I found that in the hard way. Almost a whole day of frustrating trial and error tests paid of in the end. What did I learn? Well, you have to be careful how you draw your character. Just as it is with skinning in 3d, you have curve control points on your character, which will be affected by the rig.For that reason, its preferable to have less of these points where not needed (they might mess up the character after the rig). It's also tricky where you put them and skin them,so the shape bends predictably without deforming too much.
Cons of a shape rig:
- it can NOT contain any symbols which can be keyed! (can't connect the head to the body and the arm to the hand) My solution:separate legs+feet and arms from the rest of the body
-Sometimes when you constrain some points,and you move the rig, you have to edit constrains all over again...
----------------------------------
I just started the robot rig, doing the other way- the symbols rig. This way seems to be easier than the shape rig, but it also has some issues. I found it to be slightly unpredictable and glitchy. I shall note the problem after I find out why it's acting like that some times. I just hope it doesn't blow up my robot before I manage to finish this project in time...