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:
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.
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
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
– 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
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.
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.
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)
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).
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.
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 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.
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.
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.
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.
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.
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;
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.
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 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.
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 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 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.
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:
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.
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.
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 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.
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 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.
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
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.
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.
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.
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)
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.
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.
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.
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.
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.
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
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.