My rigging journey part 10 – So now what?

My rigging journey is now finished. Just kidding. I am still learning. I went in total through 35% of the course I bought. I made 3 out of 5 rigs. The most complicated ones I have not even managed to touch yet. But I intend to get to them at some point.

The tutorials were great all in all. You could follow them mostly without much trouble. I never had to use a different file other then the starting file and my rigs still all worked out great. The documentation is a nice little conclusion at the end of each video. Pierre is a good teacher in this course. I tried to watch one of his more advanced courses on YouTube once, but you clearly see that they aren’t structured for beginners. Here he is building up speed in the process as you get through the course and are more used to the whole process. At first it was very handholding. For me coming with prior experience in 3D software it was sometimes too slow or things I already knew. Still, I appreciated the reminder as well as the repetition in itself. Having to repeat a lot of the steps again and again might be boring to write about but it helps me a lot to get it to stick. After all, I want to be able to use rigging as a tool. Something that I know how to do and can use it like cooking. I understand how to cook but I might have to look up a recipe if I want something specific. Lay said to me when I told her I want to learn how to rig that I already do. To some degree yes. I do. I know a lot more than before. Still, I want to finish the course and get to the nice difficult bits like a full facial rig.

At the beginning I thought I would get a lot more done, but hey I think I learned and adapted more habits for rigging than I had expected. As I see it, that’s the most important thing.

My rigging journey part 9 – UI and Rig overview

The UI for the rig was as in a previous tutorial. We just reused the file and adjusted accordingly. So far we have all of our custom properties stored in a cog above the head. But it would be nice for the animator to not always having to click on it while animating. The tutorial provided another python script for that. We only had to change some names and copy it into our rig UI. With that you can always do the IK/FK switch.

Just like that the rig is finished. It sounds like it did not take me that long. Still, the whole process from the first lesson in the 5th course to the final rig I probably spent 15 hours working through the course, changing the character in the middle, starting new and finding my mistakes. The process takes time and it is nice seeing things begin to move, but it is boring to write about it. So here is the finished rig. Yes, I talk a bit about it. (You can watch it muted, I don’t say too many interesting things)

My rigging journey part 8 – Foot rolls and dino arms

After torso and head rig we continue with the leg rig. The leg rig is a simple IK rig as I have done before for the spiderball. Takes some time but is again a repeat. The foot roll, however, is something new and pretty satisfying. Again, most of it works with mechanical bones with have constraints on them. The goal for the foot roll is to have the toes on the ground while the foot is rotated in one direction but following the foot when rotated in the other direction.

We can counter the rotation between 2 bones with the same roll adding a copy rotation constraint with inverted axis. Since I am not good at explaining and reading about bones and their relations is a lot more complicated then just showing, here is a picture of the build up of the foot roll. I am always thankful for the extensive documentation of the course.

As for the arm rig, this is where things get more time consuming. They got the princess treatment of getting an IK/FK switch. I have done it before, and it is always a bunch of work. At first we copied the arm bones 3 times, giving us 4 sets of arm bones. 1 will be responsible for the stretches, one is the Ik, one the FK and the last one are the original bones with are controlling the deformation bones. Similar as with the head we switch the influence between the bones with custom properties and a driver.

One step I skipped because Lay only wanted a simple rig – I was already overdoing it, I know – was making the arm IK switchable between parents. With this you can for example place the hand on the hip and it will follow the hip. It is definitely something I will come back to at a later point since it seems very useful.

The last thing needed for the rig were the fingers. They are a simple fk rig but with the adjustment that when you bend the second joint the third bend with it as finger usually do.

Special things with Lays character

Most of the tutorial worked fine when being used with a different character. Some things I did not need. For example, the tutorial character had shoulder plates. Yeah, I could skip that step. But I had to rig some accessories and a jaw instead. The jaw was easy. Just an extra bone with the head as parent. The hat works the same way, but the veil is something special. I wanted to try out a short tutorial I had seen so that you would not need to animate it per hand. It works with a bunch of bendy bones and they all have a damped track on them. It gives the veil a flowy feeling. I did the same with the coin chain on her skirt.

While the character worked well enough, I hate it, that it was not symmetrical. It was a pain in the butt when assigning and weight painting the vertex groups.

The character was not on the origin point of the file. I adjusted it for the rigging process, but it might have destroyed or changed the grease pencil. I don’t recall seeing it but it appears that it disappeared somewhere between me and Lay. I don’t know, but Lay seems to be fixing it as we speak. Also just generally navigating in the file of someone else is a bit of a challenge. I did not know what was important and what not and I was so spoiled from my tutorial files.

On a positive note, I liked the tutorial files, sure, but I was so much more motivated by working for someone else other than just me. It sped up the working process and I got through it a lot faster.

My rigging journey part 7 – One step forward another back?

The tutorial continued with a humanoid character. This time a robot – surprise – but it has some more organic parts. As always, the rigging process starts by creating the deformation bones. At this point I am pretty quick and experienced at this step. I have gotten used to the repeated use of the 3D cursor and I am a bit of a fan. I can tell that I am getting more used to all the needed shortcuts and that my processes are speeding up.

The next step was the skinning process. The tutorial went through the different options on how to approach. I have often used automatic weights before and adjusting how I needed it. This had in the past, however, led to me not knowing exactly what I was doing. Often everything got so much worse before I could fix anything. Therefore, I am a fan of using empty groups when parenting the armature to the character. Then assigning general areas to the vertex groups in the edit mode before moving over to details in the weight painting. As for the weight painting, working with small steps while adjusting gets a good result quickly. Don’t forget to put on Auto-normalize, otherwise a double transform could happen.

I was just getting into the little details of adjusting the weight of the neck, when Lay sent me her character she made for DesRes, asking if I could make some rig adjustments. She had used rigify. While it can be alright, I find it hard to work changes into it. So I decided I am just going to do my tutorials with her character instead of the provided one. Which meant for me scrap that, we are going back to step one. Let’s do all the Deformation bones again as well as the weight painting.

Now with this little side adventure I was back on track. Starting of with creating the Control rig, which essentially only means duplicating the deformation bones, putting them in their own bone collection and renaming them from DEF to ORG. And why is the naming convention important this time especially? Because we are running a Python script, baby! Yes, for the next step – putting a copy transform on all the DEF bones – a Python script was provided. Letting it run got rid of the process of having to do it manually for all the bones.

Now the more complicated part of rigging could begin again. Make everything work the way it is supposed to. Starting of with the torso, a center of gravity bone was created. Then we needed a way to adjust the different spine bones as well as move them together with one main controller. This worked as usual with a bunch of constraints and a lot of mechanical bones. Also important a connected child bone can’t be changed, cause it sticks to its parent. So we had to change some parenting from connected to disconnected. (Both in the ORG as well as the DEF skeleton)

The head and neck were similar built as the torso. The biggest new thing was that we created 2 custom properties which let you change whether the head and neck are following the body or not. This again works with extra mechanical bones and a driver system controlling the influence of the bones.

I don’t have as much to write about, since it was a lot of repeating processes. It really helps me get into rigging and I am happy for a lot of repeats which make me feel like the learning is sticking. Not always and everything, but a lot is now very clear to me.

My rigging journey part 6 – It is alive!

After I finished the rig I wanted to play a bit with it. So I chose to pause the tutorial for one blog post. I animated the spider ball with the intention of showing off most of its features. I went back to the basics and animated a bouncing ball. I tried using the feature of blender to simulate a bounce with the interpolation method. However, it caused more problems than it helped. It never had contact with the ground except at the end and you could not manually adjust the height. Since it is an interpolation type it would generate the bounce between the new keyframes again and destroy the intended bounce. So I switched back to manually animating it. I went with switching the interpolation to stepped in the beginning­ – something we were taught in the bachelor to do. It is a lot easier to get the timing right with the stepped mode. I started with only animating the the x and y direction. Then I added the spin and at the end the squash and stretch.

As for the other movements I wanted to show off the head and the possibility of moving it like BB8 in Star Wars. So the ball rolls in, looks at the cam and rolls out again.

Last but not least I let my buddy show his full pride. He is all grown up ready for anything with its handguns.

It is a very quick animation and I normally would go over it again several times but as I only wanted it to show off its capability I am happy with the little showcase I created. The only thing I think the rig is missing, are some sort of eye lids or shutter for the head. You could immediatly create more emotions by adding them.

My rigging journey part 5 – Proud parent of a ball with legs and guns

In the tutorial was only one step left. The rig got a UI with the help of python. A premade script was provided so it was easy to change for the needs of the individual rig. It essentially reads out the bone collections and their visibility of the armature. For that the armature needed to get a new custom property. The tutorial used a random string generator. A string is a combination of letters and numbers. This string was used as a rig id in the python script. With this it could find the right rig.

I have done some programming before which helps to not feel overwhelmed it. Despite me not having worked with python specifically, my creative coding lessons helped me to not feel lost. Even without the tutorial I could kind of understand what is happening. For the tutorial itself I only needed to change the names of the bone collection to what I had named them. One thing to remember for python is, that the rows and their structure is important. You can’t just indent a line. It will cause problems. By hitting text and then register the python script is now loading automatically with the blender file.

Conclusion

I am really happy with this rig. As far as I have tested it, everything works great. I appreciate how neat and structured everything is. Rigging can be a hassle and there is no need to cause yourself more problems by working half assed. I got reminded of this again, when a friend of mine had asked me to play doctor for her rig. It had at one point worked, but she could not move the IK arms anymore. I was so confused looking through the rig, trying to understand what was happening. Nothing was named correctly beginning with the whole armature which was called Leg1. I figured out, that she created the rig directly on the deformation bones. That alone caused tons of issues. Later I realized that she used rigify which apparently is known to create such issues. I found a weird bad work around for her rig and I created a video for her. It is not recommended to do what I did, but for fun I post it here as well.

Still now something was very off with her weight painting. Or has it always been off? I don’t know, but it reminded me of how little time I had during my bachelor’s for rigging. Creating a nice clean rig with enough time to struggle on some point wasn’t in the curriculum.  

So much for my rigging journeyso far. Meanwhile, enjoy my bot showing off his rig’s abilities.  😉

My rigging journey part 4 – We are balling

We continue with the arms. Like the legs, they also use an IK-system. It is a lot of repeating steps while rigging. Especially if you have four legs and two arms. For the arms the tutorial didn’t use a pole vector. With the way the arms are placed, there will not be a lot of popping, or it will not be visible. Again, a limit distance was used same as the legs. The only real difference to the legs was the creation of its custom shape. For the shape I created a plane and deleted the face with pressing X (only the face). I assigned the plane as the bones custom shape and aligned the plane in object mode with the placement of the bone. This way I can directly adjust the shape and can see it on the object. With the snap tool on I followed the form of the arm.
As for the gun and magazine both got a Limit Distance Constraint as well as custom shapes. The tutorial used arrows indicating the direction you can use. One rule for rigging is, if you don’t want an aspect to be animated later, lock it. For the gun and magazine everything was locked except one.

Since the arms where a repeat to the legs, the most complicated part this time was the head. The set up itself was easy enough, create a ne bone and put a Damped Track Constraint on it. The head will now follow this bone as if it is looking at it. However, since we want to be able to switch it off, it was time to spend some time on drivers. Drivers use small python operators and functions to create certain rules. For example, if I move a car, its wheels rotate. In this case the rotation is influenced by the x transformation. For our head we will create custom properties which will work like an on and off switch. To get back to the tutorial for the head I listened to a 50 minutes lecture about all of this.

Essentially, we want to be able to switch off the head following the body as well as the aim following the body. With this you can make the little robot roll like BB8 from Star Wars. We create to custom properties for each. To be able to switch between these modes, more mechanical bones with different copy transforms were created. The custom properties drive the influence of each copy transform. Last step again is to create custom shapes for the aim symbol, the head as well as adding a bone with stretch to to get the connecting line between head and aim point. It sounds so easy when I think back, but the execution took quite a while. Especially because somewhere in the tutorial was a mistake and I had to look through the comments to get the same result as he has later. Still, it works great now.

On the legs and the arms, we used a limit distance constraint, which works fine if you never plan on scaling the character. But what if? For that case some adjustments where made. One of the mechanical bones was used as a base. The head of the bone was snapped to the hand bone and then got the stretch to constraint as well as a limit scale. The scale is how far the arm can stretch out. Now the IK-arm bone gets the limit distance removed and gets instead a copy location. The copy location copies the stretched arm bone. In the constraint you can switch between the tail or head of the bone. We need the head for this. The legs have a slightly more complicated process (new bone etc.) but the principle is the same. The ball can now be scaled 😊

One little step is still missing. The Bolts or panels don’t have a rig yet, but since they should only be able to rotate in the y-aches they only got everything locked accept the y-aches. Also, they got custom shapes.

Another little fix for the legs was needed. At the beginning the stretch and squash was created. This causes with extreme poses some issues with the IK-legs and arms. The solution is a driver. We only want the IK active when the transforms are higher than a certain number. With this the stretching is fine again.

For the last step some clean up was needed. For example, the bone groups were split into left legs and right legs etc. Some unused values were also locked.

My rigging journey part 3 – hear me out: a ball but more complex

Back again with my rigging process. As already mentioned, the next project is the spider ball. The spider ball is a little robot. It is a ball that can extend its legs, head and guns. Since the model itself is quite complex the teacher provided it divided into different parts as Masks in the Modifier tab. I have never used it before, and it proofed very helpful. With it the different sections of the robot can be easily isolated.

As usual at first every deformation bone needed was created. Then the process of the basic ball rig repeated. Root, Rotation, Body and squash and stretch work pretty much the same.

I really appreciated using my 3D cursor to snap bones onto vertices. I can slowly see the appeal of it. I still don’t like it that I use it accidently all the time. I will get used to it.

The skinning was quick; due to the mechanical function there is no need for soft edges. The skinning was done with empty groups. The parts were selected and assigned in the vertex groups. The explanation that every weight is listed on the right side in the transfom window was helpful. In case something is assigned into multiple groups they can be kicked with one klick.

One thing I found myself thinking about again and again is how much I have learned in this rigging course about modelling. There is so much thought about how something will later work in the rig and animation in the model itself. Of course this is also a byproduct of it being a robot. Every function needs to be thought about in the design process. Behind the parts which open needs to be a fleshed-out design and not just an empty hole. I have never modelled a robot myself, but I feel better prepared to do so from now on.  It is fun to work with a model that itself doesn’t have mistakes in it and is properly prepared for the rigging process. It makes the work a lot easier.

The longest part so far of the tutorial is the IK-leg rig. Number one rule for all bones is that you don’t use the deformation bones in the final rig. Just in case something goes wrong in the process it is easier to go back. Therefore, in the first step the leg bones were duplicated and as usual put into a separate Bone collection. All the deformation bones get the copy transformation constraint, and they follow our copied bones. Then the IK Constraint is used. To keep the leg in the correct angle a Pole bone was added. To get it correct it is important to switch to Normals instead of Global in the Viewport and move the bone via the X Aches.  To keep the knee from popping IK-stretch can be used with a very small value. Since a robot is not stretchy a new bone was added at the beginning of the leg bone chain. With a limit distance from this bone to the foot the stretching can be negated. To get the correct length the length of the two leg bones needs to be added together. Just copy them and paste them with a plus in the blender tab console. Tada! Blender has a little calculator too.

As a last step everything got its custom shape and color. To conclude, I worked through 13 out of 26 lessons. Another 13 and the ball is finished.

My rigging journey 2 – Once upon a ball

I spent around 3 hours of my tutorial with learning basic constraints. I have used quite a few of them in the past and therefore I only listened to it as a reminder. I also feel like I learn it better when I actually see them used in a real example.

Constraints such as: (sourse 250 page documentation of the course)

The clamp to constraints forces a bone location to stick to a selected curve.
The damped track axis makes the owner targeting (aiming) at a target.
The Locked track allows the owner to aim at a target but limits its rotation to only one axis.
The stretch to constraint allows the owner to aim at a target, and alsochanges its length and width based on the target distance.
The track to constraint is great for cameras.
The Copy location constraint forces its owner to have the same location as its target.
The Copy rotation constraint, as all the other transform constraints, uses world space to world space by default. The owner gets the same orientation as the target.

Then it was time for my first rig.

I began where everyone begins. With a basic ball. Everything was still quite simple, however I don’t think I ever did a good working squash and stretch. The main focus of this lecture was to get into good habits. As an example, renaming your bones as soon as you create them by pressing F2.

Generarally the ball needed a total of 5 bones. The rig consists of a root bone, a deformer bone, a rotation bone, a mechanical bone and two squash or stretch bones. The root bone is above all the other bones in the hierarchy and every other bone follows the root. The deformation bone is the only bone directly influencing the ball model However, the deformation is depending on the mechanical bone, which stretches from (a constraint) the base to the top squash.

I had a few brief moments of confusion due to the fact that I work in Blender 5.0 and the tutorials are in a 3 or 4 version of it. The general instructions were clear and easy to follow with a few pauses in between.

The finished rig is clear structured and read to be animated with.

Here is the rig in movement.

The next project in the tutorial is a spider ball. It is essentially a little robot which can hide its head and legs to look like a ball. It jumps from 5 lessons for the ball rig to 28 lessons for the spider ball rig. I assume I will have more to write about next time. Stay tuned!

My rigging journey – Part 1

For my design and research blog posts I chose to return to rigging. To start off what is rigging? Rigging is the process of creating a mechanism on how something should move. It is comparable to building a skeleton. This is also the reason why some of the used terms are joints and bones. As soon as one object moves or influences another it can be called rigging.

Rigging is a general term used for both 2D and 3D animation. It is the step between creating for example a character and the animation afterwards. In other words, it is the step most people would rather skip, as do I.  However, since it is one of the steps that keeps me from creating my own animations with my own models I want to get better at it. I have some experience in rigging for 3D programs. In my bachelor’s I learned some basics in maya. The lessons were very quick and hard to follow along. I learned the most in my internship at a tiny indie game studio where I got to model, rig and animate a grey heron as well as a badger. The most complex rig was a crow I made for bachelor project. However, half of it was with an auto rigging tool. I still had to do a lot of manual corrections and that bird had so many feathers I had to rig one by one.

Still, I feel like there was never a very solid base of knowledge for the rig and I only applied what I needed now. This caused some problems later with the rigs and I had to redo a lot. I want to change that. This is why I searched for an extensive course on rigging. I found “The Art of Effective Rigging 2” by Pierrick Picaut on his Website p2design academy. I have watched some of his free content on Youtube bevor and figured it would be a great fit. The lessons are detailed, files for every step are provided as well as a pdf document were everything is documented in written form. The course is spilt into 6 major parts, which get longer and more complex. The parts are: rigging fundamentals, my first rig, spider ball rig, simple character rig, advanced character rig and full character rig.

So far, I browsed through the first chapter of rigging fundamentals. For me most of it is just repetition of what I already know. I still listen to the lessons because the course is for Blender and I have less experience with Blender than Maya. The repetitions should also help with the basics I might have forgotten parts of it. So far, I enjoy the course, even though it is nothing new to me. Basics such as what is rigging, parenting, constraints, armature objects or bones where covered. I will not go too much into the detailed explanations.

As for my goal of the blog posts, I want to follow along the course as much as possible and make a short video of the rigs created. The result will probably not be looking very pretty. Rigging feels to me a little bit like coding. It is a lot of thinking work, which can be annoying but very rewarding when it finally works out.