To go on with the animations lesson, we have to explain two concepts of kinds of animations we can find. On one side, we have the cyclic-type animations. And on the other side, we have action-type animations. Cyclic-type animations are animations which start in a frame and end in another frame but with the same pose as in the starting frame so that they create a cycle. That is, they never end. So that when they finish they start again from the beginning and make a loop. That is, for example, if we are speaking about a walking animation, the animator shouldn't make an infinite-time animation, so he will make an animation which starts and ends with the same pose, and we will make this cycle go on indefinitely through the code. So these would be the cycle-type animations. Some cycle-type animations would be idle animations with walking animations. Idle animation is when we are resting. Just so that you have an idea on it. When we are watching a game and the game is stopped, not paused, but simply the user isn't doing anything, the main character isn't completely motionless, it has a small animation such as breathing or a small movement to avoid the feeling that the game has stopped working or it has frozen. The action-type animation is an animation which happens only once. So, it launches and when the animation stops it goes back to the previous animation cycle. A classic example would be being hit. A hitting animation, or a shooting animation. That is, we are in a cycle-type animation such as idle, the player presses the shoot button, the shooting animation launches, and when it ends it goes back to the idle state. So, in Cal3D comes an example which is called Cally demo, and it comes with some examples of which we will now see their working. Here we have the Cally version which comes with Cal3D. We have the motion state, which is a walking state. If you look at this triangle, its function is related to the three types of animation this motion state has. One, which is walking, another one, which is running, and the third one, which is walking in a cocky way. So, with this triangle, we can interpolate between the three animation states. That is, we can mix them. We can walk in a little cocky way, or totally cocky, we can run in a cocky way, or totally run. So with this triangle we can interpolate these three kinds of animation. Or we can do something intermediate, such as running a bit and doing it a bit cocky. These animations, as I said, are cycle-type. They never end. When they end they start again from the beginning. And the other fact about action-type animations, are these effects we have here which execute the animation if we press them. In this case, we have archery. She shoots the arrow and goes back to the cycle-type animation. Also, if we look carefully, this action-type animation doesn't affect all bones. That is, the character can keep walking and the archery only affects the torso. That is, the upper part of the body. Or we have the second animation effect which, in this case, is the wave. In this case it only affects the character's right hand. Let's talk on more elements from Cally demo this library allows us to see... These detail levels would be the character's maximum, which is max. But we could implement it a lower level, as in this case the coloring and calculating cost would be lower. But if we are speaking about a character which is very far we wouldn't notice the difference. For example, if you look carefully, we are at LOD's 100%, so we move away the character, the further we can. And now I lower the LOD. So, you see. From this point to this one there isn't practically any visible difference. Not at all, if we go under 10% we see the difference, but otherwise we don't see any difference regarding 100%. So, this improves performance. If I leave it here and I move towards the character, we see the difference. So this detail level can be applied in real time. We saw the character is much more simplified than if we have it at 100%. Obviously, if we were closer we should have it at 100%, but from a distance we have seen there isn't any problem. Here we have it at 100%. And there approximately at 5%. Which more elements we have in this demo? On the other side we have the bones button which shows us our character's bones, right? Without seeing the character itself, without seeing the geometry. Then we can see in wide frame over the character's bones. Then the containing boxes of each bone, which can be used for things such as collisions. Then we can see it this way. And finally we have three kinds of characters. The skeleton and a warrior girl. This would be Cally's demo version. Before we begin explaining the code part, we will explain the concepts of cores and instances. When we explained texture manager, we did it really fast and without giving details on what we were doing. Cores and instances differentiate that, when we load in the memory an element which will be used by many other elements, or many characters, or many assets in our game, we won't have to load it many times in our memory. We can load it just once and each of these elements will be used this single time it is loaded into the memory. The element which is loaded in the memory just once is the Core. Core element. Which is common for all the elements. These elements which are repeated "n" times are Instances. In the on-screen graphic we have right now, we can see we have three cores in memory. Core 1, Core 2 and Core 3. And that Core 1 is being used by Instance 1, Instance 2 and Instance 5. Core 2 is being used by Instance 3 and Instance 6. And the Core 3 is being used by Instance 4, Instance 7 and Instance 8. At a Cal3D level, we can also clearly find the difference between core and instance. Just so you make yourself an idea, the bones system, the geometry rigging, or the geometry itself will be only once. It will be in the memory just once. This means it will be core information. And for each of the animated modules we paint we need to have the animation state. That is, the bones' state in this frame dome. These will be instances, either skeleton instances or bones instances.