Jump to content

CBPC physics flickering rapidly (especially vagina)


Recommended Posts

Something is making my CBPC system "spaz out"; it seems like it's redrawing to "zero" on every single frame, and then trying to apply the deformations that should be applied, and then on the next frame it resets again. As a result, body parts like the vagina are flickering wildly and constantly, and sometimes it will extend to the model's thighs as well, if the animation has nearby collision. I've uploaded a capture of the problem here, but it doesn't quite show how fast the flickering is, because it was only captured at 30 FPS. In-game, it's a constant "buzz" between the vagina being open and shut, seemingly on every single frame or close to it. Still, you can see a few instances where the pussy snaps open or shut suddenly, when it should be remaining open throughout.

 

I'm using the BHUNP body with no SMP physics (I had them before, but reinstalled without SMP to isolate this problem). I've exported my body using BodySlide. I have CBPC installed, as well as CBPC Anus Support, and have tried removing/reinstalling it a few times to see if it makes a difference; it does not. I've looked through all of the CBPC files and tried configuring options like the frame skip or detection criteria, but nothing seems to fix it or even change the behavior. I've tried reinstalling all the related mods, too, to ensure they had fresh data to use with nothing overwritten by an external process. I'll also note: it worked in the past; this is a recent, unexpected change (hence why it's so hard to trace).

 

Any ideas on what to check next? Is there a way to tweak the update frequency of CBPC itself, or could there be some sort of a defaults file it's trying to read/revert back to, causing it to constantly update back to a "zero" state on the objects it animates?

 

Mods: I accidentally posted this to the general "Skyrim" (LE) forum the first time; I deleted that one and reposted here after realizing my mistake. Just mentioning in case the double post shows up on your dashboard.

Link to comment

I get that issue if I enable physics on the vagina. The weird thing is the belly works fine even though it has similar functionality (bulge + physics). I'm fairly certain the dev of cbpc is aware of it though, since starting with version 1.5.2 if you enable physics on those bits, it disables "fake" collisions.

[ConfigMap]
#VaginaB1=Vagina # Enabling this disables pussy collisions (>=1.5.2)
#Clitoral1=Vagina # Enabling this disables pussy collisions (>=1.5.2)
#NPC L Pussy02=Labia # Enabling this disables pussy collisions (>=1.5.2)
#NPC R Pussy02=Labia # Enabling this disables pussy collisions (>=1.5.2)

 

Also as a side-note, CBPC Anus Support is no longer needed starting with version 1.5.1.

[AffectedNodes]
Anal # Anal (>=1.5.1)

 

Link to comment
  • 2 weeks later...

Thought I should come back and update this, in case folks arrive from Google or other searches. I didn't manage to fix the CBPC physics, but DID manage to get full HDT-SMP physics working on the BHUNP body, instead, so it fulfills the need I originally had for CBPC.

 

For anyone else trying to get SMP vagina physics working, I found that in the BHUNP XML files, BakaFactory used a comma separator instead of a decimal separator, which on North American localizations (and other countries that use a decimal separator in numbers) will result in XML values that either resolve to "0" (meaning no collision/motion), or simply won't read because of a syntax error (e.g. "0,1" is not a valid number for a given XML tag). Upon opening all of the "BaseShape(A-P)" files in "...\Skyrim Special Edition\Data\skse\plugins\hdtSkinnedMeshConfigs\BHUNP", and doing a find-and-replace for commas to replace them with periods, suddenly SMP physics are working completely for me on all things that can cause collisions, whether they're creatures, SOS schlongs, BakaFactory's animated beast cocks, or even props/dildos added in some animations. If the original object has working SMP configurations, replacing the commas in the BaseShape files seems to make the body collisions match up correctly.

 

Now that I have a working HDT-SMP configuration, I'll see if I can troubleshoot CBPC again, and if I make a breakthrough there, I'll put it here for posterity.

Link to comment

Well holy sht! ... you're right. Apparently not everywhere though, at least depending on which iteration of BHUNP you're using. Mine (original BHUNP version) have a mix of comma and decimal points. Which might explain some oddities in my BHUNP followers that I mis-attributed to "skyrim glitches".  (fwiw, I have both CBBE-3BBB and BHUNP installed to cover both converted-UNP foundation followers - now BHUNP - and my normal CBBE-3BBB player body and other NPCs)

 

This example of what I mean about mixed format is from BaseShapeP.xml in the /hdtSkinnedMeshConfigs/BHUNP/ folder

	<bone name="R Breast01">
		<mass>1.25</mass>
		<inertia x="10" y="10" z="10"/>
		<centerOfMassTransform>
			<basis x="0" y="0" z="0" w="1"/>
			<origin x="0" y="0" z="0"/>
		</centerOfMassTransform>
		<linearDamping>0,7</linearDamping>
		<angularDamping>0,8</angularDamping>
		<gravity-factor>0,5</gravity-factor>
		<friction>0.1</friction>
		<rollingFriction>0.1</rollingFriction>
		<restitution>0.5</restitution>
		<margin-multiplier>1</margin-multiplier>
	</bone>

Note the three terms: linearDamping, angularDamping, and gravity-factor

 

Thank you so much. 

 

Edited by anjenthedog
Link to comment

Flickering also occurs if you have 2 physics engines manipulating the same bones. Disable SMP entirely if you plan to adjust CBPC (and vice versa). Enable it once you're done; and test one last time. If things change or break, you have overlap.

 

Edit: The comma/dot issue is still a thing after all these years? Funny.

Edited by traison
Link to comment
1 hour ago, traison said:

Flickering also occurs if you have 2 physics engines manipulating the same bones. Disable SMP entirely if you plan to adjust CBPC (and vice versa). Enable it once you're done; and test one last time. If things change or break, you have overlap.

 

Edit: The comma/dot issue is still a thing after all these years? Funny.

 

 

The Comma/Dot issue will exist as long as "them backward old world yokuls" caynt see fit to larn a sensible, modern approach to decimal notation. ?

 

(just a friendly joke. I've heard that phrase used for decades to disparage Americans for using imperial measures for everyday life) 

 

 

Edited by anjenthedog
Link to comment
7 hours ago, anjenthedog said:

So, just the five XMLs in the /hdtSkinnedMeshConfigs/BHUNP/ folder, right? Or are there others?

 

EDIT: the ones in /hdtSkinnedMeshConfigs/ seem to be ok

 

(ugh, now I feel a need to check all of my other XMLs, AND all my Racemenu jslots....)

 

 

If you're looking for SMP xmls to normalize the decimal separators in then unfortunately it's not as simple as CBPC; they're not all in the same directory. You'd have to check all meshes, and the defaultBBPs.xml file for all paths. I suppose the easiest way to locate all meshes quickly is to use Notepad++ (or similar) to search all *.nif files in all mods for the string "HDT Skinned Mesh Physics Object". You may be able to make out the actual xml path from the binary mess, however keep in mind that 1) the strings are stored in a string list and there is no guaranteed order and 2) the string list can contain unused strings. This search will however give you the nif names, these can then be inspected in NifSkope.

Link to comment
22 hours ago, meatslinger said:

Thought I should come back and update this, in case folks arrive from Google or other searches. I didn't manage to fix the CBPC physics, but DID manage to get full HDT-SMP physics working on the BHUNP body, instead, so it fulfills the need I originally had for CBPC.

 

For anyone else trying to get SMP vagina physics working, I found that in the BHUNP XML files, BakaFactory used a comma separator instead of a decimal separator, which on North American localizations (and other countries that use a decimal separator in numbers) will result in XML values that either resolve to "0" (meaning no collision/motion), or simply won't read because of a syntax error (e.g. "0,1" is not a valid number for a given XML tag). Upon opening all of the "BaseShape(A-P)" files in "...\Skyrim Special Edition\Data\skse\plugins\hdtSkinnedMeshConfigs\BHUNP", and doing a find-and-replace for commas to replace them with periods, suddenly SMP physics are working completely for me on all things that can cause collisions, whether they're creatures, SOS schlongs, BakaFactory's animated beast cocks, or even props/dildos added in some animations. If the original object has working SMP configurations, replacing the commas in the BaseShape files seems to make the body collisions match up correctly.

 

Now that I have a working HDT-SMP configuration, I'll see if I can troubleshoot CBPC again, and if I make a breakthrough there, I'll put it here for posterity.

Many thanks for this, I've always liked BHUNP a lot, gonna try just these to see if works.
If it does, I will return, but it may take some time since I may move all my 3BA mods to BHUNP lol

 

EDIT: It worked damn, finally SMP genital collisions works for me with BHUNP, and it was because , instead of . 

Edited by Bad Luck Gacha
Link to comment
On 9/23/2022 at 4:37 PM, traison said:

Flickering also occurs if you have 2 physics engines manipulating the same bones. Disable SMP entirely if you plan to adjust CBPC (and vice versa). Enable it once you're done; and test one last time. If things change or break, you have overlap.

 

Edit: The comma/dot issue is still a thing after all these years? Funny.

 

I know that the two can conflict because they update the same meshes, so while CBPC was spazzing out I uninstalled SMP completely (as well as manually checking the data directory to make sure nothing got left behind due to dirty edits/permissions). At the very least, I can confidently say in my case the flickering is not happening due to SMP conflicts. If I switch back to CBPC and disable the SMP physics for the BHUNP body, the flickering is still there. If I switch SMP back on and disable CBPC, the flickering goes away, so there's still something to troubleshoot, but the SMP collisions look better so I may just stick with that, anyway.

 

I'm really glad I was able to help a few people out with the comma problem, though! It was great returning to this thread to check for any replies to see that the comma-fix got SMP working for a few other people apart from myself.

Link to comment

The comma issue ought to be a bolded sticky everywhere. I can't believe I spent so long with SMP half-broken.

 

-----

To reduce the effect, you could try boosting (hmm... or even reducing) the GridSize value in /SKSE/Plugins/CBPCSystem.ini, since it expressly indicates that "Lower values cause shakes or collision to fail".

 

Now, of course, that "lower" could be a bit subjective, so I'd expect "optimal" values to be different for different players, based on their:

  • hardware 
  • modlist
  • load order
  •  

Couldn't hurt to experiment. I use SMP almost exclusively these days, or I might do it , if I couldn't resolve most vibrations I see by momentarily switching to the other physics and back again using the CBPC/SMP hotkey, as a cheap "zeroing" action...

 

Also, you might see improvement in CPBC using the UseParallelProcessing setting. I've been running at "2" for just shy of 2 years. As I recall, I left it on after experimenting because I experientially thought it produced improvements at the time (seemed to improve my game stability - at the time, very unstable game overall - reduce lag a little, and reduce odd CBPC breast vibrations ... a little). Granted, no citations, no chain of evidence, But fwiw, it hasn't killed my game, or machine. Ymmv

 

Edited by anjenthedog
Link to comment
  • 5 months later...

No, namespaces are valid xml. They never made sense to me, but then again, I never used xml in a professional manner. It has to do with data validation if I'm not mistaken, hence the error about the missing declaration. The thing that doesn't make sense to me is the lengths to which some editors go to shove them into xml files. XML as far as I know is a very open standard, you got elements, attributes and comments and that's about it; so why enforce some arbitrary declaration with seemingly arbitrary rules for element and attribute names? Anyhow, like I said, never used it professionally. Probably missing the point.

 

The main reasion why you usually want to remove stuff like that when dealing with Skyrim mods is that the parser implementations around here seem a bit self made as it were. For instance, the json parser in JContainers is very picky with formatting and will not accept valid json if a linebreak or other whitespace character is in a position it didn't expect. Having those xml namespaces, especially since you don't need them, is just asking for trouble.

 

Edit: Should have said never used the namespace aspect of xml professionally. Whatever, details.

Edited by traison
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • 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