Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Heywood's Rigging Tutorial
08-30-2006, 02:35 AM,
#1
Heywood's Rigging Tutorial
Ok, before anything, I want to say that I'm a Maya user and because of this I can only write a tutorial from that perspective. However I felt that the general knowlege I can share would be applicable for all programs. If in the tutorial you find me talking about some command or tool that is not in your package look for the help files on your program and search for the general term for that function, or if you already know how to do that step in your program then post it here and I'll update the tut with the new information so that this guide can become as complete as possible.


Ok, first off theres some things you will need.

1. A 3d package. (Maya, 3DsMax, Blender)
2. NifSkope and the exporter/importer plugin for your package of choice, which can all be found here:
http://niftools.sourceforge.net/wiki/ind..._and_Tools
3. CuteUnit's ready to go skelleton setups (you could clean the skeletons yourself but this is all ready to go, I've always just used these and have had no problems. Get em here:
http://www.alys.org/oblivion/FullHumanMa...tReady.rar
4. TES4 (of course)



Ok, now to get started.

First, open up your modeling program. Now import either one of the skeleton .nif's from CuteUnit. Take a minute to familiarize yourself with the skeleton's set up...rotate some bones, play around a bit. Take notice of how the bones affect different parts of the body and how the mesh responds to rotating different bones. When you're done that make sure to set everything back to the way it was. Either open a new file and re-import the skeleton, or in Maya you can select the root joint (the highest bone in the hirearchy, in this case its called Bip01) and then hold down the space bar to bring up your hotbox menu and from there going to "Skin > Go To Bind Pose" as seen in the image.

(sorry bout the scribble, I couldnt get it to take a screen with the mouse held down to drop the skin pulldown down...the "go to bind pose" command is in the middle of the Skin pulldown menue)
http://i103.photobucket.com/albums/m158/.../step1.jpg

Now that you know your way around the skeleton a bit better, its time to start creating your new mesh. using the body as a guideline to model around, create your new mesh. I suggest starting with something simple such as a helmet since this only needs to be bound to 3 bones instead of alot more like a curiass would have. For the purpose of this tutorial I took a hood from the game reshaped it a bit and modeled an Italian style Carnivale Mask to fit inside over the face. This is not a modeling tutorial so I'll do a little jump ahead here and move on. If you're in need of modeling helm you can search the web there are plenty of modeling tut's floating around out there. You're also welcome to PM me with problems and I'll be glad to helm ya out. Once you're done moddeling (a helm in this case) you should have something like this.

http://i103.photobucket.com/albums/m158/.../step2.jpg

Ok, now that the modeling is finished, we don't need the original body mesh anymore so select it piece by piece and delete it, leaving you with your custom mesh and the skeleton in the file. Select the custom mesh and go to "File > Export Selection" and save it out as another file for later use, I'll get back to that later.

http://i103.photobucket.com/albums/m158/.../step3.jpg

We don't need all of the skeleton just to rig a helm, so now we're going to clean up the file a bit. Delete all the bones you dont need for the rig, start with the arms and legs since these can just be deleted without accidentaly deleting needed bones. Ok, the last bone in the spine that we need is Spine2, so everything lower than that needs to be removed, but there's a problem...Spine2 is in the hirearchy under the rest of the unneeded bones. This means we'll need to unparent everything below Spine2 from the rest of the skeleton. Here's something that I can only say how to do from a Maya perspective since I dont know the menus of other packages. In Maya, go to "Window > Outliner". This is a list of every node in the current file and on first look it might be confusing seeing nodes you probably didnt know existed, but dont worry about all of them, the only one we need is "Bip01". Expand this in the Outliner until you fine "Bip01_Spine2" as seen here.

http://i103.photobucket.com/albums/m158/.../step4.jpg

Maya's way of working in the Outliner is middle mouse click and drag the "Bip01_Spine2" node out of the tree and down to the bottom of the outliner so it snaps out of the hirarchy of the skeleton. Notice how now the spine has a break in it after "Bip01_Spine2".

http://i103.photobucket.com/albums/m158/.../step5.jpg

Now we can delete the unneeded bones. Do that now, leaving you with just the mesh and the needed bones for the rigging process. Before you rig the mesh, it is good to freeze transforms on it and delete its history. This insures that there is no extra transformation info on the mesh that could possibly mess up the rig. To do this in Maya go to "Modify > Freeze Transformations" and "Edit > Delete By Type > History". Now is also the time to UV map the mesh and texture it. If you need help on this ask me, for some this can be a hard step, but its good to do it before the rigging process gets started to avoid errors.)

Time to get to rigging (finally). Select the bones first, then the mesh and go to "Skin > Bind Skin > Smooth Bind". This will attach the mesh to the skeleton, distributing weights for the verticies across the bones selected. Now we need to edit those weights so the mesh will deform properly on the character. Select the mesh and go to "Skin > Edit Smooth Skin > Paint Skin Weights Tool". This will bring up the Weight Painting tools. To see the tool options go to the upper right hand corner of the toolbar and click the tool options tab seen here.

http://i103.photobucket.com/albums/m158/.../step6.jpg

This will open the tool options tab on the right of the screen allowing you to select the bones that the mesh is bound to and see how they affect the mesh. The first picture shows the bones selection menu and the second picture shows the mesh and how a bone's weighting is displayed as a fade from pure white (totaly affected) to black (not affected at all).

http://i103.photobucket.com/albums/m158/.../step7.jpg

http://i103.photobucket.com/albums/m158/.../step8.jpg

Select "Bip01_Head" from the bones selection menu, click the "replace" option, slide the Value to 1 and hit "Flood". This will cause the entire mesh to be totaly affected by the head bone. I do this so that I know what I change on the rest of the bones will be subtracting from the head values and this also makes sure that only the bones we want to have weights applied to them will have weight information (Oblivion doesn't like a single vertex is weighted to any more than 4 bones, this step insures that the only weight info that exists is the info you paint yourself on bones).

http://i103.photobucket.com/albums/m158/.../step9.jpg

Now select the "Bip01_Spine2" bone, leaving the rest of the settings the same. Starting at the base of the hood, paint around the mesh. This will make the bottom of the hood stick with the chest as the player moves (be sure not to forget the inside and bottom of the mesh). It should look like this.

http://i103.photobucket.com/albums/m158/...step10.jpg

Set the tool to "Smooth" instead of "Replace" in the tool options tab and hit flood once or twice to smooth the transition of weights out abit better over the mesh. You should end up with something like this.

http://i103.photobucket.com/albums/m158/...step11.jpg

Now select the "Bip01_Neck1" bone and switch the tool back to "Replace" and change the value to around .3 or .4 and paint around the middle of the hood and once you're done with that switch to "smooth" and hit "Flood" to smooth it out like before.

Go back to the "Bip01_Head" bone and use the "Smooth" flood technique one more time to smooth out the changes that have been made to the weights on the head bone. Select the "Bip01_Neck" bone and make sure that the mesh is totally unaffected by that bone. The bone needs to be there for the rest of the rig to work, however it has a very minimal effect on the actual deformation of the mesh during animations and rigging to it can be a bit unpredictable sometimes, so I left it blank.

Now its time to put the texture you created for the mesh onto it and prepare it for exporting. This is different across the packages but the idea is the same (just like everything in this tut). Go to the Hypershade window in Maya, "Window > Rendering Editors > Hypershade". When you open this window you will be shown a list of addable nodes to the left, and two windows on the right. The top one is the list of all the current materials in the scene. Because of CuteUnit's skeleton rig being imported there are some nodes we dont need and can delete to clean up the file a bit. You can tell these from the rest since they are all displayed as black texture nodes (meaning theres a broken file link to the textures), select all these nodes and delete them from the scene. Then create a new blinn material by clicking it on the left side of the window. both can be seen here.

http://i103.photobucket.com/albums/m158/...step12.jpg

Double click the new blinn material to open up its attribute editor box on the right of the screen (same place that the paint skin weights tool box showed up). Click the checkard box to the right of the color slider to bring up an option box, from here click "file" to tell the material it will have a file as its texture. The attribute editor box will change from the material to the node for the file texture. Click on the folder icon to the right of the image name box to bring up the window and brouse to your texture file. Once this is done you can go ahead and assign your mesh with the new material. Maya can do this one of two ways, either click the mesh and then in the hypershade window right click and hold and drag the pointer to the option for "Assign Material to Selection" or by clicking the material in the hypershade window with the middle mouse button and draging it onto the mesh in the workspace. Either will have the same effect. Ok, now if you havn't been doing it yet, save your file and then export it to your desktop as a .nif file. In Maya you must export it by "export all" option or it wont work properly. Remember back at the beginning when I told you to export just the mesh to another file? Its time to use that now so open up that file. Make sure theres nothing else left in the file besides the mesh and repeat the step to add its texture to it. Export this as its own .nif and name it "youritemname_gnd.nif". We are now done with the modeling program so you can go ahead and close it.

Open up NifSkope and load your new .nif file. I'll be brief with this as there are good NifSkope tut's such as NifSkope Alchemy on the Wiki.

http://cs.elderscrolls.com/constwiki/ind...pe_Alchemy

Select your mesh and on the block that highlights right click and go to "Block > Copy Branch". Now load up the skeleton .nif by CuteUnit that you used for rigging orriginaly. Delete all the parts of the mesh as you wont be needing them for the helm. Select the Scene Root NiNode (should be at the top of the list) and go to the field called "Num Children", change this to 2. then expand the children section and right click the "Children" tab and go to "Array > Update" to umm...update it. now there should be two children feilds for you to use. Change the first one from "none" to "1" for the "Bip01" NiNode, and the second one from "none" to whatever the nuber of the mesh you pasted into the file was.

http://i103.photobucket.com/albums/m158/...step13.jpg

We're almost finished, few more things to do before the mesh is ready. Click the mesh in the render window, its corresponding node should be highlighted in the list. Right click this and go to "Mesh > Create Skin Partition" and again for "Mesh > Update Tangent Space". This is usually enough, but sometimes going to "Mesh > Stripify" helps to clean it up if there are errors (this will also allow you to see if there are any holes in the mesh caused by normals or doubled over faces). Ok, thats it for this file. Save the .nif in your oblivion data directory (your textures should already be saved here in the textures folder) in the meshes folder. In my case, the folders in the meshes and textures dir's are called "CarnivaleMask", but name them whatever you want so you can find them later. One more step to make this complete. Load the .nif of the mesh without the rigging done to it (the one with "_gnd.nif" at the end). Copy the branch of the mesh. Go to load and brouse thru the meshes dir of oblivion's armors. Find one that fits the general shape of your item and load that items "_gnd.nif" file. Paste in your mesh and replace it in the children tab, delete the original mesh and save it in your oblivion meshes dir folder where you saved the first .nif as "youritemname_gnd.nif". This will be the world object for when you drop the item so that it wont fall thru the floor (you just gave it collision).

Done with NifSkope and on to the CS. Load up the master data file and import your new item. For me its armor so i click the armor section and right click and go to New. Put in your items information and give it a new ID (Im sure all of you know all this already so I wont bore you). Once you have the item set up (selected the .nifs for both male and female for both the normal .nif and the world object .nif) go ahead and place it where ever you want and save the plugin file out.

Load up Oblivion and turn on your data file, and go find your new rigged item! Mess around with it, jump, swim, attack, look at npc's! Test it out and notice if there are any clipping problems when the animations play on the character and if there are you can go back into the 3d package and edit the weights to fix it up, then repeat the NifSkope part of the tut and just save over your existing files, load up oblivion again and test some more. If you've got this far and it looks like its behaving normal then you did everything right...might just need tweaking as rigs often do, so dont be discouraged if its a little off the first try (took me 4 days or so to get the first rig working right in TES4). As long as there are no crazy deformations of the mesh and its sitting right on the character then there should only be small weighting issues needed to be fixed up. Once everything is running fine and deforming properly you're done! Congrats a rigged model in TES4...and you did it yourself!

I hope this tut has been helpful to everyone. I wanted to encourage you all to try this out, create new armor, new clothes, whatever...rig it and see it work in game. This knowlege is a combination of my professional knowlege of Maya and my experiments with getting things working in Oblivion. If you run into any problems please post them in this thread and we'll adress them. I want this to be a place where people can discuss rigging issues and get answers. As I said before I can only tell you how Maya works with these tools, so if anyone is working with another package, post here with the proper tool names and ways to navigate to them in that package and I will update the tut with the new info. Post your experiments with rigging here too for all to see!

-Heywood-
"I am not a liberator. Liberators do not exist. The people liberate themselves."

- Ernesto Che Guevara
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)