BDO - Body missing / Body clipping through outfit - Help Thread

Terix3

Avid Affiliate
Joined
Mar 16, 2016
Hey! Please use this thread for discussion / problem solving in regards to body missing (hole) or body clipping through outfits.
I will start by sharing what i know.

I. Fundamentals
You will need the knowledge of the game file structure to find files and their location. This is needed to edit partcutdesc as well to prepare files_to_patch correctly. While Meta injector got the option to let the program decide it fails when there are multiple files with the same name (example slider customization files).

To acquire that knowledge sniff around using paz_browser, you can find it Black Desert Online Modding Tools also that thread contains useful information on modding.

Here is a dirty short :

Example of file containing model
PEW_00_UB_0010.pac
/\/\-------------- PEW - class name abbreviation
---------/\/\-------- UB - body part short, in this
-----/\/\----/\/\/\ -- 00 , 0010 - numbers specific to outfit

File like this would be placed in
/character/model/1_PC/3_PEW/armor/9_Upperbody/PEW_00_UB_0010.pac
Green - all player models share this path
Blue - folder representing class
Yellow - some kind of classification , can be armor, nude , event , weapon
Red - body part folder - UB goes to upperbody , LB to lowerbody etc .
Not casesesitive

List of Class name abbreviations : WIP
"1_PHM" - Warrior
"2_PHW" - Sorceress
"3_PEW" - Ranger
"4_PGM" - Berserker
"5_PBW" - Tamer
"6_PKM" - Musa
"7_PVW" - Valkyrie
"8_PWM" - Wizard
"8_PWW" - Witch
"9_PEM" - Archer
"11_PGW" - Guardian
"13_PNW" - Kunoichi
"13_PNM" - Ninja
"14_PLW" - Shai
"15_PDW" - Dark Knight
"16_PCM" - Striker
"16_PCW" - Mystic
"17_PSW" - Lahn
"22_PKWW" - Maehwa
-------------------------------
List of possible Body Parts :
9_upperbody - chestpiece
10_lowerbody - chestpiece lower part
11_hand
12_foot
13_hel - stands for helm probably
14_sho - shoulders ? - just another slot used for chestpiece
15_underup - again chestpiece part generally used when outfit got some skin tight fabric that covers the body under the outfit
19_cloak
38_underwear
39_earring
40_glasses
41_piercing

MODELS ARE ALWAYS CLASS SPECIFIC, textures can be shared between classes and even genders!

II. How holes are born.

Devs make outfits roughly modelling them on top of the body. Then they do morphing and see how the models behave when scaled via sliders. Often body ends up clipping through outfit. They could improve the outfit, but it is easier to delete problematic parts of the body. (sometimes it is necessary by design when the outfit is meant to squeeze the body, especially common in the breast area). They create sort of a mask that tells the game which parts of the body to not display when outfit or outfit part is worn. That is the "hole" we experience when stripping off the outfit.

The mask is stored in one of the pac of the outfit (most of the time) or in texture file with "_ao" at the end (rarely, underwear use them).

Generally the mask should be in file representing given outfit part so torso area cuts should be in UB - Upperbody but it's not given. When outfit is one part it still has multiple pac files and any of those can store the mask , trial and error is required.

Finally i would like to point out that because devs only test the outfits for vanilla sliders it possible to have clipping happen just because you use wider sliders then intended. In that case it's not possible to fix it by restoring the mask. The clipping can be also caused by custom mesh (the one with 3D nipples / vagina) and there is no fix to that.

III. Quick test.

So you read all that but still don't know what is causing your issue. Let's perform a quick test.

1. Backup your partcutdesc.xml
2a. You have hole in body - patch in empty partcutdesc.xml
or
2b. The Body is clipping - remove partcutdesc.xml from files to patch it will force default one to be used instead.
3. Check the problematic outfit in game.

- IF above fixes your issue. then your issue can be fixed by properly editing your partcutdesc.xml

- IF the issue was "hole" but it was NOT fixed then there should be _ao file that you need to edit.
- IF the issue was body clipping, then it can't be fixed (unless you are patching in a modified _ao file for that outfit which is unlikely)


IV. PARTCUTDESC.XML - The one to rule them all.

It is a formatted text file and any text editor will open it. It's good to use something like notedpad++ that recognizes the formatting - applies colors and lets you collapse blocks making working with the file much easier.

The file tells the game where to look for pac files containing aforementioned mask information to hide body parts. WE CAN USE THIS!
Note: It also plays role in whatever underwear is being loaded under the outfit, but i don't know details.

Lets inspect the file.
<!-- text within those brackets (yellow) brackets is considered a comment and is ignored by game -->

We notice the file consists of blocks like this

<BasicCutType Name="Event">
<Path>1_Pc/1_PHM/Event_costume</Path>
<Path>1_Pc/3_PEW/Event_costume</Path>
<Path>1_Pc/9_PEM/Event_costume</Path>
<Path>1_Pc/11_PGW/Event_costume</Path>
</BasicCutType>

<BasicCutType Name="Upperbody">
<Path>1_Pc/1_PHM/Armor/9_Upperbody</Path>
<Path>1_Pc/4_PGM/Armor/9_Upperbody</Path>
<Path>1_Pc/6_PKM/Armor/9_Upperbody</Path>
</BasicCutType>

We can guess game searches for a given keyword representing the name of the "cut" and reads the paths where the files are located.

By removing given <Path> ... </Path> (delete or mark as comment) we can interrupt the game from reading the file that contains the mask and those creating the hole in the body. But it is troublesome as a whole lot outfits will be affected and start clipping unless we strip them.

Luckily it was discovered that we can define the "Cut" with different syntax :
<CutType Name="Upperbody">
<File>1_pc/4_pgm/armor/9_upperbody/pgm_00_ub_0001.pac</File>
<File>1_pc/4_pgm/armor/9_upperbody/pgm_00_ub_0003.pac</File>
<File>1_pc/4_pgm/armor/9_upperbody/pgm_00_ub_0004.pac</File>
</CutType>

The Name needs to be the same, we use CutType instead of BasicCutType and <File> Instead of <Path>. Then within the <File> </File> we need to put "addresses" to all files that are located in given <Path> </Path>. Yes, that is a lot of files but if we do so, we have same functionality as ealier except now we can interrupt a specific outfit from having "cut" underneath.

Resorepless appears to leave old "BasicCutType" in , while placing "CutType" with the same name at beginning of the file. It appears the first instance of "CutType" is being read.
There might be more to editing partcutdesc.xml but i don't know. I had issues in the past but never found the source.

V. Fixing it - removing holes.

1. First of all we need pre-prepared partcutdesc.xml that had the path references replaced with file references. I unfortunately don't have such file, its a ton of work. Best we can do is use one from resorepless which doesn't cover the new classes, but i'm not bothered by clipping on classes i don't play.

2. Find pac file names that make the outfit or outfit part. You should already have it if you are using mod for it, just a manner or using correct class and body part symbols. Check I. Fundamentals for more.

3. Search for each of the files in partcutdesc and mark the lines as comment <!-- -->. It should be easy for outfits that have separate chest , boot and gloves part. In this case if your feet are missing you just need to find _foot_ pac file referance and mark is as comment. In case of all in one outfits the mask for feet may be in any of the files that make that outfit.

If your partcutdesc got <Path> references then you probably won't find the files. In that case you may search for path where the file is located. Example file pgm_00_ub_0001.pac is located character/model/1_pc/4_pgm/armor/9_upperbody/pgm_00_ub_0001.pac , then you search for 4_pgm/armor/9_upperbody and mark as comment but be warned this will cause clipping for other outfits so not advised unless you make most outfits nude.

Mark as comment like this:
<CutType Name="Upperbody">
<File>1_pc/4_pgm/armor/9_upperbody/pgm_00_ub_0001.pac</File>
<!-- <File>1_pc/4_pgm/armor/9_upperbody/pgm_00_ub_0003.pac</File> this line is ignored -->
<File>1_pc/4_pgm/armor/9_upperbody/pgm_00_ub_0004.pac</File>
</CutType>

VI. Fixing it - Body clipping through outfits.

Body poking out of the outfit is mostly caused by broken partcutdesc.xml i.e. result of whole <Path> being removed when trying to fix hole on another outfit.

1. Find the file name for the outfit and search for it in partcutdesc.xml, if its marked as comment - easy just remove the comment wrapping. But probably you won't find anything and that is the main problem.

2. Search for the file location within the partcutdesc.xml example: 4_pgm/armor/9_upperbody . Again if its marked as comment unmark it.
*If you found it but it was not marked then you will have multiple instances of "CutType"/ "BasicCutType" with same Name and only the first one is being used. Remember to edit the first one in next step.

3. You dind't find any of above. Extract default partcutdesc.xml from the game (it is region specific and changes with patches). Search for file location in it. Now we know name of "CutType" block that should contain the link to the pac file. Find it in your partcutdesc and add new line with the file adress following the formating you have in that block <Path> or <File>.

(If you dont have the block at all then you need new partcutdesc)

VII. The _ao Files.

Those are texture files with yellow background and some green shape drawn on it. That shape respresents the hole that is being cut in the body so just make the whole texture yellow. If there are other collors / shades of yellow then those are used to create shadows on body under the outfit.
 
Last edited:

Terix3

Avid Affiliate
Joined
Mar 16, 2016
Example for VI. - Fixing Body clipping
I have clipping issue on Guardian Mueburus boots.
fix01.jpg
I have confirmed by using default partcutdesc.xml that the issue can be fixed. It does make sense as i use partcutdesc generated by resorepless which was never updated for Guardian.
Let's find how are game files named for this outfit by using paz_browser to extract models and 3d_converter to preview the models. If your 3d_converter refuses to open the file you need to update it.
I know Guardian is in folder 11_pgw, then armor because that's where most outfits will be. Lets look at upperbody those are the easiest to tell apart. fix03.jpg
Paz_browser recognizes some outfits so lets check the other ones. You will need to check them one by one.
It is up to you if you want to extract other parts as well. For me the UB part alone works most of the time. While previewing you will want to turn on textured display with this button
fix02.jpg
If texture doesn't loaded then it wasn't extracted, you would need to extract other parts of outfit and all of them in one folder then preview it again.

It wasn't too hard, Guardian doesn't have many outfits... PGW_00_UB_0001.pac is a chestpiece for this outfit. Following the naming system i know that boots will be PGW_00_foot_0001.pac.

As expected i can't find this file in my partcutdesc.xml, i search for 11_pgw/armor/12_foot and i get a result. However its not marked as comment, it is a leftover from original partcutdesc but i have now the "cuttype" name that the entry should go to - foot. I search for -Name="Foot"- The first instance of it is <CutType Name="Foot"> with <File> links in the block. i add <File>1_pc/11_pgw/armor/12_foot/pgw_00_foot_0001.pac</File> at the end of that block : fix04.jpg
Save
I can run the game now.... It worked.

Example for V - Fixing missing body.

I'm using some skimpy edit for camo suits but since i have applied new partcutdesc their body went missing.
m1.jpg
The modded textures for those are:
phm_10_ub_0008,phm_10_lb_0008 for desert
phm_10_ub_0004 - for treant

But those are all in one outfits, lets extract and see how many pac files there are:
Desert camo: pew_10_ub_0008.pac, pew_10_lb_0008.pac, pew_10_foot_0008.pac, pew_10_sho_0008.pac, pew_10_hel_0008.pac, pew_10_hand_0008.pac,
Treant camo: pew_10_treedummer_0004_e.pac - its just one pac, it doesn't follow the regular naming system and the file is located in 1_pc/3_pew/event_costume/pew_10_treedummer_0004_e.pac !!! gotta watch out for such surprises !

I search partcutdesc.xml for the filename "10_treedummer_0004_e" and mark as comment every line. The block containing the reference is Name="Event". notice that i skipped the class symbols for search that is because the texture is shared and all classes miss their body!.
Out of curiosity lets search for "/event_costume" , like we would do if we had not found the pac file references. It turns out there are more blocks that reference with different names, however they contain <File> links to different files in that folder so we don't need to mark them. We are looking for references with <Path> but find none.

In case of Desert camo i search for "10_ub_0008" and "10_lb_0008", marking all the lines . I'm too lazy to do it for sho , foot, hand, hel......
The result was : Treant camo worked bodies are no longer missing, however in case of desert camo the lower leg part is missing still.
m2.jpg
Meaning i need repeat the process for 10_foot_0008. I do not need to do it for 10_hand_0008 as i kept the gloves on.
 
Last edited:

Terix3

Avid Affiliate
Joined
Mar 16, 2016
reserved2
Taking suggestions. if you know something i'm missing please share
 

STJay

Potential Patron
Joined
Mar 2, 2020
Hi thanks for the guide! I followed it but I'm still getting clipping issues. I'm having issues with the sleeve piece of the khamsin outfit on lahn I added the lines and still nothing.

clipping.PNG


The sleeve is a shoulder part in the files, I replaced it with the ahon kirus shoulder file.

partcut.PNG
 

Terix3

Avid Affiliate
Joined
Mar 16, 2016
Hi thanks for the guide! I followed it but I'm still getting clipping issues. I'm having issues with the sleeve piece of the khamsin outfit on lahn I added the lines and still nothing.

View attachment 103222

The sleeve is a shoulder part in the files, I replaced it with the ahon kirus shoulder file.

View attachment 103225
Have you confirmed the issue is partcutdesc not something else ? By that i mean patch the game without partcutdesc and see if issue persists.

Second what do you mean you have replaced it with ahon kirus shoulder?
Oh i get it now. Body is shared but the skin binding is different or you are using custom body. The arm is not being cut under that tatoo thing as presented in this example. You can see i disabled the "mask" because tits are poking through but the arm is not clipping.

fix10.jpg
Your issue can't be fixed this way, you would need to edit the models. I'm sorry.
 
Last edited:

STJay

Potential Patron
Joined
Mar 2, 2020
Have you confirmed the issue is partcutdesc not something else ? By that i mean patch the game without partcutdesc and see if issue persists.

Second what do you mean you have replaced it with ahon kirus shoulder?
Oh i get it now. Body is shared but the skin binding is different or you are using custom body. The arm is not being cut under that tatoo thing as presented in this example. You can see i disabled the "mask" because tits are poking through but the arm is not clipping.

View attachment 103238
Your issue can't be fixed this way, you would need to edit the models. I'm sorry.
by ahon kirus shoulder I meant the file name "PSW_sho_0007" also by editing do you mean in like blender or should I use a different outfit file to replace it?
 

Terix3

Avid Affiliate
Joined
Mar 16, 2016
Proof of concept - Creating custom "cut" mask with AO files.

Default game behavior
cuts1.jpg

Those outfits interact with underwear differently and it cause me quite a pain before i figured it out.

Custom "cut" mask applied +outfits disabled in partcutdesc.xml
cuts2.jpg


By disabling the link in partcutdesc.xml outfits lose their default cut mask and game loads the underwear, however only outfit 3 would load the cut mask from underwear.
1) Has its own _ao file that is being loaded, one can simply paint on it to do cuts .
2). Has its own _ao file that is used to create shadow under the clothing. Unlike normal _ao texture its white with purple shapes. However replacing it with regular yellow background - green marking _ao made the game perform cuts on the body.
3) Doesn't have _ao file, loads the cuts from underwear.

I speculate that only one _ao can be loaded and the outfit one takes priority.
The _ao file is NOT loaded through partctudesc.xml or pac files - we can't interrupt it or redirect it. Hence whatever you wear needs to have the _ao texture - whatever its costume or underwear.

Conclusion:
By using _ao file of the outfit or using underwear with _ao file we can create our own "cut" mask to prevent clipping caused by _custom_ body.
(it will not work if the clipping part is semi- transparent )
 
Last edited:

Umpire

Potential Patron
Joined
Mar 21, 2020
Proof of concept - Creating custom "cut" mask with AO files.

Default game behavior
View attachment 103254
Those outfits interact with underwear differently and it cause me quite a pain before i figured it out.

Custom "cut" mask applied +outfits disabled in partcutdesc.xml
View attachment 103255

By disabling the link in partcutdesc.xml outfits lose their default cut mask and game loads the underwear, however only outfit 3 would load the cut mask from underwear.
1) Has its own _ao file that is being loaded, one can simply paint on it to do cuts .
2). Has its own _ao file that is used to create shadow under the clothing. Unlike normal _ao texture its white with purple shapes. However replacing it with regular yellow background - green marking _ao made the game perform cuts on the body.
3) Doesn't have _ao file, loads the cuts from underwear.

I speculate that only one _ao can be loaded and the outfit one takes priority.
The _ao file is NOT loaded through partctudesc.xml or pac files - we can't interrupt it or redirect it. Hence whatever you wear needs to have the _ao texture - whatever its costume or underwear.

Conclusion:
By using _ao file of the outfit or using underwear with _ao file we can create our own "cut" mask to prevent clipping caused by _custom_ body.
(it will not work if the clipping part is semi- transparent )
So where we can find this outfit_ao files? Can it be created?
 

Terix3

Avid Affiliate
Joined
Mar 16, 2016
So where we can find this outfit_ao files? Can it be created?
The modding process is based on replacing existing files. If you put files that do not exists in game files already they will not get patched. Therefore it is impossible to add new models or textures. You can't add new _ao files.

They are found in character/texture along with all other player related textures. Not many outfits have them , that is why i was trying to get the game load _ao from underwear.
 

Umpire

Potential Patron
Joined
Mar 21, 2020
The modding process is based on replacing existing files. If you put files that do not exists in game files already they will not get patched. Therefore it is impossible to add new models or textures. You can't add new _ao files.

They are found in character/texture along with all other player related textures. Not many outfits have them , that is why i was trying to get the game load _ao from underwear.
But, we ?can? perlace .pac-files, what inside? only meshes? when you replace pac file "cut" mask also replaced. where is cut mask?

Now imtrying make skimpy nightcat outfit, just cut off pants and nothing more.
Original nigtcat's lowerbody(there is cut mask) when marked in partcut leads to clips all model with body parts, boobs through breastplate, hands trough gloves, foots trough boots etc.
And there is crown eagle's LB where we have much suitable cut mask for my purpose. Next step change model in pac to nightcat's, where i got arrow in my knee.
Desktop Screenshot 2020.03.25 - 22.10.24.05.png
 

Terix3

Avid Affiliate
Joined
Mar 16, 2016
But, we ?can? perlace .pac-files, what inside? only meshes? when you replace pac file "cut" mask also replaced. where is cut mask?

Now imtrying make skimpy nightcat outfit, just cut off pants and nothing more.
Original nigtcat's lowerbody(there is cut mask) when marked in partcut leads to clips all model with body parts, boobs through breastplate, hands trough gloves, foots trough boots etc.
And there is crown eagle's LB where we have much suitable cut mask for my purpose. Next step change model in pac to nightcat's, where i got arrow in my knee.
View attachment 103893
I don't understand.
We can't add new files.
We can replace mesh inside .pac files with another mesh but the "cut mask" is not getting replaced. That is why you use partctudesc.xml to prevent the "cut mask" to be loaded from .pac files.
 

Umpire

Potential Patron
Joined
Mar 21, 2020
I don't understand.
We can't add new files.
We can replace mesh inside .pac files with another mesh but the "cut mask" is not getting replaced. That is why you use partctudesc.xml to prevent the "cut mask" to be loaded from .pac files.
Thats great. Some armor use "cut mask"(cut all body!!! like valoren or nightcat) and when you need only part of that body. Then just find pac with needed "cut mask" and replace mesh. Is it right? Is it posible to put nightcat's_LB mesh in CrownEagle's_LB_.pac ?

im bad in mesh replacement for now.
 
Last edited:

Terix3

Avid Affiliate
Joined
Mar 16, 2016
Thats great. Some armor use "cut mask"(cut all body!!! like valoren or nightcat) and when you need only part of that body. Then just find pac with needed "cut mask" and replace mesh. Is it right?

im bad in mesh replacement for now.
In theory it should work, in practice there might be issues. Reason is pactool - it is not as good as what devs use , it approximates . As result black spots may and light reflects a bit differently.
 

nudeseeker

Casual Client
Joined
Feb 7, 2014
On suzu old mod threat with nude mods barely have this PARTCUTDESC.XML included and the mods work without any clipping to all female classes except guardian and shai don't have pubic hair. Gimme a break if you think this PARTCUTDESC.XML does anything to in-game outfits clipping.
 

Gwyn

Potential Patron
Joined
Jul 4, 2018
Hello, thank you for sharing all this information and instruction! I just have a question. I am using custom body sliders with resorepless and usually increase the boob size, and on the new Cantabile outfit they seem to poke through. However, when i looked in pearl shop even default bodies seem to have nips poking through. I don't think I have a "stock" partcutdesc.xml anymore and I was wondering how I can figure out if this new outfit has a partcutdesc line.

I found the outfit and it is psw_10_ub_0041. I didn't see that in my partcutdesc, which makes sense because its from resorepless i think so not updated for new outfit. I extraced all files and I didn't see an _ao file with this name. does that mean it cannot have a line in the partcutdesc because it does not have an _ao? I feel like it must have a cut but i just can't find it in my messy files xD

Thanks for any help!
 

Terix3

Avid Affiliate
Joined
Mar 16, 2016
Hello, thank you for sharing all this information and instruction! I just have a question. I am using custom body sliders with resorepless and usually increase the boob size, and on the new Cantabile outfit they seem to poke through. However, when i looked in pearl shop even default bodies seem to have nips poking through. I don't think I have a "stock" partcutdesc.xml anymore and I was wondering how I can figure out if this new outfit has a partcutdesc line.

I found the outfit and it is psw_10_ub_0041. I didn't see that in my partcutdesc, which makes sense because its from resorepless i think so not updated for new outfit. I extraced all files and I didn't see an _ao file with this name. does that mean it cannot have a line in the partcutdesc because it does not have an _ao? I feel like it must have a cut but i just can't find it in my messy files xD

Thanks for any help!
partcutdesc and _ao are different methods of applying cuts , they don't interact - there are no references to _ao files in partcutdesc.

Easy test if issue can be fixed is by moving your partcutdesc outside files_to_patch , that will have the game use default one with all the cuts applied.

Ok now given that the outfit is new it makes sense that there are no lines for it in partcutdesc.xml. You can add them yourself.
I would search for psw_10_ub or psw_00_ub there should be lines like that in upperbody cutType and add line there linking to ub, so something like this :
<File>1_pc/17_psw/armor/9_upperbody/psw_10_ub_0041.pac</File>

You may need to do similar for other body parts, tit "cuts" should be in upperbody but you never know . Just be sure search for correct phrase for given body part so you add the lines in correct sections.
 

Gwyn

Potential Patron
Joined
Jul 4, 2018
Thank you for the clarification on partcutdesc, and _ao files. I thought it would be more simple but i guess its more mysterious actually!

I did confirm the issue is fixable. I took out all my mods, then added back in only body sliders and deleted any old partcutdesc, and the result was perfect with no body clipping with enlarged body parts.

Thank you for the clear explanation for editing the partcutdesc. I do see the block where I should add the line you show. Thank you so much!
 
Top Bottom