Blender [2.8/2.9] How to create PERFECT Custom Bone Shapes

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
this is a tutorial on using custom bone objects or shapes or widgets in blender i'll try to cover pretty much everything you need to know even if you're a beginner or if you're coming from another software like 3ds max or maya cinema 4d and so on i'm going to show you a completely manual way to assign bone widgets then i'm going to show you an automated solution using an add-on and in another video i'm going to show you how you can edit the widgets for a rigidify rig if you don't know rigifi is an add-on that basically automates and simplifies rigging to a large degree so custom widgets can make a rig easier to understand and work with you have full freedom to make any bone take any shape you like so for example you can take a rig from looking something like this to looking more like this this has many advantages it not only looks nicer but it's also easier to select the individual bones and also the shapes generally tell you what you're going to be controlling so your rig will be more intuitive but anyway we are going to go back to this dwarf here and we are going to set up custom bone shapes for him but before that let's cover the absolute basics i'm going to start from a new empty scene in blender i'm going to need an armature so i'm going to press shift a armature single bone let's switch to pose mode go to the bone tab and find the viewport display area and expand it and in there you'll also see custom shape and if you expand it you'll see a field named custom object and now currently we only have our armature in the scene which won't work so let's create some actual widgets that we can use go to object mode in blender widgets are created from geometry from a mesh that may confuse you if you're coming from another software in other applications custom shapes are often created using splines or nurbs in blender you can kinda do this as well i'll explain that in a bit but generally we use a mesh so press shift a mesh and you can create any mesh you like i'm going to go for a uv sphere and move it to the side a little bit and for demonstration purposes let's also create a curve object so shift a curve and let's choose the circle and move it to the side now curve is blenders word for a spline okay let's go to our bone switch the pause mode and on the custom object now we have a couple of options just to see what happens let's actually try to apply the armature as a custom object and our bone just disappeared and that is because the armature does not have any geometry in it there are no vertices no edges and so blender simply shows us nothing let's also select the bezier circle and again there is nothing and that is again because the bezier circle is not a mesh it's not geometry in a second i'm going to show you a workaround so that you can use your curves as custom objects but now let's try selecting the sphere and as you can see our bone took the shape of this sphere and if you're more experienced you may notice that the orientation of the sphere is not quite right but yeah you can see that in my sphere mesh the polygons are bunching up at the top of the sphere but in my custom shape this bunching of the polygons is happening here on the side and that is actually one of the main problems that we encounter when working with custom widgets but i'll show you an easy workflow that works every time so stay tuned but before we go into how we can fix that let's cover the rest of the easy stuff under custom object you'll see scale and the default value is one and if i tweak this value by holding my mouse over it and scrubbing left and right then i can change the size of this custom shape and often you want to find adjust this size so if i hold shift while you adjust this value then the adjustment will be much finer and you'll have more control over it the next option override transform is quite advanced so i'm going to handle it separately then you're going to see another option a checkbox that says scale to bone length by default it is on and that will adjust the size of the custom widgets based on the length of the bone if i go to edit mode and select the end of my bone and make it longer by moving it in the z direction and then go back to pause mode you'll see that my sphere has become much bigger okay if i go back to edit mode and make this bone much smaller then again the sphere will become much smaller and if i draw a line over here and then switch to edit mode you'll see that this line is corresponds exactly with the length of the bone let's make it longer draw a line and go to pause mode and again the sphere will be actually i should change the scale to one and here you will see that the size of the sphere will correspond to the length of the bone and that reminds me of something else if you're coming from another software like maya or max you have to keep in mind that in blender this bone is using a custom object for its shape but if i switch to edit mode it is still a bone if we uncheck this option then the default size of this custom widget will become exactly exactly the size of our mesh and that can be very useful to get predictable results you have to ensure that the scale is applied under item it needs to be 1-1-1 if you scale this object up or down these values will change and then you need to press ctrl a and choose scale and that will apply the scale okay and then the last option that we have is wireframe and if i click it then this object will be displayed as wireframe and we generally don't use this option the default way to work in blender is to actually not use polygons but only edges and this is another thing that is a little bit specific to blender in most uh 3d applications you cannot have edges just floating in the air but in blender you can so if i go to edit mode for this sphere and alt click to select a edge loop and then i'm going to add a few more edge loops by alt shift and clicking something like that then i'm going to press ctrl i x and delete vertices and that will leave me with this wireframe looking object that is only made of edges and as you can see my custom shape also changed to this shape which only consists of edges now if i go to pause mode and select it whether i have wireframe on or off doesn't matter and actually the reason that people use splines is custom shapes in other applications is exactly this that you can have this kind of shape which is easy to select and see but does not overlap and hide your actual character okay finally i'm going to show you how you can use splines or bezier curves as custom objects so in the custom object field i'm going to use the bezier circle and of course the custom shape is going to disappear i'll go to object mode select the bezier curve let's go to edit mode and give it some interesting shape one of the benefits of using curves is that you can easily give them very complicated shapes that are a little bit hard to achieve with meshes but anyway let's do something like this go to object mode and then choose object convert to mesh from curve okay and right away the curve will be displayed as the custom object and that is because this curve or what used to be a curve is now a mesh if i go to edit mode these are just simple vertices and edges i'll go back to object mode and undo okay i'll undo until the custom shape is gone which means i'm back to having a bezier curve and here is a quick trick that you can use if you don't want to convert your curve to a mesh you can just go to the modifier tab for this curve and add some modifier for example triangulate will work subsurface will also work i'm not sure but i think most of these modifiers will do the trick so i'm going to choose the triangulate modifier because it it won't make our scene much heavier okay and now the curve is being used as a custom mesh but the cool thing is that this is still a curve which is visible over here in the old outliner this icon here means that this is still a curve i can go to edit mode and edit it as a curve and yeah that's it those are the absolute basics as you can see the orientation of this custom shape is clearly different than the object that is being used as a custom shape so next let's go into that to figure out how to align a custom shape correctly we have to talk about world and local coordinates orientations access and so on i know it's not everyone's favorite subject but understanding this stuff does pay off and i'll try to make it as painless as possible the world space coordinates are easy to figure out just look at the upper right corner of the thread view and you'll see the 3d viewport axis and it will show you that this direction is y this is x and up is z in the three view you can also see that this green line shows the y axis the red line shows the x-axis and i can even visualize the z-axis under overlays here are the viewport axis drawn in the viewport we can also visualize the axis for individual objects if i select this sphere and go to object properties viewport display i can activate axis and that will show me this viewport gizmo that represents the orientation of this object and as you can see the orientation is the same as the world orientation so in blender when you create a new object it is automatically aligned with the world orientation let's see how that works with bones i'm going to select my armature object and go to edit mode and to visualize the axis for individual bones inside your armature you need to go to the armature tab viewport display and tick access and this gizmo will appear okay there is under object properties viewport display there is another checkbox called axis but i'm going to move this bone out of the way a little bit and press slash to isolate so the axis under object properties is the axis for the whole armature as an object everything that we can select as a single unit in object mode is an object so the armature is an object each individual mesh is an object the bezier curve here is an object and so on so we don't know want this object axis we want the one under armature tab which displays the axis for the individual bones and you'll see that the axis of this bone is not aligned with the world coordinates you know the x is kind of pointing in the same direction but the y and z axis are not aligned with the world and that is not a problem in itself in fact most of the time bones have random orientation but that's the reason why the custom object that we applied earlier seemed to be oriented differently than the object that is used as a custom shape when these axes match when the axis of this in of the individual bone and the object that is used as a custom shape match then the orientation of the custom shape will be the same it and it will behave predictably so let's make a new shape where it will be easier to see the orientations i'm going to go to object mode and delete these two objects that we have and notice how the custom shape for this bone did not disappear even though we deleted the object that was used as a custom shape i'm going to talk more about this in a second but basically blender keeps a copy of this shape in memory so i'm going to make a new object this is not a modeling tutorial so i'm going to speed through it so i made this object that looks like arrows aligned with the world orientations if i enable access under object properties and enable x-ray i can see that the orientation of this object itself is also still oriented with the world and that's exactly what i need okay and now i'm going to select my armature go to pose mode for example bone tab and here i'm going to remove the current custom object and choose my new one and the new custom shape was applied and you'll see that it's oriented exactly as the bone is oriented the y-axis of the custom object is pointing in the y-axis of the bone object the x-axis of the custom object is pointing in the x axis of the bone object and z to z okay if i go to object mode select my custom object and rotate it on the x axis so that the y is pointing up then you'll see that i get the exact same orientation for the actual object and for the custom object that i have applied here i'm going to press ctrl z to undo now if i go to the armature edit mode and go to side view and kind of place this bone flat on the ground like this and then go to object mode you'll see that again this object and the custom shape are oriented in the same way and that is because by placing this bone flat on the ground i aligned it with the world if you pay attention to these axes and these ones you'll see that they are oriented in the same way and this object is also aligned with the world axis so that's it basically as long as the object that you're using as a custom shape and the bone that is using that object as a custom shape are aligned in the same way then you'll get predictable orientation of your custom shape so let's practice this a little bit more i'm going to orient this bone completely randomly okay i'm going to remove the custom object for now and now if i want to assign this object again to this bone but with a reliable orientation then i could do something like this move the custom shape at the base at the head of the of this bone and then i want to orient the y-axis to the y-axis of the of the bone it helps to go through front top and side views one by one and oriented okay so that's looking more or less correct so now i can go to the bone pose mode and select the cube which is my custom object and as you can see they're fairly well aligned with some more work i can do a better job but actually i'll stop here because this is not a very practical example the most challenging thing that happens a lot in practice is that you have a bone that is oriented in a random direction and you have an object that you want to use as a custom shape and that object is usually aligned with the world or it may have a random orientation so basically a bone in your object have orientations that don't match and you need to make them match so let's see what we can do in these cases i'm going to remove the custom object go to object mode and just delete this object that we used as a custom shape i'm going to make a new uv sphere for example edit mode and i'm going to do the same thing that we did before i'm going to turn it into a wireframe looking shape something like that maybe i'll pull one of the vertices up so that we have more complicated shape so that we can see what's happening so when a shape is very circular you may not be sure if it's completely aligned but with this kind of randomness uh we'll be able to verify that our alignment is perfect stretch it a little bit like that okay so i have this shape and let's say that i want to keep my bone with exactly this orientation that it has currently but i want its shape to be exactly as this object that i have here in the viewport to do that there are two things that we need to do one we need to move the origin of this object to the head of this bone that's one and two we need to make this orientation of of this object match the orientation of the bone that we see here if we try to apply this custom shape now it will be the shape will be oriented quite randomly and so one solution that was popular in all the versions of blender was to kind of orient this object as the custom shape in object mode and then go to edit mode and bring it back in the original position which i think you can see how it's very tedious and error prone so i'm going to undo until i don't have the custom object and then i want to select this object in object mode go to tools options and here you'll find the effect only options you can affect only origins only locations and only parents the one that we want in this case is origins so i'm not going to go into the other ones so if you tick origins and then try to move the object it will you'll notice that it stays in place i can use the gizmos or i can also press g i can also press r which will rotate only the gizmo not the object so the object keeps its orientation but its location rotation and scale parameters will be affected here so s will kind of scale this gizmo and it will that will be also visible here in the scale i'm going to press alt s to make sure that my scale is set to 1.111 and so i want to move this origin over here at the head of the bone and that is very easy to do i'm going to select the bone edit mode select the head of the bone shift s cursor to select it go to object mode select this object shift s selection to cursor and the origin of this object will be moved exactly at the base of this bone at the head of the bone okay and the second thing we need to do is to align the orientation of the object with the orientation of the bone now i always find it weird that the orientation of the bone is displayed here at the tail of the bone i'm not sure why that is even though the pivot point of any bone is the head of the bone so one thing that we could do is in edit mode set the cursor over here and then move the origin to it and then in this state i can double tap r and try to align the orientation of the object with the orientation of the bone again i'm going to do it from front view side view and top view and when you repeat this once or twice you'll have a fairly good orientation okay now i have to bring the origin back to the head of the bone so cursor to selected selection to cursor and that's it now my origin is exactly at the head of the bone and it's perfectly oriented with the orientation of the bone now i can select the bone go to pose mode and select this sphere object as the custom shape and as you can see the orientation is perfect it matches perfectly from here if i did if i wanted to change the shape of this custom shape i would just go to the shape go to edit mode and you know any edits i did i do here will be reflected in the custom shape once you're done don't forget to turn off origins over here otherwise you won't be able to move your object in you'll only be moving the origins but yeah any edits i did i do here will be reflected in the custom shape okay that's it for the manual uh alignment of bones next i'm going to show you how to do this with an add-on and you're going to hate me because it's with the add-on it's really really easy but i did want to show you the manual way because you know sometimes add-ons break and it's always good to understand what is going on under the hood so anyway let's get rid of this custom shape and then i'm going to place my shape roughly where i want it again and then you want to download this addon it is called orient bone shape by scaredy fish or something like that you can see the url over here and i'm also going to share it in the video description you have to go to this green button that says code and choose download zip that will download the zip file into your computer then you have to go back to blender edit preferences go to the add-ons tab install find where your downloaded script was located i have a folder called blender scripts and i put all of my scripts over there and now if i search for bone i'm going to find orient bone shape and i would click install i don't i already did that so i'm going to go back and over here i'm going to search for orient orient custom shape and i'm going to activate it okay and the way this add-on works is you need to have your object that you're going to use as a custom shape and select it then shift select the armature where you want to apply this custom shape go to pose mode select the bone that you want to affect and then right click and at the bottom of this right click menu you'll find a few new options that you didn't have before you installed this add-on and the first one is set and align bone shape just click it and just like that your object was set up perfectly and it was assigned as a custom shape to this bone let's go back to object mode actually let's undo because i already kind of aligned this bone and there may be some doubt that that influenced this process so i'm going to press ctrl a for this object and just choose all transforms and that will apply location rotation and scale then i'm going to shift select the bone pose mode select the bone right click set an align bone shape and boom there we go and now my shape is perfectly aligned all the alignment and rotating of the pivot and moving of the pivot that we did manually before is done here with one click which is great you should know how to create perfect custom shapes or widgets for your bones okay and at the end i just want to give you a little bit more information that may be useful if you switch to the armature tab on the viewport display you have a checkbox called shapes if that is unchecked then all bones will be displayed in their default bone shape so if your custom shapes are not showing then make sure this checkbox is checked oh and this add-on that i showed you actually has a few other useful features for example now i move this object to the side if i just go to the armature pause mode select this bone and right click and then choose a line bone shape then the shape the custom shape will be aligned with the current position and orientation of this object that i have okay i don't really want to do this so i'm going to press ctrl z to undo now i'm going to go to object mode select this object and delete it and as we saw before this custom shape did not disappear it is still somewhere inside of the memory of or inside of the data of this blend file but we are no longer able to change the shape of this custom shape but with this add-on we can bring this shape back i am going to go to pause mode select the bone right click and choose extract shape and here the shape is back i can go to it if i try to edit it it won't affect the custom shape so i would have to position it again and then again shift select the the armature go to pose mode select this bone and choose set an align bone shape and there we go my bone is again perfectly aligned with this new shape that i extracted okay that's it if you want more practice i'll add one more video where we are going to add custom bone shapes for a real character it's the dwarf that i showed you at the very beginning of this video so this video was quite theoretical and the next one will be just practice but i'll be sure to share some interesting tips along the way you
Info
Channel: CGDive
Views: 17,952
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: 5Rltnk36PtI
Channel Id: undefined
Length: 29min 16sec (1756 seconds)
Published: Sat Nov 14 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.