• Hi Guest!

    We are extremely excited to announce the release of our first Beta1.1 and the first release of our Public AddonKit!
    To participate in the Beta, a subscription to the Entertainer or Creator Tier is required. For access to the Public AddonKit you must be a Creator tier member. Once subscribed, download instructions can be found here.

    Click here for information and guides regarding the VaM2 beta. Join our Discord server for more announcements and community discussion about VaM2.
  • Hi Guest!

    VaM2 Resource Categories have now been added to the Hub! For information on posting VaM2 resources and details about VaM2 related changes to our Community Forums, please see our official announcement here.
Nipple & Pubic Hair Clipping Eliminator

Plugins + Scripts Nipple & Pubic Hair Clipping Eliminator

Download [<1 MB]
SIM problem: The previous error problem has been eliminated. There is a problem with the function of automatically canceling the pubic hair sim. It will not automatically uncheck the sim (this problem has always existed). I haven't done much testing, but when I did, it failed. I think SIM is not a high-priority issue. We will study and test it after we solve the problem of hiding pubic hair.
This could be due to not following naming conventions in the preset you put together. Normally, its author:name, but in your preset, there is no author with the 'PubThick' item. I remember that there are some very old legacy items (clothing) by MeshedVR which also follow different naming conventions. Not sure how to fix this.

1771528401484.png
 
This could be due to not following naming conventions in the preset you put together. Normally, its author:name, but in your preset, there is no author with the 'PubThick' item. I remember that there are some very old legacy items (clothing) by MeshedVR which also follow different naming conventions. Not sure how to fix this.

View attachment 567772
Thanks for the reminder. The VAR file was used to test the pubic hair hiding function, not for testing the sim, which wasn't my original intention. However, the issue you pointed out is very helpful, and I will keep that in mind when testing the sim later.
 
RunRudolf updated Nipple & Pubic Hair Clipping Eliminator with a new update entry:

Lots of Bugfixes

View attachment 568544
Credits: Carl (altfuta) by PJ-JP with Jacket Bomber Open by VL_13 and Worn Converse by Scoopedvam, Ellie by JackyCracky, 'Apartment Room' by oooo
  • Switched the hidden nipple morph value slider system to now representing a percentage of the hidden state compared to the non-hidden state (same as with pubic hair length)
  • Changed the nipples routine to the same logics as with the pubic hair, simplifying the code structure and clearly...

Read the rest of this update entry...
 
Great job! All the previous problems are gone. I'm using it with peace of mind now.
I'm now mainly testing Nip's performance.
I'd like to report some minor issue I found.

Pubic Hair Sim: When the pubic hair sim is enabled, dressing disables it via the plugin, which is the desired effect. However, removing clothing does not re-enable the pubic hair sim.

Nipple Morphs: Problems arise when some appearances have Nipples Morph=0.
For testing, two identical appearances were prepared, the only difference being that one had Nipples Morph=0 and the other had a different value (e.g., 1). They were save while wearing a bra. For ease of description, I'll call them N0 and N1 based on their values.

____Problem 1: After loading N1, everything works normally. then loading N0 and removing the bra, the Nipples Morph, which should have been 0, became 1. In other words, the value of N1 overwrites the Morphs value of N0.

____Problem 2: Loading N0 into N1 (or other appearances) does not cause problems. However, after loading N0, when loading a naked appearance with non Nipples Morph=0, the Nipples Morph are overwritten to 0. That is, N0's values overwrite those of naked appearances with non Nipples Morph=0.

If there are any problems with my English description, or if the situation is difficult to understand, please let me know, and I can prepare a VAR for you to test as before.
 
Great job! All the previous problems are gone. I'm using it with peace of mind now.
I'm now mainly testing Nip's performance.
I'd like to report some minor issue I found.

Pubic Hair Sim: When the pubic hair sim is enabled, dressing disables it via the plugin, which is the desired effect. However, removing clothing does not re-enable the pubic hair sim.

Nipple Morphs: Problems arise when some appearances have Nipples Morph=0.
For testing, two identical appearances were prepared, the only difference being that one had Nipples Morph=0 and the other had a different value (e.g., 1). They were save while wearing a bra. For ease of description, I'll call them N0 and N1 based on their values.

____Problem 1: After loading N1, everything works normally. then loading N0 and removing the bra, the Nipples Morph, which should have been 0, became 1. In other words, the value of N1 overwrites the Morphs value of N0.

____Problem 2: Loading N0 into N1 (or other appearances) does not cause problems. However, after loading N0, when loading a naked appearance with non Nipples Morph=0, the Nipples Morph are overwritten to 0. That is, N0's values overwrite those of naked appearances with non Nipples Morph=0.

If there are any problems with my English description, or if the situation is difficult to understand, please let me know, and I can prepare a VAR for you to test as before.
Hey man!! Thanks for testing and giving feedback, that's great! Your are a hell of a thorough tester ;-) Just kidding.
The pubic hair disable option was initially designed to be this way, just disabling and not enabling it again. I thought this was wished due to performance reasons, but not sure now. Do you think it would make sense to re-enable hair sim again if the hair is uncovered? Just for those items where it was initially enabled? I will have a look maybe. I will also check what's the issue is with the zero morphs. Guess I have a routine based on zero values - changing this would require some fundamental changes.
 
Hey man!! Thanks for testing and giving feedback, that's great! Your are a hell of a thorough tester ;-) Just kidding.
The pubic hair disable option was initially designed to be this way, just disabling and not enabling it again. I thought this was wished due to performance reasons, but not sure now. Do you think it would make sense to re-enable hair sim again if the hair is uncovered? Just for those items where it was initially enabled? I will have a look maybe. I will also check what's the issue is with the zero morphs. Guess I have a routine based on zero values - changing this would require some fundamental changes.
Thank you for your praise. You've completed a plugin that I felt was absolutely essential. Many creators have tried to perfect its functionality, but you've truly made these two functions near perfect. While checking for bugs, I deeply understood that what seems simple is actually quite complex in its rules. You've created a great piece of work.

Regarding the pubic hair sim: I don't actually use it; I only tested it from a functional perspective.

I just feel that some sims are intentionally enabled (for example, interactive features in VR), and perhaps they should revert to their original enabled state when they reappear.

Sim effects can put a certain burden on performance, especially in VR. Pubic hair is no longer visible after clothing is worn, so disabling the sim is a good performance-saving feature.

Since the sim isn't the main plugin function, it's good enough as it is. I just misunderstood it as a bug. I hope I haven't caused you any trouble.
 
Thank you for your praise. You've completed a plugin that I felt was absolutely essential. Many creators have tried to perfect its functionality, but you've truly made these two functions near perfect. While checking for bugs, I deeply understood that what seems simple is actually quite complex in its rules. You've created a great piece of work.

Regarding the pubic hair sim: I don't actually use it; I only tested it from a functional perspective.

I just feel that some sims are intentionally enabled (for example, interactive features in VR), and perhaps they should revert to their original enabled state when they reappear.

Sim effects can put a certain burden on performance, especially in VR. Pubic hair is no longer visible after clothing is worn, so disabling the sim is a good performance-saving feature.

Since the sim isn't the main plugin function, it's good enough as it is. I just misunderstood it as a bug. I hope I haven't caused you any trouble.
I think some user requested the auto deactivate pubic sim function because hair sim is quite costly in terms of CPU, and this is a way to have it be disabled always and for all pubic hair. But yea, your way of seeing it makes sense too. So there would be two modes: 'Always Disabled' and 'Disable when Covered Only'.
 
Hey bro, I can't wait to use your update. But I found that the downloaded version is still stuck at version 16, no different from the previous version. Is it because the hub hasn't approved the plugin yet?
It should be the recent version, did you try? I keep the version numer on the hub continuous, so your trial v16 became hub v16. At least thats what I believe.
 
I noticed that your update note was from Wednesday, but in the history, version date 16 is from last Sunday, and the downloaded file was also modified on Sunday.
 
I noticed that your update note was from Wednesday, but in the history, version date 16 is from last Sunday, and the downloaded file was also modified on Sunday.
history only contains old versions, not the current one. But I will check, thanks.
 
RunRudolf updated Nipple & Pubic Hair Clipping Eliminator with a new update entry:

Corrected Upload: Bugfixes, Enhanced Pubic Hair Sim Auto Mode

View attachment 569869
Credits: 'In A Good Mood' by RunRudolf, with 'Kira' by MvFF and 'Industrial Apartment' by Farger

Please note: This is a re-upload of former version 17, which did not contain the advertised changes. Sorry for that, I have no clue why it did not work.
  • Changed the disable sim (for pubic hair) function to disable sim while pubic hair is covered, but re-enabling it when uncovered.
  • Changed back to not...

Read the rest of this update entry...
 
I noticed that your update note was from Wednesday, but in the history, version date 16 is from last Sunday, and the downloaded file was also modified on Sunday.
You are right, the most recent update contained the old version. I have NO clue how that happened, but here it is. Thanks for the note!
 
You are right, the most recent update contained the old version. I have NO clue how that happened, but here it is. Thanks for the note!
Great, all functions are working perfectly. Thank you for your hard work.

A value of 0.0001, no problems at all, it didn't interfere with the nipples or turn the pubic hair back to its previous black dot, it seems like this is the perfect solution.

The pubic hair sim restoration also works perfectly. Only a few of my own pubic hairs didn't trigger the sim's disable function, I think that's something I did wrong, I need to find the problem myself.

Thanks again, this is great work.
 
Great, all functions are working perfectly. Thank you for your hard work.

A value of 0.0001, no problems at all, it didn't interfere with the nipples or turn the pubic hair back to its previous black dot, it seems like this is the perfect solution.

The pubic hair sim restoration also works perfectly. Only a few of my own pubic hairs didn't trigger the sim's disable function, I think that's something I did wrong, I need to find the problem myself.

Thanks again, this is great work.
Great! I think the issues with your own pubic hairs is due to naming schemes, which generally include the authors name. Some of your items do not include any author, if I remember correctly. You should be able to recreate them with author, and it should be fine. You can check the authors and names in their preset files. Let me know if you need help.
 
Hi, first of all thanks for this great plugin, NippleClippingEliminator has been a must-have in my session plugins for some time now.
Lately I've been trying to develop my own plugins and have started to use this plugin to check logs: DebugConsole

It made debugging my code so much easier for a number of reasons, one of which is that it reveals hidden errors that VaM isn't showing on the usual interface. This has helped me pinpoint some weak spots in my code. The bad news is that it has also flagged up hidden errors in other plugins, sadly this is the case with NippleClippingEliminator - but there is good news too. Since I'm doing this as a learning exercise I decided to try to understand and bugfix what I'd found. I hope that is ok. I think I have successfully worked out 2 bugs that I found which were not showing in the usual error logs. I've tested by editing a local copy of
NippleClippingEliminator.cs. I have attached in case you want to incorporate the changes into your code going forward.

I did some short screen recordings as I thought that was the easiest way to show what I had found. I've used a clean install of the latest VaM version with no other plugins present other than the DebugConsole plugin to show the errors. I've loaded the shipped default scene.

Bug 1 JSONStorableBool registration duplicate



There were 2 bools both being registered with the same name "Enable" so the second one was failing to register. Therefore the "Enable Pubic" wasn't available to the trigger system. I've simply named them uniquely. They now both show & function as expected in triggers.

Bug 2 missing storable parameters on clothing items




This potentially has more impact since it's causing hundreds of exceptions to be thrown internally per second, and that was just with the default scene/clothes which are minimal. It was harder to figure out because I couldn't understand why a missing parameter was not being caught in the usual catch/try. It turns out GetBoolParamValue in Assembly-CSharp JSONStorable.cs looks like this:-

Screenshot_Assembly-CSharp_JSONStorable.png


You can see where the error was coming from. GetBoolParamValue is returning a bool value of 'false' even though the named parameter doesn't exist and is causing an error to be thrown. Then the error won't get caught in the plugin script. It's sort of ok functionally since it sets the missing values to false rather than them being null. In order to tidy it up and stop the errors I've used GetBoolParamNames which returns all the bool value parameter names for the clothing item, then a string comparison to see if the desired parameter name exists for that clothing item - if it does, then and only then, attempt to get the value. This eliminates the error.

I've tried to make the code changes minimal and concise, and I've commented everywhere I have changed/added lines - just search for "B69" to find the commented code. I've done some testing and as far as I can tell the only thing my changes would impact is any existing use of the triggers system if people have them saved - pointing to the old Storable bool "Enable", they would need repointing to "Enable Nipple" in my version of the code. You may prefer to just rename the second one for pubic enable - it currently isn't accessible from triggers, so giving that a new name and not altering the original nipple enable at all should mean zero impact on existing saves.

Video showing my custom code test


 

Attachments

  • NippleClippingEliminatorCustom.cs
    90.1 KB · Views: 0
Great! I think the issues with your own pubic hairs is due to naming schemes, which generally include the authors name. Some of your items do not include any author, if I remember correctly. You should be able to recreate them with author, and it should be fine. You can check the authors and names in their preset files. Let me know if you need help.
I've found my problem.

There are two possible reasons why the sim function isn't enabled.

1: This function only works for avatars created using a packaged VAR; it doesn't work for avatars that are not packaged and are stored locally.

2: The problem is similar to what you mentioned before.I modified and saved a hair file created by someone else, so the ID of creatorName did not match the ID of uid, and therefore the function was not triggered.

After I fixed the two issues, sim worked perfectly.
The issue I discovered has now been resolved. You can refer to the issue identified by barnaby69. This is something I was unable to test due to my limited capabilities.
Thank you again for your hard work and quick updates.
 
Hi, first of all thanks for this great plugin, NippleClippingEliminator has been a must-have in my session plugins for some time now.
Lately I've been trying to develop my own plugins and have started to use this plugin to check logs: DebugConsole

It made debugging my code so much easier for a number of reasons, one of which is that it reveals hidden errors that VaM isn't showing on the usual interface. This has helped me pinpoint some weak spots in my code. The bad news is that it has also flagged up hidden errors in other plugins, sadly this is the case with NippleClippingEliminator - but there is good news too. Since I'm doing this as a learning exercise I decided to try to understand and bugfix what I'd found. I hope that is ok. I think I have successfully worked out 2 bugs that I found which were not showing in the usual error logs. I've tested by editing a local copy of
NippleClippingEliminator.cs. I have attached in case you want to incorporate the changes into your code going forward.

I did some short screen recordings as I thought that was the easiest way to show what I had found. I've used a clean install of the latest VaM version with no other plugins present other than the DebugConsole plugin to show the errors. I've loaded the shipped default scene.

Bug 1 JSONStorableBool registration duplicate

View attachment 570210

There were 2 bools both being registered with the same name "Enable" so the second one was failing to register. Therefore the "Enable Pubic" wasn't available to the trigger system. I've simply named them uniquely. They now both show & function as expected in triggers.

Bug 2 missing storable parameters on clothing items


View attachment 570211

This potentially has more impact since it's causing hundreds of exceptions to be thrown internally per second, and that was just with the default scene/clothes which are minimal. It was harder to figure out because I couldn't understand why a missing parameter was not being caught in the usual catch/try. It turns out GetBoolParamValue in Assembly-CSharp JSONStorable.cs looks like this:-

View attachment 570212

You can see where the error was coming from. GetBoolParamValue is returning a bool value of 'false' even though the named parameter doesn't exist and is causing an error to be thrown. Then the error won't get caught in the plugin script. It's sort of ok functionally since it sets the missing values to false rather than them being null. In order to tidy it up and stop the errors I've used GetBoolParamNames which returns all the bool value parameter names for the clothing item, then a string comparison to see if the desired parameter name exists for that clothing item - if it does, then and only then, attempt to get the value. This eliminates the error.

I've tried to make the code changes minimal and concise, and I've commented everywhere I have changed/added lines - just search for "B69" to find the commented code. I've done some testing and as far as I can tell the only thing my changes would impact is any existing use of the triggers system if people have them saved - pointing to the old Storable bool "Enable", they would need repointing to "Enable Nipple" in my version of the code. You may prefer to just rename the second one for pubic enable - it currently isn't accessible from triggers, so giving that a new name and not altering the original nipple enable at all should mean zero impact on existing saves.

Video showing my custom code test


View attachment 570222
Wow, what a community I have! I will of course happily check your changes and integrate them. I have lately not used the plugin to monitor hidden errors, but thats a good idea. I will keep you informed, thank you cery much!
 
Wow, what a community I have! I will of course happily check your changes and integrate them. I have lately not used the plugin to monitor hidden errors, but thats a good idea. I will keep you informed, thank you cery much!
I will integrate your suggestions, thank you for your precised analysis! Performance impact seems negligible, even though we have regular scans through all JSONStorables. I however found another logics issue with multi person scenes in session plugin mode which I will have to look at. It will certainly take a bit of time to the next release. Thanks again!
 
Bug notice: There is an issue with the most recent versions of this plugin under the following circumstances: Installed as a scene or session plugin, with several person atoms in the scene. In this case, nipples and hair values will not be restored properly and very frequent changes occur, since values are mixed between persons. You can see this if you activate the debug log.
I will integrate the morph sum and hair length checks into PersonData, so that these values are saved individually for each person. That makes more sense anyway, but I was lazy. I will post an update soon. Thanks for your understanding.
 
I will integrate your suggestions, thank you for your precised analysis! Performance impact seems negligible, even though we have regular scans through all JSONStorables. I however found another logics issue with multi person scenes in session plugin mode which I will have to look at. It will certainly take a bit of time to the next release. Thanks again!
No problem, it was a great learning experience for me! (y)
 
RunRudolf updated Nipple & Pubic Hair Clipping Eliminator with a new update entry:

Fixed Session Plugin Mode With Several Person Atoms

View attachment 570425
Credits: 'Enrique' by SaiVam and 'Tina Rodriguez' by HotlineVam, clothes by PositiveResult and VL_13, poses by klphgz and LDR
  • Fixed a bug appearing when in session plugin mode with several person atoms in a scene. In this case, restore values of different persons have been mixed.
  • Fixed a bug not showing the enable pubic / enable nipple in the trigger list. Thanks @barnaby69 for the hint!
  • Fixed a bug...

Read the rest of this update entry...
 

Similar threads

Back
Top Bottom