Blender [2.8/2.9] PERFECT Custom Bone Shapes - Part 2

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hi and welcome to part two of this tutorial which is all about creating and properly aligning custom bone shapes in blender if you missed part one please watch it it's a bit theoretical but it's highly recommended understanding the theory will allow us to do this part really quickly link to part one will be in the description okay i'm going to work with this character which is already rigged you can download the same blend file as i'm using link will be in the video description or you can work with your own rigged model either way i think you'll be able to follow along i have to tell you about the license of this model i got it from opengameart which is a nice resource for open source 3d models this was the original model it was also edited by this person and also me i did tweak the rig quite a lot everything you need to know about the license will be in this text area here please read it and then you can close this text area cool so we have this model which is already skinned and weighted to these bones we have control bones on layer 0 so that those are bones that will be animated and controlled by the animator the user because this rig is quite simple some of the control bones are also deformation bones for example these spine bones here and also we have pure deformation bones on layer 8 over here so these bones will never be touched by the animator so we can just leave them alone and so we only have to create custom bone shapes for these bones on layer zero so a lot of these bones here will need to be approached with the same technique that i showed you in part one and this is by far the most difficult task when it comes to custom bone shapes if you remember that's the case where you want very precise placement of your custom shape but your bones and your custom objects have very different orientations so here we'll start with the difficult stuff and then at the end i'll show you a few other examples which are also very common but they're quite a bit simpler okay first let's say that we want a custom widget for this shoulder armor over here the first thing that we'll need is a mesh object that will serve as a custom shape and we have to visually place it here in this area where we want it to appear as a bone shape so of course we could go to object mode and create a new mesh and model it but often it's simpler to just use the shape of our existing character so i could select the character go to edit mode and select some of these edge loops of the shoulder armor so this whole edge loop all around and then this loop down the the middle of the of the armor and then i'm going to press shift d duplicate it s to scale it up a bit i see that i have activated x axis mirror so i'm going to undo uncheck x mirror and then i'm going to scale up this bone you know move it a little bit so it's easily visible above the actual shape of the character now i want to make it into a separate mesh so with this shape selected i'm going to press p and choose selection now my shape is a separate model and that gave us a good looking custom shape very quickly i can go to object mode then and switch to this new model and maybe i want to edit it a little bit more i don't need all these vertices here something like that and this now this shape is almost ready to use however because we got it from this rig character it did inherit a lot of its properties uh in many of them we don't actually need i don't want this shape to be parented to the armature so i'm going to press alt key and choose clear and keep transformation i'm going to get rid of the armature and delete all vertex groups and that's it then i can rename it just press f2 it's common to give widgets the prefix of wgt dash so wgt shoulder armor dot l by the way if you're going to use this shape extraction technique that i show just showed you many times over and over you may just want to create a full copy of your character get rid of the armature modifier alt p clear and keep transform delete all vertex groups and then you're going to use this new model uh to extract your shapes i'm not going to do this here so i'm going to delete this duplicated model now that we have our shape we have to go through the steps we outlined in the previous videos first i want to visualize the axis for my bones so i'm going to select my armature go to object data properties and tick access on the viewport display and for my object i want to display its object axis so under object properties viewport display tick axis for this custom shape for the shoulder armor widget now the axis of this widget is in the center of the world i want to move it at the base at the head of this bone and align the orientation of this custom shape with the orientation of the bone in the previous video i showed you how to do this using the 3d cursor but actually it might be easier to use snapping but first i'm going to activate effect only origins all right and now i want to switch to vertex snapping as always i keep snapping off and i just press ctrl when i need to snap something so now i'm going to press g to move and then hold ctrl and now i was able to snap my pivot to the bone but it was also snapping to the to the vertices of this model so if you prefer you can hide this model temporarily okay i place the pivot over here for the sake of aligning this object pivot point with the orientation of the bone and the the problem that i'm uh currently experiencing is that this object gizmo is very very large and there is no way to control the the size of this gizmo from the interface options so what we could do is uh press s to scale the gizmo until it's the right size and then i'll start aligning the origins i'll align it from front view side view and top view and then repeat the same process once or twice okay and that's looking good to me now i can move the pivot hold ctrl until it snaps to the head of the bone and then very importantly i have to press alt s to return the pivot or the size of this bone the scale of this bone to a state of one one one if i press ctrl z you'll see that because i scaled this gizmo down this was reflected here in the scale properties so i'll press alt this okay and now my bone is completely ready to be applied as a custom shape i'm going to select this bone pose mode select the actual bone go to the bone tab custom shape and look for wgt shoulder armor as you see there are other widgets in the scene already i'll tell you about them uh in a second now when i applied my shape you'll see that the alignment is looking good but the size of the shape is not right and that is because currently we have scale to bone length option on and that takes the length of the bone into account when it calculates the size of this widget instead we want to uncheck this option and that will make the size of this widget exactly the size of the object that we used that is something that i didn't explicitly say in in the previous video so please keep that in mind okay so we align this shape with the left shoulder armor on the other side we need an exact mirror image of this shape and it would be nice if there was a way to create this kind of mirror image but i did try a lot of things and i couldn't find the perfect solution so what i would do is select my existing shape shift d and duplicate it and um and i should uncheck effect on the origins for a second okay and now there are a bunch of ways to create a mirror image of this shape but for all of them we need to make sure that our rotation and location are applied so i'm going to press ctrl a and just choose all transforms okay now we can use a mirror modifier for example but i prefer to go to edit mode select all vertices with a and now you can press spacebar or f3 depending on your keys and look for symmetrize mesh symmetrize and choose in my case plus x to x okay now we have a mirror image on the other side i'm going to press alt a then i'm going to select all of these vertices and delete them right this gives me a good shape on the other side but the alignment is still not good so we are going to do exactly the same thing we are going to again manually align this bone so tick effect only origins let's hide the dwarf move the pivot point to the tail of the bone scale the pivot down and then try to align these two pivots as best as you can front view top view side view okay this is looking fairly good i'm going to press alt s and then g to move and hold ctrl and snap it to the head of the bone then i can go to my armature actually let's rename this shape to shoulder armor dot r you can do it over here in the outliner or press or press f2 so go to the armature select your bone bone tab and select the shoulder armor dot r again untick scale to bone length and that's it so this is the exact uh technique that i showed you in part one but in a practical setting so i think now you see better how how this process works so we could use the same technique for the rest of the bones if you want to practice you're welcome to do so but i'm going to make my life easier and i'm going to use the the add-on that i showed you in part one it is this add-on again i'm going to make sure that to put a link in the description of the video you just have to install and activate this add-on as i showed you in part one okay let's unhide the character go to object mode and i'm also going to unhide this um collection called widgets over here and as you can see let's hide out the other stuff as you can see it contains a bunch of shapes that i prepared i did give them a random location and orientation so that you can practice i want to save some time but i don't want to make it too easy for you so let's untick effect only origins unhide our models and i want to put these widgets in the widgets collection okay i'm going to get rid of the access display from these widgets because it's distracting me so if i have them selected and just alt click here it will disappear okay let's select this head gizmo if i just place it on x x 0 it will be right in the center and then i'll in front of you move it down a little bit until it's aligned with the character something like that is looking good so now i'm going to shift select the armature go to pause mode select my headphone right click and choose set and align bone shape and as you saw in part one this just aligns our custom shape perfectly with a single click cool for the rest of these shapes i'm going to actually first visually align them where i want them to be so the leg is will be somewhere in this area this may be a little bit hard to understand but this is the control for the for the tool so i'm going to put the origin in the center to make it easier to control or i can also go to edit mode and edit it like this it really doesn't matter what i'm doing here is i'm aligning these shapes visually i don't care about origins and orientations something like that i want to turn off the in front option for this armature for a second because it's making my work harder it's making it harder to see what i'm doing this thing here controls these um side armors which are controlled by this bone these things are not automated so when you move the the character's legs leg you may have to adjust this if you want to learn about automating your rigs you may like my advanced riggify series and the ogre session in particular where i show how to automate not only a bunch of props like these ones but also how to create simple muscle simulations by automating a bunch of bones we also create this automation of the belly using drivers and so on if you're interested check it out link will be in the description so let's undo and go back to our character i want to again visually align this shape something like that and this will be the control for the hand and arm so i want to place it somewhere like this and that's it actually these are the shapes that will be aligning with this technique the rest will be done with a slightly different technique so here is what i'm going to do i'm going to select all of these shapes and press ctrl j to join them into a single shape then i'll press ctrl a and choose all transforms then i'll go to edit mode select all vertices and symmetrize positive x to minus x and again with all of these vertices and edges selected i'll press t and choose buy lose parts this will make each part of this mesh that we used to have a separate object the downside of this technique that i just used is that i lost the proper naming of all of these widgets that i have so i'll need to rename them manually okay i renamed my shapes properly now i'm going to select my rig tick in front again so i can see my bones and then i actually don't need my bone access anymore because the add-on that i'll be using does all of the aligning of the bones automatically so i'm going to untick it and then i'm going to start applying these shapes one by one so select the shape shift select the rig pause mode select the bone right click set an align select another shape shift select the rig pose mode select the bone set an align okay and i'll just keep doing that so this shape i want to actually assign to the ik control over here this is the ik control leg ik dot l and i'm going to press set an align same on the other side toes settle line and as you can see that was very very quick i still have to assign the hand widgets actually let's select the widget shift select the rig pose mode and i want to assign this shape to this ik rmik bone so set an align over here same thing cool and now if i go to pause mode i can just select my widgets and move my character and that's awesome i think you can see how fast and precise working with this add-on is okay as i said earlier let's now do some easy stuff i stopped the recording and i updated some of the widgets in the scene but you will have these updated shapes so we can keep working all of these remaining shapes here are aligned with the world if i select any of them and look under item rotation is set to 0 0 0. so one of the simplest situations is when we need to assign a custom shape to a bone that is also aligned with the world like the root bone for example i'm going to turn axis on for the for the bones in the armature tab and as you can see this root bone here is aligned with the world okay this situation is very easy because it is very simple to align an object with the world most of the time that is what you get by default or if you need to you can just select your object ctrl a and choose rotation and that will apply the rotation and if you use an object that is aligned with the world as a shape for a bone that is also aligned with the world then things just work so select the armature go to pose mode in the bone tab i'm going to set the custom object to wgt root which is this bone with the pointy arrows in it and as you can see with i just chose it and it's perfectly aligned i didn't need to do anything special you can tweak the size if you want to but it looks good to me so we can move on another simple and common case is assigning a spherical widget like this one here because the sphere kinda looks the same from any angle i can assign it to any bone i want and it will look kind of okay so here i'm going to use the sphere widget as a shape for the pole targets so the pole targets are these bones here that control the orientation of the elbows and knees so i'm going to select all of them and choose the wgt the wgt sphere here the bone length option is on and that looks good to me so i'm going to keep it that way however the shape was only really set for the active object but if i just right click on the custom object field and choose copy to select it then the same shape will be copied to all other selected bones this is a little trick that you can use not just here but in many areas of blender i actually didn't know this function until recently but a member of a discord group showed it to me i'm going to link to his instagram where he posts his animations also feel free to join us on discord where you can learn cool stuff like that okay another very common and fairly simple thing to do is to align a custom shape with the lengthy part of a bone if that makes sense every bone has a direction starting from the thick part of the bone and going up towards the thin part of the bone and the local axis that points in this direction is always the y-axis as you can see here the y-axis of this bone points in the direction of the of the bone here as well here as well and anywhere will look you you're going to see this pattern in other software you may actually be able to manually set this axis but in blender it's always the y-axis so when you need a shape for such a bone all you need to do is make sure that the y-axis of the custom object is pointing up here we have the circle i'm going to activate axis under object properties and as you can see the z is pointing up let's turn on in front for for the rig again and go to pause mode select the first spine bone this one is the pelvis bone this is the first spine bone and i'm going to choose the circle the wgt circle is a custom shape and as you can see the alignment of the shape is not what we want i want it i want the circle to be like this to be to go around the waist of my character so i'm going to go back to my circle under tool activate effect on the origins and i want to rotate 90 degrees on the x-axis and that will make the y-axis point up and as you can see that also aligned my shape as i wanted so i'm going to make it a little bit bigger and now it is properly set up then i could select all of these bones of the of the spine and neck shift select this bone which has the which has the custom object set up and again right click and choose copy to select it and also on the scale copy to select it okay these shapes for the neck need to be made a little bit bigger or you could even give them a completely different custom shape if you wanted to it's up to you i'm going to keep it like this now i want to set up the the pelvis and i want to give it the square shape so look for square and again we get this bad alignment i'm going to go to object mode i don't actually have to activate axis under viewport display because when i have the effect only origins option on we get this special gizmo in the viewport so again i'm going to rotate 90 degrees on the x-axis and that will align my pelvis shape i'm going to make it a little bit bigger and that's it okay now i'm going to do the exact same thing for the fingers for the fingers i'm going to use this spatula looking object and by the way the fingers that i have set up here behave the same way as in rigidify rotating rotates the whole finger and scaling curls the finger okay i'm going to select this thumb and give it the finger widget and the alignment will be bad so all i need to do is go to the finger widget and rotate on the x 90 degrees and here we can see that the finger widget is nicely aligned okay i won't need the effect only origins option on anymore so i'm going to turn it off okay now if i select all fingers also on the other side just the fingers and then shift select this thumb and again right click and choose copy to select it then all of them will become this shape now here is something very important for all of these fingers the scale is set to 1 and scale to bone length is on if i switch to edit mode you'll notice that the length of this custom shape is exactly the length of the bone if i make this bone for example a little bit longer and go to object mode or pose mode then this custom shape will become exact again exactly as the length of this bone to get this behavior there are a few things that you need to do first as i just pointed out scale should be set to one and scale to bond length option should be on and then for for your actual custom object you have to make sure that it is exactly one unit long so we have to look under dimensions not scale but dimensions and make sure that that the value of for the y axis is exactly one and also that the um the y-axis is pointing up and that will give you this shape that always runs along the the length of the bone and also it is exactly as long as you as your bone okay and with that we are actually ready to wrap things up one thing that you could do is give your custom shapes colors as well using bone groups so i'm going to turn off in front and then expand bone groups i need to go to pose mode in order to use this feature i'm not going to go into too much detail here i did cover bone groups in my rigify course and i'm going to link to the video where i talk about bone groups but anyway the basic workflow is that you add a bone group with this plus sign and name it whatever you like so i'm going to need props for example and then give it some sort of color let's choose the purple for for the props and then you select the objects that are going to receive this color and click assign okay i'm going to speed through this process you can do what i do or you can or you can choose your own colors so okay i gave my custom shapes colors that kind of make sense to me for the limbs on the left and right side i did something special i assigned red color to all of the limbs on the on the left side and blue on all of the widgets for the right side and i got this idea from luciano his youtube channel is the adventures of lollipop man and i highly recommend it he has a series on ridify and he shares a lot of tips about rigging and animation so check out his videos okay another good practice and that is also something that i learned from luciano if i'm not mistaken is to unify these colors that you have here so the first color here is the default color for this group the second one uh is when the bone is selected and the last one is for when this pawn is active and it's a good idea to unify the selected and active color so right now these colors are locked if you want to change them you need to switch to custom color set and that will unlock them so here i'm going to do this and and i'm going to give you the exact rgb and um and hex values that you can use for these colors okay i also made the default color for my widgets much brighter which makes it easier to see in my opinion and then if you select any of them you'll see that that they become this light blue color regardless of their default color and that makes it easier to see what is actually selected and active all right and now at the end i want to cover this override transform feature that we haven't really covered yet it is a feature that you're going to use very rarely but when you do need it it is very very useful so here i have the hand widget selected and if i set overwrite transform to let's say the head you'll see that this widget jumped in the area of the head and now if i move the head it will kind of move with it and if i select it and press g for example it will kind of move the hand as normally but it will stay at the head and as you can probably feel this is a completely nonsensical example so let's give an example where this actually makes sense so i'm going to press ctrl z to undo and i can't demonstrate this feature properly on the dwarf so i'm going to hide it and i'm going to hide all of these these widgets except for this one which i also just added to the scene but you will have in your scene and then i'm going to create a new single bone make it longer right click and subdivide it a bunch of times then i'm going to go to pause mode select the first bone then the second one press ctrl shift c and choose copy rotation under the bone constraints i'm going to choose local space to local space and then i'm going to select all of these remaining bones and then the second bone and choose pose constraints copy constraints and that copied this same constraint to all bones except for the first one so basically what happens here is that the rotation of the first bone will be copied by all of the other bones and the effect that it has is this automatic curving of the whole chain which is often used in stuff like tails tentacles and stuff like that okay so now if i place this widget over here uh maybe i'll make it a little bit smaller and apply the scale and now i'm going to use the add-on to align this widget with this bone and now if i rotate it it still has the same effect but having this widget over here at the base of this uh tail or whatever it is it's not really bad but it is not extremely intuitive either it would be nice if this widget was at the end of the chain so let's go to object mode and move this widget all the way up and then select the armature go to pose mode and with this bone selected right click and choose align bone shape and that will make this shape appear at the end of the chain but then if i rotate it you'll see that it lags behind the actual movement of this chain quite a lot and so again it is not very intuitive so i'm going to press ctrl z to move this this shape back to the base of the chain or in other words it will be again aligned with the first bone and then i'll switch the bone top and for over i transform i want to choose this bone which is bone001 so select it and the widget will jump at that position and now if i rotate the widget will be sticking to this last bone of the the chain and that makes this widget very intuitive to use so that's it with this i think we really covered everything there is about custom bone shapes i showed you all of the common problems that i'm i am aware of and i showed you my personal best solution for them and we even covered some really rare cases like using this override transform option thank you for sticking until the end of the video make sure to click like and subscribe all of that good stuff enable notifications so that you get notified when i released a new video and that's it see you in the next one
Info
Channel: CGDive
Views: 3,903
Rating: undefined out of 5
Keywords: 2.8, 2.9, 2.90, 2.90.1, 2.82, 2.83, 2.83.1, 2.83.2, 2.83.3, 2.83.4, 2.83.5, 2.83.6, 2.83.7, 2.83.8, 2.83.9, 2.91, 2.92
Id: YNvNJUUFe9w
Channel Id: undefined
Length: 35min 30sec (2130 seconds)
Published: Thu Dec 03 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.