Rigging skinning and dismemberment
From Nexus Wiki
I will be thorough, so you do not need to know how to use Blender beforehand.
There are two ways to rig. One, rig using the existing fallout mesh.Bone weight copy[upperbody.nif](For rigging cloth/armor, or meshes with similar proportions) Second, rig using the skeleton.nif. (For skinning creature to the existing skeleton) I will cover the one first.
NAVIGATING THE VIEWPORT IN BLENDER:
-Use the arrow keys on your numpad to rotate and
-CTRL+Numpad Arrow to pan. Middlemouse to zoom in/out.
-Numpad 1 to go to front view. Numpad 3 to go to side view. Numpad 5 to change perspective.
IMPORTANT SHORTCUT KEYS I will use throughout this tutorial:
-CTRL+P - Make parent to armature.
-SHIFT+D - Duplicate selected verts.
-CTRL+J - Join objects.
-H - Hide selected object/verts.
-ALT+H - Unhide all.
-P - Separate selected verts into different object.
-A - Select/Unselect all objects/verts.
-G - Grab
-R - Rotate
-S - Scale
-ALT+G - Clear location.
-ALT+R - Clear rotation.
-ALT+S - Clear scale.
-TAB - Switch between modes ie. Object Mode to Edit Mode.
-CTRL+L - Select all verts connected to selected vert.
For this tutorial I will be rigging this guy:
You should save your file at some stages throughout.
1.)Go to File>Import>Wavefront(.obj). Select the object you want to rig.
2.)If you have multiple mesh objects join them. Right click one object then SHIFT+Right click another object. CTRL+J to join.
3.)Go to File>Import>NetImmerse(.nif). Select the nif file you want to copy the bone weight from.(upperbody.nif if you're rigging cloth)
This is the default settings I have(Thumbnails click to enlarge):
For me, I'll be using Fawkes:
4.)Delete all the meat caps since it doesn't really fit our mesh anyway. We'll create our own later. Press H to hide your mesh then select all objects of the imported nif and join them(CTRL+J)ie. Fawkes' shirt and pants are separate object from his torso, but I need them as one object, so I shift+select each parts and join them.
5.)Select the armature(the little sticks). You'll see some options at the bottom of the screen. Tabbed the X-Ray button and untab the Axes:
6.)ALT+H to unhide your mesh. Select your mesh then press TAB to switch to Edit Mode. Make sure all verts/faces are selected if not, press A to select all. Press tab to switch back to Object Mode, and do the same with the other mesh. You can select different modes using this drop down menu:
7.)In Object Mode, select your mesh first the SHIFT+select the vanilla mesh. Go to Object>Scripts>Bone Weight Copy.
Here's the option I have(The higher the number the longer it takes. I believe it's more accurate with the higher number):
8.)Select the vanilla mesh then delete it(If you are using the upperbody.nif and require the body for your armor/clothing then only delete the faces that is hidden under your outfit. No need to keep those extra polygons; it's not performance-wise and make the file size much bigger than it should be.). Now select your mesh then SHIFT+select the armature. CTRL+P to make parent to armature. Under Create Vertex Groups, choose Name Groups:
9.)Select the armature then press CTRL+TAB to switch to Pose Mode(CTRL+TAB again to switch back) to test out the movements/deformations. Select any bone you want then press R to rotate it, or G to grab. Test it out. ALT+R to clear rotation and ALT+G to clear location.
10.)Now it's time to make correction. Things like solid piece of armor shouldn't deform. Press ALT+Z to switch between texture/solid shading, so you can see the weight paint better. Select your mesh, press TAB to switch to Edit Mode. You'll want to separate the solid piece into different objects. You can switch between vertice/edge/face selection using these buttons here:
Select a vert/edge/face then press CTRL+L to select all of the connected verts/faces then press P to separate selected.
11.)Press TAB to go back to Object Mode then select the bone piece that have the weight influence on that part. Now select the part that you separated then press CTRL+TAB. You're in Weight Paint Mode:
The color range goes from blue to green to orange and to red, with blue having no weight influence and red the highest. Since I do not want this piece to deform when the upper arm moves, I will subtract the weight from it(Hit the "Sub" button then paint out the weight):
12.)However, this piece should move with the clavicle. I select the clavicle bone. Notice it's not one single color that means it will deform and I do not want that:
I select the weight I want to paint with 1/2 which gives me green and I switch to Mix, and paint the whole piece thoroughly:
Test it. If it still deform badly, select any other bones that may have undesire weight influence on the piece like the neck bone here. To be more thorough, you can press G to grab the bone away from the body and subtract the paint that still lingers.(ALT+G to clear location):
13.)Once you do the same for every solid piece, and you're comfortable with what you have, go to Object Mode to join them back together. If you have objects on different texture maps you'll want to keep them separate so you can assign separate material for them.
14.)(Skip this part if you know how to assign material in Blender)Delete all of the existing materials. You'll assign a new material assign to each object.
Press F5, or the button here to go to shading:
Hit Add New, here's the material settings default to most vanilla fallout mesh:
-Col-White -Spe-Black -Spec = 0.000 Hard = 240(gives 60 glossiness value in Nifskope) Amb = 1.000
Hit the texture button(F6) then Add New. Under texture type, select Image. Now hit Load. Your texture file should be under "your fallout directory\data\textures\yourfolder\"
Select another texture channel, Add New, and load your normal map.
Go back to Materials(the little red globe icon). Under Map Input, select UV. Do the same for the other texture channel.
There are two texture channels; The first is texture, and the second is the normal map. For normal map, under Map To untab Col, and select Nor:
Once you finish assigning a material to each objects F9 to go back to editing. One thing I forgot to mention, you can set your object to smooth or solid using these buttons here:
15.)Before you can export, there are several vertex groups you'll have to delete. Select each of the BP_ (BP_Head, BP_Leftleg, BP_Torsosection, ect.) vertex groups and hit the delete button(Make sure you do this for each of your objects):
These are the skin partitions that's use for VATS and dismemberment. Since we do not have them properly assign to our mesh yet it will give you error during export.
16.)Go to File>Export>(.nif) Here's the settings I have:
Open it in Nifskope. Make sure it has one scene root. If not, select the scene root beneath(child of) the main scene root(Scene Root.00) then right click Block>Crop to Branch then save.
Now test the movement in GECK or the game, whichever you prefer.
Creating dismemberment and vats
Once your rigging is finalize, export it.
1.)Import your nif back in.
2.)Creating the meat caps: -Go to Edit Mode. Select a section of your mesh then SHIFT+D to duplicate then P to separate it. There are two caps for each dismemberment; one for the body and the other for severe limb as shown:
-Select the meat cap, in Edit Mode, press S to scale it up about 1.01. -In Object Mode, press "/" on the numpad to single out the selection so you can focus on the cap(I'm working on the body meat cap). -Using the edge selection, I select the bottom edge(ALT+Right click to select the whole edge). Hit E to extrude the edge~2-3 inches. This part is the torn flesh you see when you examine the meat cap.
-Select the edges above, extrude, then ALT+M select Collapse. This is the fastest way to create end cap.
-Switch to texture viewport shading if not already. Make sure the cap face the right way(it's not see through). Select the faces you want to flip then go to Mesh>Normals>Flip.
-Now split the viewport in half. Right click the edge>Split Area:
-Under the corner menubox select UV/Image Editor:
-Select an edge to mark seam(CTRL+E) for unwrapping. Then select the end cap press U choose unwrap. CTRL+I to inverse selection and unwrap the rest:
-Select all verts/faces then Image>Open open the meatcapgore01.dds.
-Now arrange the UV correctly. Select a point then CTRL+L to select all the connected points. S to scale, R to rotate. -Select all the points along the edge then press W>Align Auto to align the edge. Make sure the torn flesh orientated correctly. The end result should be something like this:
There are two caps in that gore texture. Right is for the body cap and left is for the limb cap(Doesn't matter really).
3.)Once those meat caps are created, select the section of the leg that's going to be sever then press P to separate it. Then select to upper part(this part will be target in VATS along with the severe limb) P, separate it:
-The same principle applies to every limbs. You should have eight different sections on the bi-ped body plus the torso and the head.
4.)Assign a material to the meat caps. Here's the settings with the transparent alpha:
5.)Export it with the same settings.
6.)Open it in Nifskope. -Make sure you have Block Details turn on. Under View>Block Details(F3) -Select a body part.(Any where you want to begin) We're going to assign Body part to each of these sections/skin partitions we created. The part shown here is called the BP_TORSOSECTION_LEFTLEG. It's the part that will be highlight for the VATS---left leg. Double click and make the selection from the drop down menu.
-Here's the dissection of what each part should be:
-For the meat caps:
Uncheck the PF_EDITOR_VISIBLE for each meat caps. -For each body caps, the BSDismemberBodyPartType should be BP_TORSOCAP_"PARTNAME", and -For limb caps, the BSDismemberBodyPartType should be BP_SECTIONCAP_"PARTNAME".
7.)Save, launch game and test the VATS/Dismemberment.
8.)Once everything is correct, import it back into Blender. -Join each part back together with body caps group together as one object and limb caps as another. -Select your mesh, go to Edit Mode, select all verts then Mesh>Vertices>Remove Doubles to remove double verts cause by the split. -Make sure that each object has only one material assign to them. Delete extra materials otherwise. -Export it and we're done!
The second method
RIGGING USING SKELETON.NIF (Useful for skinning new creature mesh to existing skeleton) "The resourceful way".
1.)Import your mesh into Blender.
2.)Before importing the skeleton.nif make sure you unselect your mesh(A to select/unselect all). Import the skeleton.nif(a creature skeleton you feel would fit your needs) with these settings: With "Import Skeleton only + Parent to Selected" tabbed
3.)Select the skeleton and tab the X-Ray and untab Axes(this shows axes xyz on each armature piece which is bothersome we don't need it): For this part I'll rig a WH squig with the molerat skeleton.
4.)Important:Do not move the skeleton in any way. Only adjust your mesh to fit the skeleton. With your mesh selected Press TAB to go to Edit Mode, here you can translate your mesh fit the skeleton(do not do this in Object Mode). Remember the actual scale of your mesh isn't important as long as you scale it to fit the skeleton. Size scaling can be adjust in the GECK.
5.)Open the creature(the mesh belong to the skeleton you are using) in Nifskope. Examine which bone piece do not require for rigging. We are going to delete those bones. Here I examine the molerat in Nifskope and it doesn't contain these bones(true for all skeleton.nif):Bip01, Bip01Non Accum. Select the skeleton, press TAB to go to Edit Mode. Select those bones plus the bones you do need for your mesh. For me, the front legs, neck, and part of the tail---these are the parts the squig do not possess, I can delete them:
6.)In Object Mode, select your mesh then SHIFT+Select the skeleton, CTRL+P to make parent to armature then select "Create From Bone Heat" under create vertex group:
7.)Select the skeleton, CTRL+TAB to go to pose mode to test it. Notice the deformation is very fluid/organic:
8.)Adjust the weight paint as you need and assign material, then export with pretty much the same settings as the other method:
It's done. You can import it back in to create dismemberment using the same process as above.