Blender Lighting Fundamentals Light basics Light is energy that travels in straight lines called rays from a source. When light hits an object it gets either: Gets some of it absorbed by the material which turns into heat, dark object get hot Gets some of it reflected (bounced back), which is the reason why your eyes and camera can see the object Depending on the surface of the object it can reflect light differently: White wall reflects more light Black shirt absorbs most light A mirror reflects light in an organized way which is why you can see reflections from it Rough surfaces doesn't reflect light perfectly and reflects the light in all directions which is why you can see it and may look dull Some physics incoming! Light Physics When light bounces on a surface, the angel of incident is equal to the incident of reflection, and depending on the surface all of the rays can be reflected in the same fashion, or in the case of rough surface it will be reflected all over the place. When light hits a rough surface, even if the surface looks smooth to you, it can contain microscopic troughs and valleys, and light will bounce off of those gaps which causes the light to diffuse, and that is why you can see the object in any angel as long as light is shining on it. However, in the case of a mirror because the light is reflected perfectly only at an angel only the eyes at the angel of reflection can see t he light, anywhere else you will observe no light. Shading in Blender Shading Shading is the process of finding the color and brightness of each part of a 3D object (or a 2D drawing) based on how light interacts with it. Basically how computer find out how "bright / dark and what color should this particular pixel be" for every single pixel. Obviously for 3D space it is extremely complex. Multiple factors come into play: Light source in the scene: Where does the light come from? Surface orientation: Which way is the surface facing? Surface is determined using normals (invisible line perpendicular to the surface) Material properties: Is the surface matte? Shiny? Metal? Viewer / Camera angel: Sometimes what you see changes depending on where you're looking from All this basically results in gradients of light and shadow that gives you illusion of depth, curvature, and texture to a 3D object that you see on a screen. So say a red ball is in sunlight: The side facing the sun is bright red, the opposite side is dark / reddish, and you're able to see that smooth transition in between, being able to see that transition is shading! Without shading you would just see a flat 2D circle. Type of Basic Shading in 3D So when you use Blender other other Polygonal 3D programs, models are made up of faces, vertices and edges as well. But what you actually see are the faces. If you take a look at the faces by themselves, they are by nature very flat. You can see that as soon as you load in the monkey model. You can clearly see each of the individual faces on the object. Of course in real life this isn't how it works because things are smooth and rounded object that exist all around us. Flat Shading This is the default shading method when you open up blender and start modeling. Flat shading is by definition flat, each face is assigned one color. Flat shading are great for low polygon cartoon character for games. Schedule 1 for example. Smooth Shading One of the ways that we can make object smooth is by using Subdivision. This splits up each of the faces on your model into smaller faces which smooths out the edges, and the higher the level of subdivision you assign the smoother your model will look. But if you zoom in you will still see the individual faces showing! And since subdivision adds physical faces to your scene adding more and more subdivision to your model will eventually crash your computer hence it isn't ideal! The better solution would be to use smooth shading! Smooth shading makes your model look smooth without actually adding or changing any of the faces on the mesh. It does that by using efficient algorithms to average the lighting across the faces on your model giving you the illusion of a perfectly smooth, soft surface. Smooth shading works on any 3D model, no matter how sharp the angels are in reality which make them really powerful! The slight difference between Shade Smooth and Shade Auto Smooth is that, Shade Smooth will smooth shade all faces, auto smooth on the other hand will only smooth edges with angle of less than 30 degrees. Toon / Cel Shading This is what I want to learn. Notice that all of the previous shading methods provides gradient to the light, you can see there is transition between light and shadow. Toon shading is a stylized way of shading which makes 3D object look like 2D by avoiding those gradients. It deliberately use flat color with sharp transitions between the light and shadow areas. You can see distinct area of the transition rather than seeing a gradient.           FK and IK FK vs IK In animating you will consider Forward Kinematics or Inverse Kinematics when moving your limbs. FK FK animating starts from the base of the the limb, for an arm it would be your shoulder, then to your elbow, then to your wrist. Each movement from the shoulder carries the same rotation and movement to the child bone. This the default animation and it is great for natural movements  where you would want your limbs to swing freely. This is the typical way of thinking about how your limbs and joints work. When you wave at a person you rotate your shoulder left and right while keeping your elbow and wrist aligned. IK This works differently from FK because you consider your movement from the end of the chain, such as the hand or the foot. You work backward to see how your current position of the hand and foot affect the position of your other limbs. This is great for animating someone who places hand in one place without it moving, but the rest of the body does. You would need to add in the bone constraint for inverse kinematics. Analogy FK is procedural programming paradigm where you specify the exact movement of the bone from parent down to the child. Movement from parent affect the child. IK is functional programming paradigm where you specify the end result, and the position for the rest of the joint comes from the end result.       Rigging in Blender Rigging Rigging in blender consist of three parts: Skeleton Skinning Controller Skeleton This is your bone structure. Just like human, animating models in blender would require you to specify a bone structure. Bone are order in hierarchy, so that movement from parent will also affect the movement of the child. Skinning After you do your modeling you will need to consider weight painting. How much your of your bone affect your modeling. Joint shared by different bones should have transition with weight since you want both joint to be affecting that pivot point. Controller Now when you're animating, yes you could use animate the bone directly. But if you're doing that why not just drive the Chassis of a car directly? Or just run a PC without it's casing and all it's fancy buttons? Having a controller is the same idea, you would wrap the bones in shapes: circle, arrow, square, whatever you want the shape to be so that it is easier to control during animation. You don't have to move the bones directly. Additionally, having controller allows you to have different controls over the same bones, you can have one controller that moves the actual model position, and another that controls the hip movement. They all affect the same bone but do it differently. If you only animate bones that wouldn't be possible. Hence, controller is an enhancement! Controller is done by adding constraints with the shape to the bone.]