Augmented Reality from A to Z using Blender, Unity and Vuforia | part 6 : Rigging


Video transcript :

Rigging

Assalamualaikum. My name is Widhi Muttaqien.

This is part six of the video tutorial series. In case you stumble upon this video directly be sure the check out the previous videos before moving on. The tutorial series is about developing augmented reality product from A – to – Z using Blender, unity and vuforia.  These tutorials are all based on my previous experience developing my own augmented reality product which is this flashcards Arabic letters and numbers augmented reality. Basically a flashcards to help children learning Arabic alphabet using augmented reality. I leave links below in the description if you like to learn more or purchase the flashcards from amazon.

As I mention before and again and again. This video series is not intended for beginner users. You should already be familiar with the basic stuff in Blender.

In this video we’ll be adding bones to carny -our meat eating plant that we texture before-. We need to add bones to it so we can animate it later. Okay first make sure the 3d cursor is at the center, press shift C to center it. Lets see this in wireframe mode and from side view. Then lets add a bone by pressing shift A, armature, single-bone. Go to edit mode. Now we can drag the tail of this bone so that it match up the area where the trunk meet the dirt. Press E to extrude which is basically adding a new bone as the child of the current bone. Now, we can move this around freely which is not what we need, we want it to move straight up. So, press Z, this will constraint the new bone position in z axis direction.

Okay now notice we’re not very sure where to put the bone because we can’t see all of the edges in the trunk. To fix this go back to object mode and select carny’s 3d model. Go to properties panel and find the object tab. Down here you will see this option “draw all edges”. What this option actually do is showing the actual edges on the object. Because by default to increase performance blender usually hide some of the edges which are placed on the same plane.

Okay lets go back to the bone. Edit mode again. And move this end of the bone to about this position. We want it to have 3 bones inside the trunk. Because we have 9 segments we can allocate 3 segments for each of the bones. So  lets extrude this one up, press z. Move it to this location. Okay. And another one.

Okay now for the head, lets extrude again and move the bone tail to this location at the nose. Extrude again so we have a bone like this. Now, this bone is for the jaw, therefor we want to split it from the head bone. To do that press “Y” to split. And then press “G” to grab it and move it to this location. Make sure the starting point of the bone is located in the jaws joint location as this will be the center of the jaw’s rotation later. Okay now we need to parent this bone to the head bone. To do this select this bone first, hold shift and then select this bone also. So this head bone should be that last bone we select. Press Ctrl+P to parent, choose keep offset. Now, the jaw bone become a child of the head bone.

Until now the bones aren’t connected with the 3d model yet. They are separate objects that move on its own. So our next task is to make them linked. Go to object mode and then select the 3d model. Press shift and select the bones. Remember you must select the bone or armature object the last. This will make the bone object become the active object. Okay now press ctrl+P. As we can see this will open up “set to parent” dialog window. What we want to select is this category which is “armature deform”. As we can see blender provide different kind of armature deform in here. Personally I always use empty groups as I like to paint the weight manually vertex by vertex. It’s a lot of work but we can get the exact vertex weights that we want to achieve faster. I never use envelop weight which basically control the vertex weight by using envelopes. Because we want it to make this tutorial as simple as we can. We’ll go with automatic. The automatic option, will let blender determine which vertices belong to which bones, based on their proximity.

Okay now that we’re done linking the 3d model to the bones. Notice when I select the 3d model we can see in the modifier tab that blender has add this armature modifier for us. This modifier is the one who actually drive the vertices to follow the bones. Also something to notice is that when you open the outliner, now the 3d model become the child of the armature object.

Okay now to test whether the armature linked correctly to the 3d model or not. We can move around the bones to see how it affects the 3d model. But before we do that, to make the process easier. First select the bone. I’m on object mode right now. And open the armature tab in the properties panel. In the display section change the bone display to stick. This option, will only change how blender display those bones and this does not affect anything on how they work. Next we want to always see the bone even though they are located inside the 3d model. We can do that by turning on the x-ray option in here. Now if we go to solid mode, we can see the bones clearly as it always rendered on top of the 3d model. Therefor easier to select when doing any animation.

Okay now select the bone and go to pose mode. The pose mode is the mode that you use in animation process. It allows you to select individual bones without breaking the original pose we have in the editing mode. Okay lets do some rotation on the bones.

As we can see the automatic weighting has done decent job but we still need to fix several part of carny.

Lets start with the pot area first. Select the 3d model and go to “weight paint” mode. Now before we do anything else make sure the auto normalize in here is active. I won’t explain this too much in detail, but basically this will make sure every vertex have maximum 1 of total weight value distributed across the bones. Okay now select the bottom bone. Make sure we use draw brush. Set the strength to 1. And then just draw the weight like this. Red color mean that the vertices will be influenced by this bottom bone at 100 percent. If you want to see the color better you can press “Z” to go to wireframe mode. Wireframe mode in weight painting will make the color popup as there are no shading whatsoever on the surface. Keep painting until we get to the end of the dirt like this.

Okay now select the first trunk bone. We can see green color in here. Green means  0.5 weight value or 50%. Just paint all of this red. If you need to see through the mesh you can turn on this option “limit selection to visible” This way we can paint through the surface and make our current weight painting faster.

Okay this edge loop in here is located exactly between this bone and this bone at the bottom. So it needs to be 50% affected by this bone and 50% affected by this bone. To do that. Change the weight to 0.5 and brush away. Because we turn on normalize in here, when we set this to 0.5 to this bone. The other bone which is this bone will get the rest of the weight automatically, in our case is 50% also.

Next lets make this edge loop 0.2 for this bone. Also this edge loop up here, make it 0.2 also. Select the upper bone and paint this edge loop 0.2, this will automatically give 0.8 weight for this bone. Select this bone again. We can now see it has this nice color blending.

Now, do the same thing with the upper bone. The concept and the technique is identical so I will skip explaining this part and just speed up the video.

The final area we want to cover is the head. Select the upper head bone and paint all of this teeth red. Okay now the jaw bone. Lets paint these teeth down here red also. For this middle area lets give this 0.5 weight. So it should be green like this.

Okay. I think we’re finished here. To test our bone weight. Select any bone and just rotate it around. If you see anything strange going on then you should go back to weight painting and fix the issue. In the next video we’ll cover animating carny. -in sha Allah-

Thank you for watching. Don’t forget to subscribe. Wassalamualaikum

#unity #blender #tutorial #augmentedreality #vuforia