Jump to content

3 Screenshots

About This File

jBS2BG - BodySlide to BodyGen Converter/Generator

 

This is a rewrite of the original one that can be found here, rewritten in JavaFX to have better layout and functions.
Credits to shoka for the original guide and converter.

 

Requires Java 8 installed.

 

If you don't know how to use BodyGen, check out the bottom of the description for a guide.

 

As of v1.1.0, inverted sliders are calculated differently, so instead of zeroing all sliders, a new neutral preset is required for building the base body, armors and clothing.

Use the following presets for building your base bodies and outfits.

CBBE-Zeroed CBBE-.xml

UUNP-Zeroed UUNP-.xml (This is already included in the UnifiedUNPPresets.xml in BodySlide, but just in case...)

(Remember to check the UUNP checkbox in jBS2BG if the imported XML preset is for UUNP)

Clams of Skyrim: Zeroed Clams of Skyrim + Settings.7z

Touched by DibellaZeroed Touched by Dibella + Settings.7z

CBBE SE Settings: CBBE SE Settings.7z (For RaceMenu SE using CBBE SE base body)

 

 

Requirements:

  • BodySlide - For creating XML presets.
  • RaceMenu - BodyGen.
  • TES5Edit - Optional, for retrieving a list of NPCs from different mods/masters.

 

Description:
This is a GUI program for generating RaceMenu BodyGen INIs from BodySlide XML presets. With this, you could just add your BodySlide presets and target NPCs
through the user interface and generate the "templates.ini" and "morphs.ini" required for BodyGen instead of writing the INIs manually.
BodyGen is a feature in RaceMenu for assigning different body morphs to every NPC in the game.
Check out some documentation on BodyGen here.

 

Important Note:

Once a character is morphed in-game, reassigning a different preset to it by changing the "morphs.ini" will not work.
To solve this, you need to clear your save's skse co-save file where the morphs are stored. You can use this tool for that: NetImmerse Override Cleaner

 

Fallout 4 Support:

I've been informed that it works with Fallout 4's LooksMenu BodyGen.

Just modify the "settings.json" so that it looks like this:

{
  "Defaults": {
  },
  "Multipliers": {
  },
  "Inverted": [
  ]
}

 

Changes from the old one:

  • Now written in JavaFX instead of Swing, which allows awesome looks and styles.
  • The old one was written on a whim which resulted in poor UI layout. This one's window is now resizeable.
  • Confirmation prompts for some actions.
  • The NPC list is now viewed in a table that is sortable and filterable.
  • Some other improvements.

 

Changelog:

Spoiler

v1.1.2 (2019-01-26):

Table's search text by key press will now use the leftmost column instead of always by Name.
Clear templates text area when toggling redundant sliders.

 

v1.1.1 (2018-10-03):

Added checkbox "Omit Redundant Sliders" in the templates for excluding sliders with zero values or 100 for inverted.

 

v1.1.0 (2018-04-25):

Changed calculation for inverted sliders, should result in a more accurate conversion for both CBBE and UUNP. A new base body is required.
BodyTypes of Skyrim JSON conversion support.
Separate UUNP settings file, tick UUNP checkbox to mark a preset as a UUNP preset. This means you can have both CBBE and UUNP morphs in-game.
Enable/Disable sliders from "Edit SetSliders".
Selective Fill Empty.
Defaults are now applied dynamically instead of baking it into the imported preset on import. Presets needs to be re-imported to be covered by this.
File Chooser preferences are now separated by jar location.
File Chooser title bar name for saving fixed.
Moved the Templates and Morphs generation to a separate thread to prevent unresponsiveness when processing large quantities of entries.
Clear generated templates and morphs text area every time a change occurs.
"Edit SetSliders" buttons' text colors makes more sense.

 

v1.0.5 (2018-03-21):

Added a table column for displaying assigned presets. This means NPCs can now be filtered/sorted by their assigned presets.
Added a toggle for assigning a random preset when adding an NPC(Assign Random).
Added button for randomly assigning presets to all NPCs with none assigned(Fill Empty).
Added button for clearing assigned presets of all NPCs(Clear Assignments).
Changed notification's modality to Application.
More slider preset name checks, replace all "."s in a name with space.

 

v1.0.4 (2018-01-23):

Now uses juniversalchardet to try to detect the encoding of a file(e.g. Shift-JIS) before parsing/reading.
It's not guaranteed to handle all types of encoding, so saving files as UTF-8 is still recommended.
Added more error messages.
Minor change to FormID trimming.

 

v1.0.3 (2018-01-20):

Enforced UTF-8 encoding in writing and reading to and from files. This means non-English characters(Japanese, Chinese...) can now be displayed correctly.
Now utilizes Commons IO for file reading and writing.
Better trimming of FormIDs.
Now sorts NPCs by Master's name on generate morphs/export.
Now displays an error message if settings.json has invalid content or is erroneous.

 

Note: Before importing a list of NPCs that contains non-English characters, make sure the text file is UTF-8 encoded, save it as UTF-8 if it is not.

 

v1.0.2 (2018-01-06):

Changed the font of all lists, tables and text areas to Consolas.

 

v1.0.1 (2017-12-30):

Fixed file choosers not opening when the last used directory becomes unavailable(deleted, renamed, moved, etc...).


Screenshots:

Spoiler

templates.png

morphs.png

edit_setsliders.png

 

Features:

  • Generate templates and morphs INI.
  • Save and load your settings to and from a .jbs2bg file (json file) that can be shared to anyone since the data of the presets are stored in the file so the external XML and text files that were used are no longer required. 
  • "Edit SetSliders" allows you to set the weight or even set the range to which a SetSlider will randomize.
  • Table views for NPCs are sortable and filterable for easier management.
  • BodyTypes of Skyrim JSON conversion.

 

Guide:
For this guide, I'll be using CBBE body as that is what I mainly use.
Also, this guide will be assuming that you already have both BodySlide and RaceMenu installed and that you know how to use BodySlide.

Spoiler

1. Preparing the tool
Download jBS2BG and extract archive to any location.
Optionally, download the images archive, these images can be useful for assigning morphs to NPCs, so that you know who's who.
Of course, NPCs that don't have images won't show up in the Image View.
Extract the images archive to the same folder as jBS2BG.jar, it should look like this:

directory.png

2. Setting up base body
BodyGen needs a base body with morphs enabled to function.
Using BodySlide, set the preset to -Zeroed CBBE- and generate your base body with "Build Morphs" enabled.
Generated files should go inside "Data\meshes\actors\character\character assets".
The folder should now contain the following files: "femalebody_0.nif", "femalebody_1.nif" and "femalebody.tri".
Your "Data\meshes\actors\character\character assets" folder should look like this:
basebody_directory.png

 

3. Setting up replacer clothes and armors
For BodyGen morphs to be visible on clothed characters, you need outfits with RaceMenu Morphs.
You can find several outfit mods with morphs support across the net, here are some:
Vanilla Outfits BodySlided (includes armors and town clothes)
OCR - Omnisway Clothing Replacer - CBBE BodySlide BBP TBBP (includes fine clothes, jarl clothes, wedding dress...)
The Provocateur's Armoury (includes mage robes, monk robes, necromancer robes...)


Build these outfits with the same slider settings as the base body, in this case, use -Zeroed CBBE- preset. 
You also need to build these outfits with "Build Morphs" enabled. You'll know you have morphs enabled if you get a "*.tri" file next to the output "*.nifs".
There are instructions on those pages on how to build them. Please read and follow them carefully if you have no idea what you're doing.


The files you've built should be used as replacers, for example, your "Data\meshes\clothes\farmclothes01" folder should look something like this:
farmclothes_directory.png

Those .nif files are the meshes built from BodySlide, including the .tri file, which contains the morph data for RaceMenu.

4. Enabling BodyGen
With RaceMenu installed, go to "Data\SKSE\Plugins" folder, open the file "nioverride.ini" and ensure that

BodyGen is enabled, bEnableBodyGen=1, like this:
b_Enable_Body_Gen.png
This will enable BodyGen in the game.

 

5. Using jBS2BG to convert BodySlide XMLs to BodyGen templates
Using the tool is pretty straight-forward.
Make an XML preset in BodySlide of the body type you like and use "Save As..." to save it somewhere as XML.
bodyslide_saveas.png
    
Launch jBS2BG.jar, then click "Add BodySlide XML Presets" button then locate and add the XML that you just saved from BodySlide.
add_preset.png
        
After adding, you can now see the BodyGen equivalent of the XML preset that you created.
preset_added.png
        
By default, the resulting template will use the Big values, meaning, the max weight of the body you created.
This can be changed by using the "Edit SetSliders" button. With it, you can pick the weight to use or even use range between Small(Min) and Big(Max).
    
6. Using jBS2BG to assign presets to custom targets like "All Female NPCs", "All Female Nords"... etc
Now that you have a preset in your list, you now have to assign it to some NPCs.
Now then, go to the morphs tab:
morphs_tab.png
    
Say you want to assign your preset to all female NPCs in the game.
In the Custom Target text field, type in "All|Female" (without the quotes), then click the "Add" button just below the text field.
add_preset_to_target.png

When you have some presets in the list, a random preset will be automatically assigned to a newly added target.
Assigning more presets to the "All|Female" target will make BodyGen pick a random one from the assigned presets to morph the target.

For assigning morphs to specific races, you could use something like "All|Female|NordRace", "All|Female|BretonRace", etc...

7. Using jBS2BG to assign presets to NPCs
Now, say, you want to assign a preset to a specific NPC,
First, you need a text file containing a list of NPCs to be added. You can generate this using the included TES5Edit script in the jBS2BG folder: "jBS2BG Export NPC List.pas".
If you don't have TES5Edit, at the moment, you can just use the one included in the jBS2BG folder: "FemaleNPCList - Dawnguard + Dragonborn + HearthFires + Skyrim.txt".

To generate a list from TES5Edit, copy the .pas script into your "Edit Scripts" folder.
Right-click the Master/Mod that you want to get the NPCs from (You can select multiple Masters), then click "Apply Script".
apply_script.png

Then select the script "jBS2BG Export NPC List", then hit "OK".
apply_script2.png

Wait for the export process to finish, this process might take a while for Masters with tons of NPCs in them.
After it's done exporting, you can find the "*.txt" file in the same folder as "TES5Edit.exe" or your Skyrim installation folder.

With the text file exported, go back to jBS2BG, now click "Add NPCs", then "Add NPCs from File", locate and select the text file containing the list.
add_npcs_from_file.png

Now you can browse the table and select an NPC you want to add. To add one to the list, select the NPC then click "<= Add".
npc_added.png
    
You can click on the table headers to sort the list and you can also right click on the headers to filter the list.
    
8. Generating and exporting the INIs
You can simply click on the "Generate Templates" and "Generate Morphs" buttons to generate the content needed for "templates.ini" and "morphs.ini"
which you can copy and paste to the respective INIs.

But an easier way is to go to File -> Export BodyGen INIs.
export.png
    
After that, both "templates.ini" and "morphs.ini" will be exported to your chosen location.
exported.png

 

 


Now, put both "templates.ini" and "morphs.ini" inside the folder "Data\meshes\actors\character\BodyGenData\%MOD_FILENAME_WITH_EXT%\".
Where %MOD_FILENAME_WITH_EXT% is something like "Skyrim.esm", let's just use "Skyrim.esm" for example,

"Data\meshes\actors\character\BodyGenData\Skyrim.esm\".

Finally, you should have:
"Data\meshes\actors\character\BodyGenData\Skyrim.esm\templates.ini"
"Data\meshes\actors\character\BodyGenData\Skyrim.esm\morphs.ini"

And... that's it! Fire up the game and enjoy!

 


What's New in Version 1.1.2

Released

Table's search text by key press will now use the leftmost column instead of always by Name.
Clear templates text area when toggling redundant sliders.



×
×
  • 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