 Hi everyone. To this live rigging session, my name is Demeter. I am the character rigger at the Blender Animation Studio for the last three-ish years, which means I have rigged the rain character, which I can scroll down to here, which if you are animators then hopefully you're familiar with because apparently it's been very popular and apparently people don't hate this rig. So Rain's rig was actually built bone by bone in a very painful way, but that was the last rig that I did that way. And then every rig that the Blender Studio has released since Rain onwards has been made by me. So the ones that you see here that are the settlers characters, those were also made by me. By that time we had a procedural rigging workflow working, which is called Cloud Rig, which is my feature set that is built on the Frigify, which I will show off today of course, and then of course Sprite Frite. So all of these characters are available at our website on studio.blender.org. I think some of them are free and some of them are not. I believe Rain and the settlers characters are free, and the Sprite Frite characters I think are still behind the paywall. So give us money and you can have rigs. And then the latest rig that we've made was Snow, who was also rigged live for the most part I believe. And the live streams of that rigging process are available on our YouTube channel. So today's session is going to be very fast. If anybody watching this online wants to follow along, do not because you won't be able to, because I have 50 minutes and my goal is to rig Sintel as far as I can. And there's going to be a lot of skips I think. So I have some checkpoint files where I can jump into the future. So I don't have to do everything. But the goal of the session is to showcase my workflow. And I would love to hear from other riggers how they do things differently. And I would also love to see other riggers sometimes of, you know, because I was just in the rigging special interest group talk yesterday where I was chatting with a bunch of riggers and we seem to recognize that everybody works in a different way where everybody had to hack their own tools and all that stuff. So that's what I'm going to show today, what I've hacked together for my workflow over the past three years. Okay. So, and that's about it. Let's get started. So I have Sintel here with some detail meshes I believe he didn't, not yet he didn't. Okay, now they're hidden. So to make this easy and for the sake of time, because time is very short, we're not going to worry about those detail meshes. But what I would do probably is to just slap a surface deform on them anyways. In fact, maybe I've already done that here. I don't know. So the point is here we have just some meshes and shaders that were done, you know, ten years ago. Oh, so why did I pick Sintel? I don't know. She was there. So let's see how I would start rigging this. Normally, of course, I would start with one of the presets that I've already made for humans. So I have a basic human metering built into Cloud Rig. And then I also already have a metric specifically for Sintel that would be cheating. So we're not going to do that. So I'm just going to show you how you would start from absolute scratch, because I think it's more interesting, even though it makes the whole time constraint thing a lot more stressful. But so here, I'll just spawn a bone, put it roughly in place, praise the Lord and my keybinds are actually working. We'll rename this to spine one. And then I have my own extrude operator hacked in, which just calls the regular extrude operator. But if you notice here, my bone names are not being butchered. But instead, so it's normally when you duplicate or extrude the bone, you would get the .001 ending and I had enough of that after two years. So I just hacked something. The only downside is when I press E, I have to then press G, otherwise it doesn't work. Don't worry about it. Okay, so we have some bones and let's, I'm going to assume that maybe some people watching aren't familiar with the rigify workflow at all. So I'll try to explain, even though I'm speaking very fast, I'll just try to include as much information as I can. So what I'm building now, what I'm trying to build now is what I call the metarig, not metarig, meta rig, as in like a rig within a rig, which is not what it is at all. It's more like a rig that will define the behavior of another rig, which I will refer to as the generated rig or the control rig. So for the metarig, our goal is to just place the bones to find out where the character's joints are going to be. And also to assign rigify types, which you can see here, and that's an interface that comes from the rigify add-on, which maybe I should show off really quickly. So in Blender, you have rigify as a built-in add-on that you can enable. And then if you want to get Cloud Rig, which is the feature set I will be using today, then you can just go on Blender GitLab Cloud Rig, and you can download Cloud Rig from there and you can report issues and wow, that's bright. Okay, and let's go back to Blender and remember to full-screen. So let's say this is a spine, and the thing is, so to know how to use Rigify or Cloud Rig, you kind of have to be, you kind of have to have an idea of what rig types are available. And these rig types are of course like, you can kind of think of them as like a node group in shading or geometry nodes. There's a bunch of, and I wish that this was also made with nodes, and there are endeavors in that front currently going on. But so the point is they are just a bunch of preset behaviors that have been implemented in Python, but they could be implemented in nodes if there was such a node system, and some people have made some. So, yeah. And so as you can see, once I assign the Cloud Spine Rig type to this bone here, which is the beginning of my spine, I see all these parameters, and these are parameters that somehow relate to the spine and what kind of rig is going to be generated, which I'll show up in a second. So I would say for now, let's just not touch anything. And I can come here to this window, and this button sometimes fails, but let's try it. So if you press generate Cloud Rig, there you go, we get a rig. But notice how it's ginormous, like the shapes are ginormous, and the way that is controlled in Cloud Rig is a bit esoteric, but you just have to bear with me. So you have to set the display type to bendy bone, and then you can scale the bendy bones with control alt S. This is just a visual scale. This is not like an actual scale of the bone. So if I go here to the place where it shows the scale, you can see it's still just one on one. So that's just a visual scale for bendy bones. And if I regenerate now with a shortcut, which I'll be using from now on, well, now everything is way too small. So let's try it again. And I just kind of mess with this until it works out. And I can also toggle between the generated rig and the metric with shift T. So if you see the rig, like flipping like this, that's what I'm doing. And generally, the metric is not going to have bone shapes. So that's how you can recognize that one is the metric and the other is degenerated rig. So I hope it's kind of starting to make sense, the relation between these two things. I could rename this to, you know, meta-syntile and this one to rig-syntile. But when I jump into the future, that renaming is going to be undone because when I first rehearsed this, I didn't do that. But anyways, something that annoys me usually by default in Rigify is that the bone colors are, they have this thing where if you select them, then they're always the same color and I hate it. So there's an option for that. Here in the Rigify settings under advanced, I have unified select slash active colors. I disable that, I regenerate and now my bone colors are how I want them. Okay, so we have a hip and also I can press shift M to get the armature layers. This is something that is kind of a, it's something that originates from Rigify and then Cloud Rig built on top of it. Of course, there's a million add-ons out there that let you name armature layers and this is just one of them. So we can show hidden layers and show the deformation bones and you can kind of see what the rig is doing. Of course, the mesh is not deforming yet because it's the next step. But yeah, so this is the kind of rig that we're getting here. The issue is currently it thinks that the head also belongs to the spine. Also, we have this panel here, the Cloud Rig panel is also being generated by the whole system. There's just a big Python file that's in the text editor. Oh, no, not my notes. So here's a giant Python file that just gets output and that is responsible for this interface. And in this interface, what I want to do real quick is to switch the spine to IK because that's more interesting. So this is the IK spine rig that's included with Cloud Rig. That's fairly straightforward. It's quite similar to Rigify. It's just like differences. But the issue is right now the head is part of the spine, which is not what we want. So I'm going to go back to the Met Rig and what I want to do is, so because Cloud Rig assumes that each bone chain is like one, basically one rig, or one rig element, so when I assign Cloud Spine here, Cloud Rig will go down the chain and assume that as long as there aren't, there isn't a branching like a tree of children in the skeleton or another bone that has a rig type, it's going to be one thing. So this whole thing is the spine right now, which is not what we want because I want this to be the neck and this to be the head. So I can do that. And for the neck, I don't have anything special. So I just tend to assign the Cloud FK chain rig type. And for now let's just do that and regenerate. And now you can see the spine is down here. It's not so exciting without the IK. There you go. So now the spine is down there doing IK stuff. And you have a simple neck bone, simple head bone. That's fine. Okay. And then let's call that done, even though of course there's a million settings here that you can play with. And I could show them off, but time is of the essence. So let's continue by slapping down the shoulder here. Call it shoulder.L. I should probably worry about the X's, but forget about it. And then you want the elbow and this I want to show because it can get people kind of bamboozled. That there is something specific you need to do about the shoulder. I hope I get it wrong the first time. With Cintel I should get it wrong because of the way her limb is shaped. It should be there. So if I just do this. So what I did now is I'm just trying to snap my joints, like let's call the points between the bones joints. I'm just trying to put those to the center of the mesh, which is what you would probably do intuitively, which is fine. But now if I assign my cloud limb type to the shoulder, which is what you use to create arm rigs, and then I regenerate, it's probably going to go badly. Okay, first of all I need to name my bones properly. So let's do that. So this is shoulder to L. This is upper arm to L. Always got to name your bones. It's boring, but you got to do it. Elbow to L. Well, if you already have a metric prepared then you don't have to do it. So there you go. What happened now is that it's like, you know, the elbow is not really bending in the direction that they would want. Also the archipelago is down here. And the reason for that is of course because the curvature of this bone chain is like this. And Cloud Rig just uses that to determine where to put the archipelago. So in your character's model you kind of have to, you want to be aware of that and try to make it possible to make sure that the bone chain can be, the curvature of the bone chain can point towards the elbow. I hope that's a sentence. And so we're going to try to do that. It seems that it can be a bit tricky. I'm not going to try to make it perfect. So this one might be too low. It doesn't matter. Okay, this should definitely work now. It's quite extreme. So there you go. Now the whole target is back here. And then this elbow should be kind of, it's better. Of course you can tweak this into oblivion until it's like a perfect thing. You can also mess with the bone rolls in edit mode with control R. Which I think would make a difference. You know what let's test it. Did that make a difference? I don't know. You know what, let's test it more. Quick iteration. Okay, I don't think that makes a difference to the direction that it bends in, which is kind of fascinating. But anyway, I have no idea why that is or why that isn't. Oh, God, that's not what I want. No. Okay, wait. You know what? We'll do this. And then we do recalculate to active bone. Good enough. Good enough. Okay. Then you would place the fingers. And that's like quite unexciting. So I think this is the part where I'm going to jump into the future. But what I would do just to show you is just, you know, pretty much what you would expect. Just place bones at the finger joints. And I mean, that is much trickier than it sounds, which is exactly why I don't really have time to show it properly. Because to place the finger joints in the correct position, well, that would kind of mean that when you just rotate the finger bones on their local X axis, you should get a fist with at least like, you know, forget about the thumb, but at least the forefinger should roll into a fist in a way where like, you know, all the first, what is it called? The knuckles are kind of aligned instead of like being all wonky and messed up. So that takes a lot of trial and error and going back and forth and regenerating the rig a million times. So I'm not going to do that. But instead, I'm going to jump into the future, but I have already done it. And if you want to see how that would actually be done, then go watch the live streams. Boom. It's done. So what I would do at this stage, oh, I also did the legs. I think that's fine. How's my time? Actually, kind of good. But that's fine. I'll briefly show something about the legs. Oops. So the fingers are really not that exciting. These are also cloud FK chains. There is also a cloud finger rig type in here, which has like some fancy behaviors. Maybe honestly, I didn't even test this. I don't even know if it's going to work. Okay. So this has like IK switching in it, which we don't really use this at a studio. I think maybe one rig in sprite fright ended up using IK fingers. But it's quite rare that the animators wanted fingers. So it's super hidden. I'm not a big fan of this. This interface kind of falls apart when there's 10 fingers. Each of them have four sliders. But so yeah, it has IK, as you can see. And then you can do like stuff like this. So it's kind of fancy, but also kind of unnecessary for my animators. So I don't tend to use it. So I'll just put it back to a cloud FK chain. And a cloud FK chain is a super simple rig type, you know, just bunch of FK bones, cartoon bones, pretty much if you use 3GFI, it's more or less what you would expect. Yeah. So that's the fingers. Very simple. I also don't have any like big controls here that like make a fist or things that like affect the outermost fingers and that kind of stuff. I used to have that when I first came to the studio, but then the animators said that they are not using it. So I should stop wasting time on it. And so I was like, okay, fine. So for the legs, so I already have them set up here because I jumped into the future, which is fine. But I just wanted to show off that this is using a cloud leg rig type. And what it allows you, what it expects from you, first of all, is a chain of four bones. So different rig types might have different expectations. Like the spine works with any number of bones. That's fine. The cloud limb type expects a chain of three. And then you can tell this is a chain of three. It's not visualized at all, unfortunately. You just have to kind of know this, which is super sad, I think. But the only reason that Cloud Rig knows that these three bones are the arm, it's a quite esoteric reasoning. So because the rig type is assigned to this bone. And then this has a direct child, which is only one child. And then that happens again. But then this one has several children. So at that point, it's like, okay, that's the end then. Which is, yeah, it's kind of esoteric, but that's how it is. One more thing I wanted to show off with the leg is that it allows you to specify a heel pivot position with a bone, which in this case is this bone right here. And what that does in the rig is it sets up the foot roll thing. I don't know why this is all twisted, please ignore. So you get the foot roll. And when you foot roll backwards, then it's pivoting around this guy for you. But moving this doesn't actually do anything. That's just there to mark the position of where it should rotate from. Okay, so the thing I would do once I am happy with my joint positions and whatnot, and also like the bone rolls and all that stuff you have to worry about. I think that's why I have the X is enabled here, which I'll hide now. What I would do next is going to edit mode and just hit symmetrize. Oh, excuse me, bone is hidden. Two bones were hidden. Okay, so just hit symmetrize and then regenerate. And of course symmetrize also symmetrizes the rigify parameters. So there you go. We kind of have a full body rig. Also, I wanted to show off some features I think more about the cloud FK chain. So as you can see, there's a million checkboxes here. One that I wanted to go into was the hinge checkbox because animators tend to ask for this, at least in my experience. So for the neck, let's say that I want to create a setup where it's possible to rotate the character's torso while either their neck or their head or both stays upright. And the way that you can create such a setup, well, normally you would have to create a bunch of bones and constraints and whatnot. Here you just want to make sure that this hinge thing is not grayed out. And well, I try to communicate that in the UI by putting it underneath its requirement, which is this one. So the create root just creates a root bone for this neck. And that's necessary for the hinge mechanism. So now if I regenerate, I should have shown you that this wasn't there before, but so now this is still not doing it. But what has happened is that now in the rig interface here in the sidebar under FK, we have a hinge section and this neck slider wasn't here before. Now it's here. You know what? I'll prove it to you by going back, disabling this and regenerating. There you go. The next slider is gone. So let's get that back because I want it. Well, it's not that important to be honest, but there you go. So that's what this does. And now you can move the hips around while the neck stays upright. You might want to do this with the head instead. Well, guess what? You can just, well, in this case, I could, for example, just select the head first and then select the neck. And then there's a button here to copy rigify type and parameters. So that's going to copy this cloud FK chain assignment and the checkboxes that I created here, well, the checkboxes that I set up here to the head. So now that's also its own rig type. And that means now it also gets its own slider. Well, the ordering here is super unideal. Also, I don't know why there's like finger stuff sneaking in here. Don't worry about it. This is fine. Okay. So now we have a rig. You've seen some of the features. And I would say I would argue that was much easier than setting this up manually one by one. Also, by the way, this is nothing. This is all the mechanism bones that you don't have to worry about because cloud rig just set them up for you. So that's nice. This part you wouldn't do anyways. So this is just the bones from the metric being copied over. But yeah, look at all this giant mess. You get all of that for free, kind of. Okay. So what is next? Let me look at my notes. I made a spine and neck and head. I made a arm. I made fingers. More fingers symmetrized. Yeah. Wait. Let's start doing some weight painting. Well, it's going to be very, you know, yeah, you know, what kind of weight painting is going to be? Well, so I'm going to do some very simple weight painting. So of course currently our rig does not deform our character at all. She's just been standing here this whole time for no reason. But now let's start actually deforming the character. And so the fastest way I can do that, oh, look, my renaming of the armature is gone because I jumped into the future. So what I want to do is hide the details again. And because I'm prepared, I should, in theory, be able to just select all of these objects and click on my generated rig, press Ctrl P, and parent it with automatic weights. This is the YouTube tutorial way of doing it. Which is fine. That's, I mean, that's how I do it. It's very efficient. The only thing that I wish there was an option for is for the armature modifier to be in some clever place in the modifier stack because you know, all these objects, they come from the modeling department. They have a subsurf. The armature needs to be before the subsurf. Otherwise you're deforming a very heavy mesh, which is not what you want usually. So I probably shouldn't worry about this whatever. Okay. So now in theory, everything is deforming. There you go. You rig the character. So yeah, there you go. Okay, of course it's terrible because it's automatic weights. And so I want to find some rough spots and do a little bit of cleanup. Like, okay, let's take this where like the whole character, just there's giant gaps everywhere. Like, yeah, okay, of course, yeah, automatic weights usually have terrible results on the waste area. So I'm going to try to show off a little bit of my weight painting workflow, but please don't expect much because this is the part that's usually extremely finicky. It takes forever. But I will say a lot of people are very horrified of weight painting. And I understand that. But there are ways to make it not that painful. And I'll try to show some stuff. So first things first, I want to mention that some of the interface that you'll be seeing is coming from my easy weight add-on, which is on the interwebs. You'd never guess, Blender, GitLab, easy weight. And then it's here. So all this does, I have a shortcut for going into weight paint mode. And what that lets me do, come on, we have to click this twice. Okay. So normally to enter weight paint mode in Blender, you have to select the armature, select the mesh, then go weight paint mode and then you're fine. I hate that. Also, sometimes I have the rig hidden and I still want to weight paint it. So I just made an operator that reveals the rig, goes into post mode on it, all that stuff. So I just press control tab and I can start weight painting. She's lovely. The other thing is this context menu that's just, it's kind of like a quick shelf that I just had to build for myself in Python. Just all the buttons that I like to use. So this is like brush to things, which also affect every brush instead of just the current one. Auto normalize, which maybe I'll try to explain. Symmetry options, weight display thing. Yeah, how kinds of display options and some operators. So yeah, this is just a complete random my personal tools. But honestly, if you're horrified of weight painting, then just try to figure out how I do it because I'm pretty happy with how I do it, to be honest. So I'll be using this context menu a bunch. Yeah, which I have bound to W, which overwrites some other existing context menu in Blender that is like useless. And then this one I won't go, I won't be using, but there's some tools in there for hunting rogue weights and some operators for dealing with versus groups. That's fine. The most, the main thing I'll be using is this stuff. And also one more thing is some key bindings, which I believe are still not default and they might never be default. And that should be called paint something. So that's a lot of grease pencil. Whoa, please, weight paint, weight paint. There you go. So I have some key binding set up. So as you can see, left mouse is the regular, this is the built in thing I think stroke mode regular. And then I have control left mouse for invert and shift left mouse for smooth, which is exactly what you're used to in scout mode. And something that people have been wanting in weight paint mode for a long time. And it is actually now possible. But as far as I know, this is not existing by default because of conflicts with left click select or whatever. So whoever advocated for left click select shame on you. This is why we can't have nice things. But if you set those key binds up manually, then you are able to add, subtract and blur weights on the fly, which is how I work. So I have the add brush here. Always. I don't use the draw brush other people do. I just use, I don't know why there's like a bunch of these things. I only use add, subtract and blur. So the way that works, I cannot also press shift F to change the strength. But I'm kind of, okay. This is fine. Okay. And so let me just get rid of some bone layers that I don't really need, which is like, I mean, kind of everything. Maybe I should also show off the feature for generating a test animation. Maybe I'll do that in a sec. But for now, this is fine. So as you can see, I'm adding weights to the hip bone, to these vertices here. And because the leg is in this pose, I can see how that affects, you know, this particular pose, which is handy. So this is how I like to weight paint with the character in some pose. So I can see what happens to the mesh in a certain pose and hope that then the ways that I create in that pose will be good in other poses. And usually that's true, you know, also, I tend to not use the weight contours, but I think they're actually awesome. I just literally, I just forget. Yeah, I can highly recommend it's a newish feature, I guess, if, well, not that new anymore. So yeah, let's see, there you go, we close the gap. And you can see that I don't have to, like, I think, if you're using the regular weight painting workflow, then you would be like, jumping between this interface and this interface and clicking a bunch. What I'm doing here is just pressing control to subtract, pressing shift to blur. Shout out to Sebastian Parborg if he's here, because he made those keybinds possible for the weight paintbrush. So big thanks to him. Okay, yeah, I mean, like I said, I don't want to spend a whole lot of time on this. It's always going to be a disaster. Okay, at least let's make it a little bit better. I also have a keybind to toggle wireframe on control W as the per object wireframe, I think, which I think is quite handy. Oh man, like, this is nightmare. There's no fast way of doing this. I'm just, I'm just going to blur the hell out of it. You kind of get the idea though, like, that's really all my weight painting workflow is, get the right display settings. Well, there's auto normalize, which I didn't really explain here. And I don't know if I should cause it's kind of, it's going to confuse everyone. I'll try. So there's this option here, auto normalize, I'll show you the proper place where it normally is. How am I with time? I feel there. Oh my God. So auto normalize, does it is a tool tip and use ensure all bone deforming vertex groups add up to 1.0 while weight painting. I think that's accurate. So what that means is that as I add weights to one bone, it subtracts weights from other bones like that. Yeah, so that can happen. And what you want to do then is I have a key bind on shift C for the clean vertex group operator, which I assume is in here somewhere, clean. Yeah, so that one removes vertex weights that are like near zero, which I think should mean that I should be able to blur this now with a stuff flying away. So because probably like some random bone in the other leg had some tiny, tiny weights here. When I try to blur the weights on this one, they ended up getting added to whatever random bone it was waiting to. And the cleanup operator fixed that. Okay, there we go. I'm gonna call that done because time. And then what am I doing next? Am I jumping into the future yet? I'm looking at my notes. One second please. Do a little bit of weight painting clean up on the pants. Done. Make eye bones. Okay, and I don't have a checkpoint for that. So let's pretend that this leg thing is fine. Yeah. Yeah, let's reset everything. And I want to make some eyeballs real quick, which is just one of the features in cloud. It's very simple. I probably shouldn't have duplicated that head, but we're going to roll with it. So I'll call this I dot L. And as you would expect, you want to snap that to the center of the eyeball, which is not always the object origin. But sometimes it is depends on who did the modeling. And then you want to snap the end of that bone to the end of the eyeball like that, give it some reasonable bone roll, global X, sure, whatever. And what I want to do next is assign the cloud aim to that one, which is, of course, just a rigging setup that aims at a target. This one used to be called cloud I. And then I renamed it to cloud aim. And then I added like I specific behavior to it. So whatever. Don't worry about naming. Point is this will generate us a thing. Let me also parent this to the head because it's going to be important. There we go. So if I generate this and hide stuff that's in the way. So this gets by default put on the face layer, which is fine. And then we have an eyeball here, which doesn't do anything yet. But it also has a little target here, which you kind of can't see that it's doing something, but let me bring it closer. So it's just a basic look at setup with a damp track constraint. That's fine. But to make this actually work, I want to have a deform bone, which is optional for this rig. So I have to enable create the form. It's off by default. So I'll do that. And now I have a deforming bone here on the depth layer of my rig. So I can use that to... Oh wait. OK, so apparently I also did automatic weights for the eyes, which is not good. So let me just delete everything. And then hop into weight pay mode and just put a bunch of weights there. And because this eye mesh is using the mirror modifier, which is good, and this armature modifier must be right after that. Sorry. I don't need to fix that. It's just... It's hard not to. OK, so the mirror... The way the mirror modifier works for anyone who isn't aware is it will automatically try to mirror... Well, not try. It will successfully mirror the weights of vertex groups that end in dot L or dot R. And a few other naming conventions are supported. So as soon as as you saw right now, this left vertex group has both eyes in it. But as soon as I create a new group and name it exactly defI dot R, it suddenly gets this vertex group in it and suddenly the left vertex group only has the left eye. And that's because of the mirror modifier. I think it has an option for it as well. Yeah, mirror vertex groups or not. It's on by default, which is good. OK, so now in theory, we should be able to move our eye bone and it should move Cintel's eye. Lovely. Now we just need to do it on the other side. So I'm just going to come to the metric again, press symmetize, regenerate and we have two eye rigs. And, whoa. OK, so that guy is huge, which is fine because I was planned because I'm going to use it to show something off. There you go. You have an eye target for both eyes and I target for just one eye. These are kind of small, but whatever. The bigger issue for me is that this is huge. And it was just a cosmetic thing, but it's a perfect opportunity to show off a feature that I was planning to show off. So I would like to do something very specific, which is in this case to squash the shape of this bone to be a bit more pleasing for animators. So maybe something like this or something like this. Sure. So I want to make sure that when I regenerate the rig, those changes stay there. Right now, they will not. So I made this change. If I regenerate the rig, it's going to get discarded and I have this giant massive thing again. Let me undo that. So what I can do to make such specific changes this unfortunately requires some Python, but I still want to show it off. Oh, no. But I was given the advice to never show code. Don't leave. It's only going to be a few seconds and very, very little code. So something that you can do in Rigify and Cloud Rig both is create a little script that I'm in this case going to call CintelPostGen.py. And you can tell Rigify to execute this script at the end of the rig generation process by doing this right here. So I'll just specify the text data block and then you just do some Python stuff enforced under Python. And then you can always assume that the rig is going to be the active object. So we've got a context object. If I'm doing something like blatantly obviously wrong in the code, feel free to shout in. This should only be like two lines. So what I want to do is find this exact bone. So I just F2 Ctrl C. I have the name. And then I want to do rig.prose.bones. This thing, dot. And then we find out what this thing is called. So you can just right click on this and say, copy data path. Whoa. I guess I didn't need to type that part out. So custom shape scale x, y, z equals. And I know that this is a list of numbers. So is it possible to? No. And then I'll just have to copy these in one by one. Just fine. So now in theory, this script should get executed when the rig generates. And we should get our bone shape to remain like this. So let's try that. And it worked. Oh, but I guess I scaled it down earlier. So it's a bit bigger. That's fine. Don't worry about it. The point is, this is how you can make very specific, very small changes to the rig. At least this is one way to do it. Another way would be with the cloud tweak bone type in the meta rig. So you could create a, I'm not going to show this the whole way through, but if you create a bone here with the same name as the bone that you want to modify and then you give it the cloud tweak rig type that also allows you to make such small tweaks. But I prefer to do it in Python because I'm familiar with Python and that doesn't clutter the meta rig so much. And I like to try to keep the meta rig as clean as possible. So I'm going to get rid of that. But just so you know, if you are really allergic to Python, which I don't approve of, then you can avoid it. OK. So now, use potion script to tweak the target shape done. Oh, place the jaw and wait it. Uh-oh. OK, so let's start on the face. And time is like another 17 minutes if I'm correct. It should be fine, actually. So to get started on the face, how do you rig faces with cloud rig? How do you rig faces with Rigify? Well, not that easily, to be honest. So it's not, I don't really have like something like the spine where you just put down a bone and you press a button and it generates you an awesome spine rig. I don't really have something like that for the face. You could, I think, have that for like a specific face. And Sintel's face is reasonably generic, but it's quite stylized, I would say, still. But still, the point is I haven't developed a system like that so far because look at our characters. Like you think you can make something generic for this face and this face and have them share. I mean, OK, those two maybe. But this guy and this guy, good luck. So yeah, I tried and I failed. Maybe someone smarter than me could do it, but I sure couldn't. So do I use CloudJaw or CloudCopy? I think I'm just going to use CloudCopy. So all that said, that I don't have a generic face setup, I do have a generic jaw setup that does some fancy stuff for like being able to move the lips without the jaw and the jaw without the lips and stuff like that. That exists, but I'm not going to set it up today because it's kind of convoluted. But the next thing I want to show workflow-wise is that I have a thing. Is this in cloud? OK, actually, this is in CloudRig now, I think. So if I press Ctrl Alt E, which I don't think is a built-in shortcut, wait, wait, don't you worry because in CloudRig, we have an interface for built-in shortcuts. Is it there? It's not there. So, but if you have CloudRig installed, I need to make some proper interface for this. But for now, what you can do, so what is this Ctrl Alt E? If you set, if you find this operator and you set up a shortcut for it manually with this nightmare hotkey editor, then what that is, it's called Toggle Edit Widgets. It's an operator that I put into CloudRig because I wanted to. And it lets you pick without a preview because, of course, a bone shape that you want to quickly apply. So I'm just gonna, I have a jaw shape that I always use, so boom. There you go, don't have to model it. It's just there. So that's good. And now, in the Cloud Copy Rig type, the creative form is also turned off by default, so I'm gonna enable that and regenerate. And now we have a jaw bone, not very exciting. And then I'm also gonna show you how I start weight-painting a jaw bone, so here's some extra weight-painting for your pleasure or torture. Just because, again, I really want to, I want one of the main takeaways from this live rigging thing to be that weight-painting. It is trash, yes, but there are ways to make it less trash. So here's what I did here. I selected a bunch of vertices in Edit Mode. I go into Weight-Paint Mode, I press V to get the vertex mask. I rotate the jaw bone a bit, and then as I start painting, the vertices start moving to the jaw bone because I rotated it, and so I'm just gonna do that with this whole selection. That's probably a shortcut for that, but you know what, maybe I won't go all the way. I'll just start blurring it here. And there you go. Ah! Technical difficulties. Also, I can recommend these buttons if you're not aware of it. So this is like make my deformation visible in Edit Mode. It's a bit wonky if you try to move things or if you want to use like Transform Gizmos, which I never do. But anyways, for selecting stuff, it's pretty great. So I just want those lower vertices. There you go. To also come along. Eh, there's more. There's always more. Okay, let's just do the selection, go back to Weight-Paint, boom. Okay, and so I mean, you get the idea. You can also come in here. Something, a tip I would give if you are like in a scenario like this where you're inside the character and there's mesh behind your camera. Be careful with the projected fall-off shape, which I don't know if I should show it in my custom interface or the proper interface. Under brush settings, fall-off. I toggle between sphere and projected fall-off shape a lot. To quickly explain a sphere, we'll mean that my clicks as on Weight-Painting will have an influence in a sphere around where my cursor intersects the mesh. And projected is kind of the same except instead of a sphere, it's a cylinder that is projected from my viewpoint into infinity. So if I click here, because of some precision thing, sometimes it could end up affecting stuff that's behind the camera, which is a nightmare because you can't see what you just did. So if you're in a precarious view angle like this, use sphere, a fall-off type on your brush. So I'm just gonna do that. And so as I am adding these weights to the jaw, they are getting subtracted from the head because of auto-normalize. I don't know why this vertex is being so finicky, but there you go. Okay, so this looks like a proper nightmare, but you know what? At this point, I think it's close enough that we can maybe make it a bit cleaner by just doing a quick smooth vertex weights operator, which I love, except, well, yeah, you have to, okay. So I think, I don't know why, maybe somebody fixed it. Well, normally by default, it's not set to deform pose bones. Instead, it smooths, I think, only the active group, which is usually like pretty much always not what you want. You usually want the form pose bones. So yeah, if you use this operator, make sure to press F9 or bring up the redo panel and set this to the form pose bones, and then the operator actually becomes useful. Okay, so yeah, let me just do that a bit more, and now let's paint a bit more. There we go. So we kind of open the jaws, teeth are getting in the way. Maybe we'll take care of the two at some point. Okay, there you go. Close enough, it's a start. Whatever. Yeah, I hope that kind of gave some more idea of the tools in the workflow. And so now, might be a time to jump into the future. Let me look at my notes. Okay, okay, yeah, let's tell you what, I think for the sake of time, I will jump into the future where I rigged the teeth, because that's really not that exciting. So I believe I need my checkpoint number five. Jo and teeth waited, perfect, boom. And hopefully the weights that I did here are a bit cleaner. Oh, and I gave this one a bone group. I should also show that actually. So there you go, now the jaw opens and the teeth are coming with it in the tongue. And what I wanna do next is to place some lip bones because the final goal for me in the next 10 minutes, I guess, is to be able to make Sintel smile a bit. And honestly, I'm starting to get a bit concerned for time, but it's gonna be fine. Let's see. Well, in fact, maybe I'll just start skipping into the future a bit more. So here's a center lip bone. I want it to be properly centered. So I reset my cursor. I set the pivot to 3D cursor. SX0, boom, now it's centered. And then rename this to lip top. And then, well, actually, lip top center. Am I on German keyboard again? Why is ZY? Oh man. Lip top center lip. Lip bot center. Bone names are up to you, obviously. And so I'm just gonna, I could do this with bendy bones, which is actually what I did in the built-in Sintel metering. So that's an option too. Maybe I just generate this for a second just to show, whoa, that takes a second. So if you wanna rig a face with bendy bones, go for it, go ham. It's sometimes better, sometimes not. I don't know. Just try it, see what feels best. For the sake of simplicity here, I'm gonna be just rigging it with some regular old boring old bones, which actually, it has some benefits, but whatever. So I'm gonna slap some cube shapes on this because I am boring like that. It's gonna be a bit smaller. And I mean, yeah, I think I'm gonna skip this part because you can imagine exactly what I'm gonna do. I'm gonna have some lip corner bones and then something in the middle. And then what else I would need is another ring of bones outside of this because just these bones wouldn't be really enough to make a smile or at least it wouldn't be very good. So I would have something like this and they would all be properly named and that's exactly what we're going to see right here. Oh, but they're also weight-painted. Eh, that's fine. You've seen me weight-paint enough, I think. So here we have a setup of some lips that have been weighted. So the way I would weight-paint them just to show is really just because auto-normalize is turned on. So in a step before this, the bottom lips would be fully weighted to the jaw. The top lip would be fully weighted to the head. Clean it up. And then as I just add weights to a lip bone, it would automatically subtract the same weights from the head, which is exactly what I want. Another thing that you can do is select like the whole, damn it, row of deforming lip bones and you can kind of paint them together, which is especially nice for the blur brush so I can like blur them all together, which is kind of nice. So I can recommend doing that and you do need an option enabled for that, which is called multi-paint. I always have this enabled. It is disabled by default. Welcome to Blender. And so you can do the same idea with the whole outer ring. So because you can see that this whole area is red and you definitely want that. So if you're moving every bone here, you want the whole area to move, which means you want the head to have no influence here at all. And if you aren't careful, then you could have like these small bits of influence and that's not good. So yeah. And another way to get rid of that without multi-paint would be to just select the head and just subtract it. But for some reason, for me, sometimes the other way feels better. Okay, so we have lips and then I think I even set up a control bone here already, but hopefully it does nothing yet. Okay, so I also created a control bone, which is just a bone that does nothing. So this is just, excuse me, right? Why is it down there? Oh, retraction, okay. So I have a control bone here, which is just a cloud copy rig type, which I guess I didn't explain what cloud copy is yet. It's like literally do nothing rig type, basically. As long as everything is disabled, if we just do nothing, it just gives you a bone. And you might ask, well, why do you even need to assign a rig type for that? I don't know, because you have to. So yeah, that's just a bone currently that does absolutely nothing. And what I wanted to do is that when I move it this way, whoa, on local, local or normal, when I move it, come on. On this axis, I want the lips to go wide. If I move it on this axis, I want the lips to go up. And when I do both, I want it to smile. So let's start doing that in what? Six minutes. That's fine, it's fine. So the action setup system in cloud rig is what I'm gonna show next. So if I come to the armature of my meta rig, there is a section here called actions. Currently, it's empty. And what I want to do is create an action. So I'm gonna bring up, what is it called, dope sheet, action editor, create a new action, which you can just do by inserting a key frame or whatever. I'm gonna rig it name. I'm gonna name it rig.sintel whatever lips wide. And then we're gonna slap some key frames in there and I'll come back to this interface in a second. Wait, I wanna have this not here, but on the generated rig, so let me just fix that. There we go. So I'm gonna hide the control. I'm gonna hide the form guys, hide the wireframe. And I'm just gonna very roughly, like I said, it's not gonna look great. Don't worry about it. You know what, if you wanna make it look great, just slap on a smooth corrective. That's how you become a real rigger. Boom. Look how beautiful it is. See, amazing, perfect weights basically. Ironically though, I do recommend corrective smooth even for production. It's very fast and as you can see, it does a miracle. Just be kind of careful that it's disabled when you're actually authoring something so you aren't looking at false information. Like if your weight painting while corrective smooth is turned on, I think you're gonna have a bad time. Not as bad as if you would try to sculpt with corrective smooth on, but almost as bad. Okay, so look, I made a pose, the lips go wide. I'll symmetrize it by, I have a hot key shift axe to enable pose mirroring. So I just touch these bones again. I have a hot key control shift F to mirror extend the selection. And then I put key frames and then I go back to frame zero and then I reset everything with key frames. So we have some animation here. Well, it's just two key frames. And I want this to be linear, which is complicated, but you want this to be linear. Okay, the reason is because if an animator is moving the control and you are blending this pose in along with the animator's movement of this control, if this is set to bezier, it's gonna be weird because as your animator starts moving the control it's gonna be like blending into it slowly and as they move it a bit more, it's gonna be faster and then it's gonna be slower. You don't want that, you want it to be linear to what the animator is doing. So now we want to hook this up to the control that we have. So I'm gonna swap back to the MetaRig. I'm gonna add an action slot here and then I'm gonna select the action that we just created and then it complains immediately that control bone is missing, you need to specify the control bone, which in my case is called mouthcorner.l which is this yellow guy over here. I'm sorry, everything is cubes and there's like stuff in the way all the time. It's kind of hard to see what's going on. Okay, so I don't think I'm gonna have a whole lot of time to explain how action constraints work but if you go to the manual, I'm sure you can find some information about this guy, this is the action constraint and this is what CloudRig is going to create hundreds and hundreds of us, hundreds of for us in a production scenario, in our case maybe only like 10. So every single bone that has been keyframed by our action will need one of these constraints for every single movement that bone contributes to. So we want to specify some information to be able to set that up automatically. So frame start and frame end, if I look at my action that I created, you can see that it starts at zero and at 10. So that's exactly what you want, zero to 10. The target space and channel is what you want the control to, how you want the control to activate that pose that you created. So in our case, it seems to be local x axis positive and then let's say that we wanted to go up to 0.02. So we set the minimum to zero and the maximum to 0.02. And I think that should be it, it's complaining about tools. And so now if I regenerate the rig and in theory, so if I come back to frame zero so that the action isn't already being activated, then if I move this control, there you go. You have lips wide action. And so this is nice. Now let's speed it on the same thing for the lips up. So I'm gonna, there's a new one, this. No, I don't want to duplicate it. New. Rig, Cintel, lips up. This is gonna be, I'm also just gonna do it very quickly. Time is of the essence. This is gonna be very bad. Okay, you know what? Let's do it like this. You put the cursor there, bonk. Genius, okay. This is fine. Yeah, just some 3D cursor trickery. We're relying a lot on corrective smooth here. So I'm just gonna show how this looks without it. Honestly, I expected the worst. It's fine. Of course, with more weight painting and et cetera, this will be better. Oh, I also wanted to show off the shape key stuff. I don't know if I'm gonna have time. But for now, let's say that this is our lips up. We go frame 10, insert key frame, frame zero reset, insert key frame linear, metric action, whatever. This is why I recommend that you do not try to follow along. North corner dot L, frame zero, frame 10. Which axis is the other one? Y, I guess. Y, location, same numbers as before. We hope that it's positive. Go. Different axis. Which one is this axis? Y, positive. Okay, then something is wrong. Oh, because we selected the same action. Lips up. There we go, we have that. Okay, by coincidence, it kind of combines well, but not that well. So something I wanted to show off is when two shapes are activating at the same time, their combination is not always ideal. And in that case, you want to create a corrective action, which if you've rigged before, is exactly the same idea as a corrective shape key, except it's for actions. So I'm gonna make a new action, call it rig.sintel, lips up plus wide, and I'm gonna leave the rig in this position where both of the other actions are active, and then I'm gonna start posing, and I'm just gonna make some very small adjustments, but hopefully a visible adjustment. You know what? Maybe I'm gonna make her smile a bit less. She's sad, but don't worry about it. Oh man, it's kind of a nightmare. Okay, and then, I don't know, make this more curvy. Man. Okay, let's say that has been adjusted, and I want to, okay, wait. Do the same thing on the other side. Same thing on the other side. Oh God, this looks horrible. Let me also move this a bit back, move this a bit back, move this a bit down. Time is running out and I'm wasting time doing pointless stuff, whatever. So let's say that this is our corrected pose with some small tweaks, frame zero, frame 10, reset stuff, linear, and now what I can do is add another action slot, but this time, after I select my action, instead of specifying a control bone, another way to go to make this work is to enable the corrective checkbox which changes the parameter, so if I were to select a control bone, instead of this interface, you get this. You have a trigger A and a trigger B, and I'm gonna select these actions for those. So one of the triggers is up, the other is wide, and that's about it, and then you regenerate, and now the correction, what do you think? Is it working? What is on two? Oh, the frame end is on two. Thank you. So good. Okay, there you go. You can see she's smiling less, the correction is working. Ah, time, I'm over two minutes, okay. In that case, I won't show the shape key stuff, but if you wanna find out about the shape key stuff, it's somewhere. Online, right, rigging. Actually, maybe I should just show this whole area. So if you go to studio.blender.org, yeah, yeah, exactly, so this is exactly what I want to show, but so if you go to studio.blender.org and you go to pipeline and tools and rigging, you get kind of a rough idea and a lot of links for all the stuff that I've used today. So there's cloud rig, there's easy weight, and there's post-shape keys, which I didn't have a chance to show off, but it does have a tutorial video that I don't hate that much 20 minutes long, so maybe it's a good thing that I didn't get started on that, huh? Thank you so much.