Week 13: character rigging and animation workshop part 3

This week I have worked on the punisher animation in the phase between stepped keys and splines and clean up.

In the timeline I have fist edited the Playback speed to real time.

From last week assignment on stepped keys I have actually misused some of the controls I haven’t used the COG correctly as well as the elbow rotation was on all of the axes instead it should have been only on z. So I have corrected these mistakes on each pose first and added some more poses in between. This is the playblast:

splines/auto

I converted the keys in splines on the timeline and this is the initial result:

I after started to work on odd keys adding animation poses, if needed, keying each control each time. The turns that the character does were the most difficult to work on since that I had to establish where the body weight should have been according to the movement. I also paid particular attention to convey some anticipation and overshoot in the movements to make the animation more dynamic and interesting.

I have noticed that from the camera view even if the posed and moments appeared to be corrected in the viewport I have noticed that the feet position and animation in the transitions were not accurate: in some cases the rotation was incorrect and they also appeared to slide in some points. In the meantime I also had a look in the graph editor to check the curves the that the controls in the different moments and axes made and applied some changes when needed. So I have corrected these mistakes as well as adjusting the weight of the body and this is the result:

Week 12: Rigging, Skinning

Binding and weighting geo

What is skinning? 

Skinning is the process of connecting geometry to the joints and then weighting the fall off. In terms of Maya we are connecting joints to vertices using a skin cluster node. The skin cluster node is part of the deformer family.

Binding : (Max) influences

When you bind any vertex will inherit a shared connection (weighting) to any number of joints (to a maximum set in the options).

Initial binding options: Post weights vs interactive weights

Interactive Weights
In post weights, the shared relationship between a vertex & any number of joints adds up to 1 (100%). Cannot drop under a value of 1 in total

Post Weights
In interactive weights, each joint can influence any vertex up to a value of 1 (100% each). The total value cannot drop under 1

After you edit the wights using painting weights which is a process of changing those relationships

The golden rules / common pitfalls

In skinning you never subtract you always add.

Edit weights manually, and then brush paint’ if necessary.

Don’t use smooth without ‘locking weights’.

Corrective blend shapes are added to maintain volume and create distinctive shapes within a deformation. However, the goal is to paint the weights as best as possible first, not to rely on the shape to ‘fix’ any skinning issues

In the bind skin option box the “bind to option” with joint hierarchy maya is going to bind all the joints in chain to the geometry

Creating a broken bind

  • Clean-up

I fist loaded all the weight to the chest and after I am going to remove it gradually to the right joint by floating the weight to the vertices of the corresponding joint. (by selecting the vertices in loops and the designated joint and flooding) chest-shoulder-elbow-wrist-fingers-clavical-lombars-pelvis

Grow selection to select vertices for the vertices

– Mirroring weights

after I passed on the leg following the same process (pelvis-hip-knee-ankle) and mirroring the weight on the other leg

for the feet I first edited the weight for one foot and after to mirror it to the other one I have select them both and mirrored the weight

Add influence to add a joint

Blending weights using component selections

– Pose space (corrective blend shape) deformers for corrections: adding a pose interpolator by going to a frame where the character’s skin is deforming incorrectly, or move the character into a pose where you want to add a corrective shape.

So I have created a pose and a modelling a shape to blend weights where the character geo would bend to make those poses more natural.

For the fingers in order for them to fold correctly I have added weight first to the joint that drove the movement, the joint that was the parent to the one where the geometry was bending unnaturally.

So I have selected the loop and converted to vertices and added the weight so that the influence of the geometry is shared between the two joints and the geometry folds more naturally

I have applied the same process to the consequent joint to share the influence on the geometry.

Average the weights based upon its neighbours

I after manually smoothed the paint weight for the thumb adding some influence to hold back the area where the thumb bend to maintain the volume

For the wrist I have applied the same process for the wrist selecting the vertices from an edge loop and add the influence to either the wrist joint or the elbow to maintain the volume when it’s bent.

Same for the elbow I have distributed the weight between the elbow and the shoulder by selecting the vertices of the mesh involved in the bend

For the shoulder the influences this time had to be distributed between three joints: the shoulder, the clavicle and the chest according to the the different parts of the shoulder itself.

The part on the top had to be blended for the shoulder and some weights added on the clavicle, the part corresponding to the armpit had to be shared between the clavicle and the chest always working according the vertices which in this case were only those affecting the specific are not the whole edge loop.

The most tedious part to skin weight is the spine since that the weight had to be distributed in a way that when the spine ben on a side the volume is maintained but if the influence on the pelvis was excessive the movement of the latter could have been compromised.

I have mirrored the skin weights from one arm to the other and from one leg to the other since I have been working on one side only.

Week 12: Rigging and Animation workshop part 2

12 principles of animation

All of of these principles can be applied to all medias in animation. With the squash and stretch animations can show how fluid the object is; anticipation is something which which the audience can anticipate the action, where is going; staging in 3D animation is posing, how an action is clean on screen; straight ahead and pose to pose refers to the way an animator works by posing an object and creating some in betweens and straight ahead animation as you go; follow through and overlap showing the weight and characteristics of an object, how it works; ease-in and out refers to timing and spacing of keys of an animation in a 3D environment; arc refers to the action of an object since every actions follows an arc; secondary action are objects that are affecter by other motions. Even if these principles are applied predominantly in 2D, also 3D animation can be seen in these terms because the finished material is going to be a sequence of 2D images.

Solid posing (appeal)

what makes a good pose:

  • is it clear, readable
  • demonstrate a sense of weights and physicality
  • visually dynamic (line of action, asymmetry, silhouette, negative space and contrast)
  • conveys character

line of action

run cycle:

Using the reference pictures for the poses to use in a run cycles first key these on the timeline.

hip rotation dynamic: shoulder has counter weight the position of the hips.

tracking the arc of actions using a motion trail:

The part on the ground of the run cycle should be linear in the graph editor for the feet to move forwards.

When creating breakdowns animators should be thinking of: arcs (anticipation, overshoot) and spacing (lead of one part of the body, follow through/drag of the action).

Pose to Pose exercise with the Punisher character

Starting by editing the animation settings to create stepped keyframes

I have created the main poses on 8

I after added some breakdowns

This exercise gave an awareness on posing and the importance that it has when it comes to animate a character: the silhouette of the character and the readability of the action as well as the line of action are all elements that work together to create a great and dynamic animation.

Final playblast video

Week 11: Manual Rigging – Skeletons

Model geometry & flow

The model has a v shape because is better for skinning arms (not as high as they would be for a t pose) but is more difficult to position fingers joints.

Joint chains (parent / child) structures

Joints follow a hierarchy and joints are parented to the child if they are part of a structure in the outliner. When positioning the joint to align them to a model the rotate axes should not be used instead they can be positioned using “joint orient”. It is used to orient children of selected joints. When on, the Orient Joint Options affect all the joints below the current joint in the skeleton’s hierarchy. When off, only the current joint is affected by the Orient Joint Options.

When creating a list of joints the root joint has the translate values (to the world) and the children to that joint would have as translate values the distance to the root joint.

Joints & local rotations

Joints have world coordinates and local rotation axes. In a chain of joints the local rotation should be the same otherwise when rotating then they would behave incorrectly.

Ik handle always have a bend in the joint chain depending on the direction you want it to bend.

Finding joint positions in a model (locators marking & clusters)

In order to place the joints create first locators a point in the space on a different layer so to have a “clean” and precise base to after position the joint in the correct way.

The first locator I would create is at the centre of the pelvis holding the x key I have snapped it to the grid position it in the centre of the model, after I have duplicated three more locators for the spine of the model positioning the last where the chest is.

For the leg of the model I have created three locator which I have parented together to create a chain to keep the leg straight: one in the hip using the wire of the model as a guide; the second locator on the knee in the middle loop where they are concentrated and it does not need to be positioned in the centre since the knee, differently from the leg, does not bend to the right of left; I positioned the third one on ankle. rotating the root locator of the leg to be slight tilted to the ankle is going to establish the flexibility of it to better position the joint.

The feet locator have to be aligned to the ankle locator, so for the first one I snapped it to the ankle locator holding v and after to the grid holding x so that they were aligned. The second one should be where the toe bend, in the centre, and the third one to the end of the toe. I have created two more to be placed at both sides of the foot where the second locator is.

For the arms I placed one locator where the clavicle is to help more the shoulder. Just like I did for the leg I have created a chain of locators for the arm in order for them to be aligned to each other, the root locator positioned in the shoulder and the children in the elbow and in the wrist. I have placed the last two locators positioning them roughly where the end position was and in order for them to be aligned with the root I have rotated them using the root locator at the shoulder.

For the neck I have created two locators.

For the fingers I have created a chain as well. To position them I have used a cluster as a guide to find the centre of the loop of the model fingers and snap the locator. I have used constraint aim for the controller and controlled locators to align the individual fingers locators chain.

I after mirrored the locators of the arms and the legs to the right side of the model.

Creating a human body skeleton and keeping joints clean & straight using grid snapping & joint orient

I after started creating the joint using the locators I had previously created as a guide.

I started from the leg and I have created three joints chained together by snapping them to the grid using x.

Rotation vs joint orient

When creating a skeleton in order to maintain the joints of the legs, the arms, the feet and the fingers aligned instead of using the rotation on the channel box I have used the joint orient of the root joint to rotate them.

I after created the foot joint by aligning the two new joints to the ankle joint, snapping them to it using v and after snapping them to the grid using x and positioning them according them to the foot locators.

After I have created the spine chain joints by snapping them to the locators using v.

I have then modified the local rotation of the root joint to make the overall spine chain rotate correctly.

Following a similar process I have used for the legs joints I have created the arm joint chain

The fingers were the most tedious joints to create since that the fingers were slightly bent: I have first created the joint chain, adjusted the distance between them and used the joint orient of each parent to make their child orientation correct without compromising their alignment.

For the thumb in order to avoid gimbal lock I have firstly snapped the joint to the locators and for the end of the thumb joint I have zeroed out the joint orient values to alight the rotation of the joint chain.

Naming conventions

In the outliner I made sure that everything was organised by naming the joints accordingly to their position.

Mirroring joints

In the end I have mirrored the joints of the arms and the legs to the right side of the model using this options:

Character rigging and animation workshop – Week 1 –

skeleton picture reference to create a rig for a character:

Using advanced skeleton I have built a skeleton

position the joints according to the model following the topology of the model itself and also anatomy of the human skeleton

Once the joints were in place I have built the skeleton structure for the rig using advanced skeleton settings

I after binded the skin of the geometry to the joints using the following settings:

In order to help the skinning process, I have imported some animations to apply on the rig to better maintain the volumes when doing specific actions

There are several methods to skin a human model, I have started from the fingers all the way down the feet. I will only work on the right side on the model since after I will mirror the paint weight on the other side of the model.

I have used the animations imported to adjust the skin weight and maintain the volume of the model when bending in determined ways. The main tools for skin weight are the value and the opacity of the brush used for painting where the white areas are those affected by the selected joint.

The areas that needed to be skin weighted the most were the shoulders even though since that the character is positioned in a v pose rather than a t pose so the bind skin for them would be more accurate but still needs to be edited. Also the back needed to be more graded out since the way it bent was unnatural at first.

Once the skin weight on one side were corrected I mirrored them on the other side.

In the end I have deleted the keyframes for the imported animation and I have created my own poses using some references that I have found based on the punisher character. The way I have created the pose is the following: always used hierarchies of controls (e.g. starting from the root control moving all the way up to the fingers and from the root control all the way down to the feet). I also took in consideration the balance on the body when positioned in a certain position and the line of action.

Notes on additional reading:

Jaw Joint Placement & Motion (https://imgur.com/bYO0I3s):

  • All ‘virtual’ joints that we place are based on virtual anatomical surface landmarks.
  • For the jaw of a human(oid) this pivot is under the earlobe when viewed from the side. The jaw/mandible slides forward as the mouth opens and the mandible/jaw slide forward as the mouth opens.

This instead is a table to use a s reference when modelling eyes and teeth of a character

Rigging Dojo Anatomy for 3D Artists (https://vimeo.com/16075544):

basic approach to anatomy for rigging-

  • the human body can fit the geometry of a square and a circle (Leonardo Da Vinci reference picture): each rigger/modeller has to have a basic knowledge of anatomy so that he or she can apply this knowledge to the specific needs of their characters.
  • the human body can fit the geometry of a square and a circle (Leonardo Da Vinci reference picture): each rigger/modeller has to have a basic knowledge of anatomy so that he or she can apply this knowledge to the specific needs of their characters.
  • The primal pivot of the head is at the bottom of the cranium which coincides with the bottom of the nose. Many movements originate from there without involving the neck;
  • 50% angle of some of the head movements do not involve the neck and when they surpass this percentage the neck is engaged in these movements.
  • the ribcage range movements: upper ribs little movement and the lower ribs cage do have a little movement.
  • There is not much space between the ribcage and the pelvis
  • when the leg is straight the leg rotates from the hip, when the knee bends this rotation involves the knee
  • The patellar tendon attaches the bottom of the kneecap (patella) to the top of the shinbone (tibia). It allows the knee to fall down when it bends.
  • A lateral rotation occurs when the inferior pole is directed toward the lateral side of the knee, while a medial rotation occurs when the inferior pole is directed medially. This rotational position may indicate underlying torsion of the tibia such as lateral tibial torsion. So, the foot and the kneecap are not aligned.

Week 9: Project developments

This week I have tried to assign a sit position that I will need in a scene so that I could directly import this cat version when I will be needing it.

For the fisherman project I have experimented with the texture of water which would be an essential part in the animation.

One way to add a water-like texture to a Polygon, in this case a plane, is to assign a standard surface first and into the bump map value a noise shade increase the frequency to 22 to simulate the waves, for the animation I have used the input =frame/50 to add a subtle moment over time in the viewport.

I have also experimented with the ocean shader applied on the Polygon directly however in the render view it would appear pink, as if it does not recognise the shade.

I carried a quick research on how to solve the problem and using intend of arnold, maya software

I have also rigged the fish for the fisherman in order to make the fins of the fish flip independently from the rest of the body and I also added some controls that will be useful in the animation stage and a scale option to the main asset control so that when I will import it into the scene I will be able to adjust its size.

As I did for each model which as a mesh, controls and rigs I have organised them separately in the outliner.

Since e then some of the fins will be moving independently I have added some skin weights to the involved areas.

Other two props that be be appearing in a scene are the basket and the fish skeleton, so I have modeled the props in maya.


texture for the fisherman and cat

Since I want to add a lever of “realness to my models, I have researched some ways to add some clothes texture:

To do this adding a bump map value to standard surfaces I had previously created. in the bump map assign a file of a cotton pattern (for the fisherman clothes) and multiply the uv sample to 6 and the bump value to 0.150.

I have assigned a automatic uv map to the mesh to make sure that the texture would appear homogeneous on the model.

how the shirt and the suit looks in the viewport

rendered picture

This week I also experimented with the hair render texture for the fisherman project.

The first method I have used is to paint brush the brows Polygon

Unfortunately I could not make them show in the render view after I converted the paint brushes into curves, so I tried a new method

I have applied some xgen hair “guides” and adjusted their curve and position, however I was not able to modify the length the width and the density of the hair.

Since I was not able to add xgen to the cat to add fur to it, I have thought I could apply the same method I had used for the Fisherman clothes adding a bump map value to the texture.

In this case I have used a short fur texture, this is the rendered picture

In the first phase as you can see the bump value was too big and the subdivisions were not enough.

This is the latest version

In the concepts for the character I had added the pupil shape that I could use for the cat’s eyes to convey different emotions, so I have created a second set of eyes with the pupils being very narrow.

to switch between the two I have created the set driven keys and added an attribute to the eye controls that triggers the visibility of them: when it is on one the eyes with the narrow pupils are visible and when is on zero the “normal” eyes are visible.

Animated Shorts without Dialogues

For my project I won’t use dialogues so the sounds will have huge impact on the overall experience of the animation communicating the story and helping the visual delivering the overall message.

This video was very inspirational and informs about the sound design process and it introduces the world of sound that has to be created for a film where everything has to be coherent. It talks mostly about Wall-e and in general Ben Burtt works, he is considered the father of modern screen sound.

Disney early approach to sound was to use musical sound for sound effect, which is something I will like to implement for my personal project since I think it would fit well with the theme too.

This compilation of Tom and Jerry cartoons are a great example of the direction that I want to take for the sound design:

Week 10: Project developments

I have decided that I will set the scene for the Fisherman project in the early morning since I have carried out some research on fishing and I have found out that fish are more active in the morning and late evening (this results in greater feeding confidence from the fish) and experienced fishermen tend to go at this time of the day.

I have researched few ways I could create exterior lighting in maya and I have found d this tutorial which I have implemented in my scene using the physical sky tool in Arnold to recreate ambient sky.

when you create a physical sky it creates a dome and you are able to see it using Arnold render view: what it created is a gradient sky with an horizon light. The is one source of light which is mimicking the sun that is why the light has warm values and blue shadows.

You can control the dome rotation. In the physical sky menu you can use the ground albedo option to lighten up the background affecting the bounce light. Elevation is the option to use to decide where you want the sky to be. Azimuth can rotate the light. The sky tint can edit the sky colour. You can even change the size of the sun or turn it off and on depending on the ambient light you want.

Knowing all this, I have applied it to the ocean scene I have previously created:

I also continued experimenting with the ocean/lake I want to create for the project and I followed this tutorial:

I have created a disc and implemented the geometry of if (turning up the subdivisions). Deleted the history, created an ocean shader but when you run the animation the disc is flat and the waves are not showing. In the effects menu I have selected BOSS editor, I have first created a wave solver and created a spectral wave which added waves to the surface. In the menu you can edit the heights of the waves, the length as well as the scale of it. I have used TMA as the frequency spectra type to randomise the waves. In the future I will add my boat to in to have local influence on the water.

Final render:

Week 8: Projects Development

Miro board link:

https://miro.com/app/board/uXjVOKHnfj0=/

This week I have been trying to add fur to the cat to experiment. I have found these videos where they use Xgen plug-in in Maya. XGen is an instancing tool most commonly used for creating hair or populating a scene with instanced geometry. There are two primary methods of using it, depending on what you want to do.

This is a screenshot of my first attempt of using xgen, unfortunately when I have applied the xgen collection to the cat geometry it took a very long time to load and when I tried to adjust the lengths, the width and the distribution of the fur it did not affect the original fur at all.

X-gen not working:

Since the first attempt of xgen did not work I tried to remesh to quadrangular mesh from triangular mesh which may have taken off the level of detail of the mesh and fur would have been easier to create.

However, I have attempted to apply fur to the remeshed polygon but the fur would still take too much time to load and I was not able to edit it either.

texturing and rigging the rest of the props

Regarding the fisherman project this week I have added some textures, especially bump map values to some of the props that are part of the scenes. Especially for the boat which will be an important asset for the animation

This is the first attempt of the texture, however the texture was not seamless and appeared to be too stylised.

So I have opted for a much simpler pattern which suited better the boat and the effect I was looking for.

This week I also rigged the fishing rod and studied more which movements it would have to make and rigged the object starting from this reasoning.

For the handle I have just grouped together the main parts of the engine and set the origin at the centre so that when I rotate the handle they would rotate on the same pivot.

As for the main “body” of the fishing rod, I have created some joints which I will after apply some set driven keys to make it brand forward and backward.

Week 8: Case study- Luca Zanotto

Lucas Zanotto is an animator, director and designer from Italy, based in Helsinki. Zanotto’s 3D and kinetic sculptural loops, posted through his Instagram, consist of the short movement of simple shapes that cleverly bring characters to life. In their simplicity, and their character-fullness, that they’re so mesmerising and powerful: they speak to the importance of playfulness and the big impact that the simplest design – when done right – can have.

This week I have tried to recreate one of his works using maya.

I first modeled each item I would use: the face/ball that would rotate on itself, the cylinders that the ball would roll onto and the features of the face as well.

I after animated each component: the ball would only be animated on the Y axes and the cylinder on the z axes making the ball moving onward, which is just an illusion. The goal was to create simple animation that look elaborate.

I after set up the lights to render after the scene and assigned different surfaces to the assets recreating the aesthetic of Luca Zanotto.

Playblast video:

I after rendered the animation and imported it into after effects and composited it with a sound that I have downloaded from Freesound when the ball rolls.

Final Animation:

Week 7: Projects Development

Miro board link with project pipeline:

https://miro.com/app/board/uXjVOKHnfj0=/

This week I have been working on both of the projects main rigs: the fisherman and the cat.

Fisherman:

On Youtube I have found this channel which explains thoroughly how to rig a humanoid characters adding the main and basic features that a model would need. This sets of videos are different according to which part of the body they are explaining.

Feet Control

This video explains how to rig the feet of the character to add foot and toes rolls and how the hierarchy of both the controls an d the rig would work

Following the video I have applied these notions to my character

I have created the IK handles for the foot: the ball and the toe

This is the hierarchy of the foot in the outliner: I have grouped each IK handle and nesting them within each other according to the movement of the foot I after parent constraint the main group to the foot control that I would use to move it.

I have created two attributed to the foot control for the foot and toe roll

Legs Controls

This leg control video was useful to make the legs bend but sticking to the ground at the same time which is very useful for a walk cycle

For the leg Ik handle I have used the following settings checking the sticky options which allowed me to make the feet sticking to the ground when the legs bend.

The video also showed how to created a pole vector to point the knee direction which is made bu selecting the pole and pole constraint it to the leg handle.

Spine Controls

Differently to the legs the spine follows a FK control and this video explain well the dynamics

I have created three controllers and parent constraint them to each joint of the spine and nested them to follow the movement of the parent.

Arms Controls

The arms also follow a FK system where the shoulder joint is the parent and the elbow and the wrist are the child and the wrist itself the child of the elbow joint.

Hands Controls

In order for the fingers to curl I have created a set of driven keys using attributes belonging to the wrist control one for each finger where the top joint, which is parented to the others, curl when the attribute is activated (on 1)

To create the keys I have used the set driven key editor where I have created an attribute for each finger

Head Controls

Following this tutorial I have created a control for the head and parent constrain it ti the head joint to allow the character to roll the head and twist it too.

Eyes Controls

the face controls for the characters are the following: one for each brow, one for each moustache and the eyes controls one for each eye and a general one: the eyes are aim constrained to the controls to have his pupils moving along having the head still. the eyes controls are going to be nested to the main body control directly so that when the character moves the eyes won’t be still.

If when I will import the character into the main scene I will have to adjust his size I can scale it with the main body control using constraint scale

outliner clean up

This is the final groups arrangement for the character.

paint weight head turn

After each control was assigned and working I polished the character movements with skin weights, in the following picture I was skin weighting the head making sure that the shoulders were not influenced and the ears as well.

Cat project

Cat rig

following the same process that I use for the fisherman, I adjusted the main cat rig.

structure of the rig

Feet won’t stay attached to the ground where the chest or hip controls were pulled down because the feet controls should not be parent to them but to the main body control.

Controls in the leg to sit

rearranged the controls FK

rearranged the controls FK to help the cat sit and move better: at first I thought that the cat body hierarchy was going to be different compared to a biped one, however I have experimented with it and I have found that parenting everything to the hips works just as well, apart for the feet so that they will stick to the ground when the hips are bending.

Binded the skin using these settings

skin weight on the spine adjusting the influence for the joint controls

do the skin weight for the legs especially the rear ones, was very challenging since they are going to bend and stretch very much especially when the cat will sit down

Just like I did for the fisherman I have created the eyes controls where I have also created the eye blink using the set driven keys editor

I have also created an attribute for the foot roll which will help for the walk cycle

For the eye blink I have created two sets of eyes, one open and one closed and keyed their visibility to create the illusion of an eye blink

I have also created the whiskers for the cat by modeling and scaling down a cylinder and duplicating it.

Foe the skin weight I have found to be more accurate the colour ramp which uses a range of different colours where red is where the joint has more influence on and dark blue the least influence on.

I have also skin weighted the brows which will help to add expressions to the character

Same for the mouth corners which will move independently from each other