Jump to content

Request: Bodyslide Tutorial for Dummies


WBGrock

Recommended Posts

I keep failing at creating sliders for bodyslide. they just don't do anything despite taking models into blender and out again.

 

How do you import, or in case i am screwing it up, export these meshes.

 

Just a request.

 

Link to comment

Hi. I'm working on a complete tutorial currently (slow going, everything I do these days seems to take forever, sorry about that)

 

In the mean time, the general idea is to create a single base .nif file, and use body slide to load .obj files that represent the changes you wish each slider to make to the final result.

 

1) First step is to make sure you have a working Skyrim .nif file. There's nothing really special needed for it, apart from it working in skyrim. This is your 'Base' shape.

 

2) From that base, export an .obj file for each shape in the .nif file. So if it's an armor with three parts over top of a body mesh, you'll end up with four .obj files. If the body mesh is CBBE, you can skip that -- the body's sliders are already made for you.

 

3) For each .obj file, import it into blender or some other 3d editor. Don't allow blender to muck with the scale or rotation of the mesh. Specifically, set 'clamp scale' to 0 and 'rotate y axis' to off.

 

3b) If you're working off of CBBE, you will probably want to load body shape references. In the bodyslide distribution folder there's a 'CBBEShapeKeys' nif file that contains a number of copies of the CBBE body mesh. Each one corresponds to a slider shape. Export all of these as .obj files from the .nif, and import them into Blender in the same way as your armor mesh.

 

[[ Before step 4, you may wish to immediately export your shape back out as an .obj, and try to load it in as a slider source for your base mesh (see steps 7 and beyond). You should see a 100% match and no vertex count warnings. Doing this is a good way to understand what you need to do and avoid to keep the vertex count and scales correct. ]]

 

4) Make a change you wish to be controlled by a slider. For instance, if you want a slider to make the chest portion of the armor chest plate larger, move the vertices so they are the maximum size you wish the slider to attain. You can use the CBBE shape reference (mentioned in step 3b above) to make sure your edits will fit the CBBE Body.

 

5) repeat step 4 for each shape you wish to create a slider for. Change ONLY the vertices you need to to fit the shape you want to create. For instance, change only the chest verts for the breasts sliders, and only vertices near the bottom for the butt verts ... leave the rest untouched. Its easiest if you make duplicates of the mesh in blender so you have a number of copies of your armor mesh, each having a slightly different shape.

 

6) repeat steps 4 and 5 for each armor part. so if you have an armor with three parts, you'll make 3 meshes for each slider. Some armors have TONS of parts, but usually only a few sliders need to affect them. There's no need to change an armor part mesh if a slider doesn't matter to it ( eg. no need to change a Pauldron mesh when working on the legs sliders). Depending on your skill, you might find it easier to merge all of the individiual meshes temporarily, make the changes, and then split them all back out again -- but you have to be very careful not to adjust vertex order or animation weights and texture coordinates.

[[ This part is by far the most time consuming. More time consuming than just making one or two sizes for the armor, but a lot less than making the hundreds of possible variations ]]

 

7) Export all of your mesh changes to new .obj files. Each change should be a different obj. So for an armor with 3 parts, and 7 sliders, thats 21 .obj files.

 

8) Fire up bodyslide and go into slidermaker. Load your original base .nif file at the top.

 

9) Add a slider.

 

10) in the list of shapes drop down, choose one of the shapes you want to create a slider for. Use the 'Preview' button to see which shape is which if you're not sure.

 

11) Use the 'load slider source' button to choose one of your .obj files that corresponds to the shape you chose in the drop down. The vertex count should match (there will be a message box pop up with a warning if they don't). And, ideally, you should see a non-0% 'similarity' value in the list to the right.

If the vertex count matches, but the similarity is 0% there's a good chance it's a scaling issue. typically scales vary by factors of 10.. so change the scale value (the bottom most numeric text box) from 1.0 to 10.0 or other factors of 10. Use the 'P' button to try and get the size right.

[[ this is the biggest point of frustration if you're not careful -- you need to be very careful not to alter the vertex count, and keep track of your scale. the vertex order/count is by far the most difficult to fix ]]

 

12) repeat 9,10,11 for each .obj you created. Make sure you add a new slider for each, and set the right shape for each .obj file you load.

 

13) for each slider, set an appropriate name. If you're matching CBBE shapes, you want to name the sliders the same as the CBBE shape ones. Otherwise, its merely important that similar sliders across the armor parts match in name. For instance, if you have three parts that are altered by the Breasts slider, make sure that each of those three parts (which all have separate slider entries by this point) share the same slider name.

 

14) for each slider set an appropriate default. These are arbitrary, but they're what the sliders will be set to when the outfit is first loaded (as long as there's no presets)

 

15) for each slider, if it's an inverse slider, check the invert button. An inverse slider makes the slider operate in the inverse direction (eg. 100% on the slider would be actually 0% change) This makes sense for shapes that shrink as the influence gets bigger. (many of CBBE's sliders are inverse sliders, since the 'base' shape is at the high end of the scale)

 

16) if you have any sliders that you don't want to let a user adjust, set them to hidden.

 

17) if you have a part of your armor, or body below, that you want to not be visible in the final result, you can create a zap slider. A zap slider is created the same way as a regular one, except that any vertex that is moved from it's original position is removed from the final nif. This is a great way to remove hidden parts of a body to prevent clipping, or to lop off portions of armor.

To make a slider a zap slider, use the zap slider check box. Normally, it makes sense to make a zap slider hidden, but if you don't, then the user will be able to turn off and on portions of the mesh. Note that a zap slider does its thing when the slider value is over 1% (so if you make them hidden, you need to set the value to higher than 0).

 

18) If you are using CBBE, you'll want to load a reference. This will automatically import all of the CBBE slider settings and shapes so you don't have to create them yourself. To do that, temporarily add a slider and set the shape of the slider to the Body part. Then, use the 'Ref' button to load a reference. there's a CalienteArmorRef.xml file located in the Bodyslide distribution that will work for reference. When it prompts you to use the 'CalienteBody', say yes. (if you say no, it will then prompt you to use CalienteVanilla, which only makes sense if you're making a vanilla shape armor). Any sliderset .xml can be used as a reference, but that's more or less an advanced topic :)

 

19) Set the output file name and the output file path text boxes to the appropriate values for your mesh, then hit the 'Create!' button. You'll be prompted to name your slider set -- pick a good one.. ideally one that is easily unique

 

20) The files will be created in the Bodyslide/GeneratedOutput folder. They will be in a subfolder with the name you chose when creating the sliderset. Inside that folder is an .xml file that's the sliderset xml, and a bunch of .bsd files. Move the .xml file to your Bodyslide/SliderSets folder, and the folder from GeneratedOutput to your Bodyslide/ShapeData folder. You might want to open the sliderset.xml file and adjust the outfit name and check for errors (once you understand how things work anyway).

 

21) Test out your new outfit in bodyslide!

 

Thats it! Give it a try and let me know what needs more explanation. As I said, I'll have a full tutorial out soon (With pictures) and more in-depth explanations.

Link to comment
  • 2 weeks later...

Since the above may appear slightly overwhelming, I'll chip in with a brief guide for lazy modders:

 

1. Port the outfit to CalienteBody (or CalienteBreastWt for bbp).

a) You must have a functional Blender NIFtools setup, follow this guide: http://skyrim.nexusmods.com/downloads/file.php?id=3790

B) Import CalienteBody.nif with skeleton.

c) Import/make the outfit to fit the body mesh.

d) Follow the guide (a) regarding Bone weight copy, parenting, dummy-texturing, partitioning and so on.

e) Export the outfit, and fix it up in Nifscope (Nifcleaner can be useful too). Copy/paste the body in Nifscope from CalienteBody.nif or CalienteBreastWt.nif.

f) Test in game (paste over femalebody_0 and 1.nif).

 

 

2. The "easy" part: make the sliderset.

a) Copy an existing outfit sliderset, and replace all paths and names with correct ones. SetFolder, SourceFile, OutputPath, OutputFile, BaseShapeName (match names in Nifscope), and datafile name/target for each slider. Search and replace is your best friend for sliders.

B) If your outfit has multiple parts (OBJ files), make sure to set correct targets and slider names for those.

c) Remove slider targets that make no sense. Example: upper body sliders are not useful for pants.

d) Put sliderset in Bodyslide/SliderSets.

 

 

3. Generate the outfit sliders.

a) Download my script (http://www.loverslab.com/showthread.php?tid=6900).

B) Make sure the outfit.OBJ file name matches outfit slider name prefix in your sliderset. Example: if your outfit OBJ file is Dress.obj, then the sliders will be called Dress_Arms.bsd ... Dress_Waist.bsd.

c) Run Convert-BSD. Select body slider BSD files, then CalienteBody.obj, then your outfit.obj.

d) Repeat for each part if your outfit has multiple parts.

e) Move generated BSD files to your outfit folder in Bodyslide/ShapeData.

f) Run Bodyslide and test sliders. Then test some variations in game.

g) Don't complain if generated sliders are not as good as manually adapted ones. Follow Caliente's guide for manual adaption of the worst cases.

Link to comment
  • 2 months later...

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use