It seems so. What do the sliders say in the nipples tab while touching them?Am I the only one who seems to not have nipple morphs work/be detected?
It seems so. What do the sliders say in the nipples tab while touching them?Am I the only one who seems to not have nipple morphs work/be detected?
Thanks for the positive feedbackFirst things first, thanks a bunch for your work on this amazing plugin.
One quick question: from the plugin description we can read that the focus is on 'anal' for the moment. I personally have no interest for anal in my scenes so i was wondering what is already taken care of by the plugin regarding vagina and what are your plans for improving vaginal penetrations later?
Thanks for the clarification.Thanks for the positive feedback
I hate to say this, but my interest enhancing the vagina is very minor. That's because:
So, there probably won't be any auto morphing the vag, but all the other features like triggers, bulging and stimulation work (nearly) the same as with the anus.
- I don't really care about vam vag sex
- There already are plugins to enhance the vagina (auto labia etc.)
- The vag does not feature the same system with colliders that have to be spread apart to enter
!> Exception during plugin script Init: System.NullReferenceException: Object reference not set to an instance of an object
at CheesyFX.Orifice.<Init>m__4 (Single val) [0x00000] in <filename unknown>:0
at JSONStorableFloat.InternalSetVal (Single f, Boolean doCallback) [0x00000] in <filename unknown>:0
at JSONStorableFloat.set_val (Single value) [0x00000] in <filename unknown>:0
at CheesyFX.JSONStorableParamExt.Load (.JSONStorableParam jsonParam, SimpleJSON.JSONClass jc) [0x00000] in <filename unknown>:0
at CheesyFX.Orifice.Load (SimpleJSON.JSONClass jc, System.String subScenePrefix) [0x00000] in <filename unknown>:0
at CheesyFX.Anus.Load (SimpleJSON.JSONClass jc, System.String subScenePrefix) [0x00000] in <filename unknown>:0
at CheesyFX.FillMeUp.Load (SimpleJSON.JSONClass jc) [0x00000] in <filename unknown>:0
at CheesyFX.PresetSystem.ApplyFromUrl (System.String path) [0x00000] in <filename unknown>:0
at CheesyFX.PresetSystem.ApplyLatestMatchingPreset () [0x00000] in <filename unknown>:0
at CheesyFX.PresetSystem.Init () [0x00000] in <filename unknown>:0
at CheesyFX.FillMeUp.Init () [0x00000] in <filename unknown>:0
at MVRPluginManager.CreateScriptController (.MVRPlugin mvrp, DynamicCSharp.ScriptType type) [0x00000] in <filename unknown>:0
!> Exception during RestoreFromLast of plugin#3_CheesyFX.FillMeUp: System.NullReferenceException: Object reference not set to an instance of an object
at CheesyFX.Orifice.UpdateTriggerPosition () [0x00000] in <filename unknown>:0
at CheesyFX.Orifice.<Init>m__3 (Single x) [0x00000] in <filename unknown>:0
at JSONStorableFloat.InternalSetVal (Single f, Boolean doCallback) [0x00000] in <filename unknown>:0
at JSONStorableFloat.set_val (Single value) [0x00000] in <filename unknown>:0
at CheesyFX.JSONStorableParamExt.Load (.JSONStorableParam jsonParam, SimpleJSON.JSONClass jc) [0x00000] in <filename unknown>:0
at CheesyFX.Orifice.Load (SimpleJSON.JSONClass jc, System.String subScenePrefix) [0x00000] in <filename unknown>:0
at CheesyFX.Anus.Load (SimpleJSON.JSONClass jc, System.String subScenePrefix) [0x00000] in <filename unknown>:0
at CheesyFX.FillMeUp.Load (SimpleJSON.JSONClass jc) [0x00000] in <filename unknown>:0
at CheesyFX.FillMeUp.LateRestoreFromJSON (SimpleJSON.JSONClass jc, Boolean restorePhysical, Boolean restoreAppearance, Boolean setMissingToDefault) [0x00000] in <filename unknown>:0
at Atom.RestoreFromLast (.JSONStorable js) [0x00000] in <filename unknown>:0
!> Exception during plugin script Init: System.InvalidOperationException: enterTriggerGO is null
at CheesyFX.Orifice.UpdateTriggerPosition () [0x00000] in <filename unknown>:0
at CheesyFX.Orifice.TriggerOffsetForwardCallback (Single x) [0x00000] in <filename unknown>:0
at JSONStorableFloat.InternalSetVal (Single f, Boolean doCallback) [0x00000] in <filename unknown>:0
at JSONStorableFloat.set_val (Single value) [0x00000] in <filename unknown>:0
at CheesyFX.JSONStorableParamExt.Load (.JSONStorableParam jsonParam, SimpleJSON.JSONClass jc) [0x00000] in <filename unknown>:0
at CheesyFX.Orifice.Load (SimpleJSON.JSONClass jc, System.String subScenePrefix) [0x00000] in <filename unknown>:0
at CheesyFX.FillMeUp.Load (SimpleJSON.JSONClass jc) [0x00000] in <filename unknown>:0
at CheesyFX.PresetSystem.ApplyFromUrl (System.String path) [0x00000] in <filename unknown>:0
at CheesyFX.PresetSystem.ApplyLatestMatchingPreset () [0x00000] in <filename unknown>:0
at CheesyFX.PresetSystem.Init () [0x00000] in <filename unknown>:0
at CheesyFX.FillMeUp.Init () [0x00000] in <filename unknown>:0
at MVRPluginManager.CreateScriptController (.MVRPlugin mvrp, DynamicCSharp.ScriptType type) [0x00000] in <filename unknown>:0
You can add touch triggers to every body region from left pinky to right big toe. All triggering is based on the time the region is touched.
- General settings:
- Reset Rate: By default the time touched is not instantly set back to 0 once the collision breaks. Instead, it decays with a rate proportional to this.
Tip: If you set the rate to 0 the timer will not be reset. It will count the total amount of time the region has been touched so far (cumulative).- Instant...
fixed in v24Upon further digging, it appears the trigger game object hasn't been created by the time FillMeUp loads the preset.
You're running CreateTriggersHandlers as a subroutine without waiting for it to finish which causes a thread race.
Code:!> Exception during plugin script Init: System.InvalidOperationException: enterTriggerGO is null at CheesyFX.Orifice.UpdateTriggerPosition () [0x00000] in <filename unknown>:0 at CheesyFX.Orifice.TriggerOffsetForwardCallback (Single x) [0x00000] in <filename unknown>:0 at JSONStorableFloat.InternalSetVal (Single f, Boolean doCallback) [0x00000] in <filename unknown>:0 at JSONStorableFloat.set_val (Single value) [0x00000] in <filename unknown>:0 at CheesyFX.JSONStorableParamExt.Load (.JSONStorableParam jsonParam, SimpleJSON.JSONClass jc) [0x00000] in <filename unknown>:0 at CheesyFX.Orifice.Load (SimpleJSON.JSONClass jc, System.String subScenePrefix) [0x00000] in <filename unknown>:0 at CheesyFX.FillMeUp.Load (SimpleJSON.JSONClass jc) [0x00000] in <filename unknown>:0 at CheesyFX.PresetSystem.ApplyFromUrl (System.String path) [0x00000] in <filename unknown>:0 at CheesyFX.PresetSystem.ApplyLatestMatchingPreset () [0x00000] in <filename unknown>:0 at CheesyFX.PresetSystem.Init () [0x00000] in <filename unknown>:0 at CheesyFX.FillMeUp.Init () [0x00000] in <filename unknown>:0 at MVRPluginManager.CreateScriptController (.MVRPlugin mvrp, DynamicCSharp.ScriptType type) [0x00000] in <filename unknown>:0
Sliders work, morphs didn't. I unpacked them from .var and they work now, though that's weird.It seems so. What do the sliders say in the nipples tab while touching them?
Oh, I'll check. May be that I forgot to rerout the path when loading from var (I always use the local version, obviously).Sliders work, morphs didn't. I unpacked them from .var and they work now, though that's weird.
Possibly, but none that I could find about that morph. Not sure what caused it since other morphs in the var work fine.Oh, I'll check. May be that I forgot to rerout the path when loading from var (I always use the local version, obviously).
Edit: No, it's all set up and working correctly on my side. Do you have any error prints?
The error wouldn't be about the morph itself, just BL in general. Are you sure that it doesn't work? Are the morph sliders moving up while touching the nipple? I just noticed that the effect is not that prominent on a default model. I only used my model to test while creating the morph and the plugin drives it to a max value of 1.5. The next version will have adjustable strength for that reason. Maybe that solves your problem.Possibly, but none that I could find about that morph. Not sure what caused it since other morphs in the var work fine.
- Slap triggers:
- Addable to any body region
- Based on the intensity of the slap(s)
- Cooldown available
- Threshold triggers (exceed, undershot)
- Value trigger, mainly useful in cumulative mode
- Cumulative mode:
- Slap intensities add up to a total value
- The total value decays by a configurable rate
- This is specifically useful to drive slap marks. Example: Use the value trigger with some range (like [0, 100]) to map it to the alpha of your...
still getting exceptions in v24 and v25fixed in v24
!> Exception during plugin script Init: System.NullReferenceException: Object reference not set to an instance of an object
at CheesyFX.Orifice.<Init>m__4 (Single val) [0x00000] in <filename unknown>:0
at JSONStorableFloat.InternalSetVal (Single f, Boolean doCallback) [0x00000] in <filename unknown>:0
at JSONStorableFloat.set_val (Single value) [0x00000] in <filename unknown>:0
at CheesyFX.JSONStorableParamExt.Load (.JSONStorableParam jsonParam, SimpleJSON.JSONClass jc) [0x00000] in <filename unknown>:0
at CheesyFX.Orifice.Load (SimpleJSON.JSONClass jc, System.String subScenePrefix) [0x00000] in <filename unknown>:0
at CheesyFX.Anus.Load (SimpleJSON.JSONClass jc, System.String subScenePrefix) [0x00000] in <filename unknown>:0
at CheesyFX.FillMeUp.Load (SimpleJSON.JSONClass jc) [0x00000] in <filename unknown>:0
at CheesyFX.PresetSystem.ApplyFromUrl (System.String path) [0x00000] in <filename unknown>:0
at CheesyFX.PresetSystem.ApplyLatestMatchingPreset () [0x00000] in <filename unknown>:0
at CheesyFX.PresetSystem.Init () [0x00000] in <filename unknown>:0
at CheesyFX.FillMeUp.Init () [0x00000] in <filename unknown>:0
at MVRPluginManager.CreateScriptController (.MVRPlugin mvrp, DynamicCSharp.ScriptType type) [0x00000] in <filename unknown>:0
!> Error during attempt to load assetbundle CheesyFX.BodyLanguage.24:/Custom/Scripts/CheesyFX/BodyLanguage/audiobundles/slaps.audiobundle. Not valid
!> Exception caught: System.NullReferenceException: Object reference not set to an instance of an object
at CheesyFX.AudioImporter.ReadBundle (MeshVR.AssetBundleFromFileRequest bundle, System.Collections.Generic.List`1 clipLibraries) [0x00000] in <filename unknown>:0
at CheesyFX.AudioImporter.OnBundleLoaded (MeshVR.AssetBundleFromFileRequest request, System.Collections.Generic.List`1 clipLibraries) [0x00000] in <filename unknown>:0
Because it's better to wait for the physics to settle before creating the triggers.still getting exceptions in v24 and v25
Why do you run CreateTriggersHandlers as a subroutine in the first place? It works fine for me if I change it to execute synchronously.
The secondary error regarding the slaps.audiobundle happens only when body language is added or updated by your plugin suit.
Code:!> Exception during plugin script Init: System.NullReferenceException: Object reference not set to an instance of an object at CheesyFX.Orifice.<Init>m__4 (Single val) [0x00000] in <filename unknown>:0 at JSONStorableFloat.InternalSetVal (Single f, Boolean doCallback) [0x00000] in <filename unknown>:0 at JSONStorableFloat.set_val (Single value) [0x00000] in <filename unknown>:0 at CheesyFX.JSONStorableParamExt.Load (.JSONStorableParam jsonParam, SimpleJSON.JSONClass jc) [0x00000] in <filename unknown>:0 at CheesyFX.Orifice.Load (SimpleJSON.JSONClass jc, System.String subScenePrefix) [0x00000] in <filename unknown>:0 at CheesyFX.Anus.Load (SimpleJSON.JSONClass jc, System.String subScenePrefix) [0x00000] in <filename unknown>:0 at CheesyFX.FillMeUp.Load (SimpleJSON.JSONClass jc) [0x00000] in <filename unknown>:0 at CheesyFX.PresetSystem.ApplyFromUrl (System.String path) [0x00000] in <filename unknown>:0 at CheesyFX.PresetSystem.ApplyLatestMatchingPreset () [0x00000] in <filename unknown>:0 at CheesyFX.PresetSystem.Init () [0x00000] in <filename unknown>:0 at CheesyFX.FillMeUp.Init () [0x00000] in <filename unknown>:0 at MVRPluginManager.CreateScriptController (.MVRPlugin mvrp, DynamicCSharp.ScriptType type) [0x00000] in <filename unknown>:0 !> Error during attempt to load assetbundle CheesyFX.BodyLanguage.24:/Custom/Scripts/CheesyFX/BodyLanguage/audiobundles/slaps.audiobundle. Not valid !> Exception caught: System.NullReferenceException: Object reference not set to an instance of an object at CheesyFX.AudioImporter.ReadBundle (MeshVR.AssetBundleFromFileRequest bundle, System.Collections.Generic.List`1 clipLibraries) [0x00000] in <filename unknown>:0 at CheesyFX.AudioImporter.OnBundleLoaded (MeshVR.AssetBundleFromFileRequest request, System.Collections.Generic.List`1 clipLibraries) [0x00000] in <filename unknown>:0
Yes, I changed trigger offsets. It happens both when I load a scene that contains the plugin and when adding the plugin if I have a default preset.Because it's better to wait for the physics to settle before creating the triggers.
Could you please be more specific how to reproduce this? In default scene too? Only on scene load? Does the scene contain the settings or does it try to load "UserDefaults"? What settings did you change? Etc. I assumed you changed the trigger offsets.
I did not test it extensively, but after your posts it was clear to me that there will be an error when trying to set the offsets. I thought my fix should have prevented that, but I'll give it another look.As with any race condition, it may or may not happen due to a number of factors. If you cannot reproduce it on your system try increasing the
"WaitForSeconds(.5f)" to something longer.
Hey! You can also join my discord for more!Wow I had no idea discussions for this were so active.
What I meant in my comment about the triggers may not be possible in this specific plugin but another one called Extra Triggers , has a feature that can only activate when a specific atom collides with another.. so for example, normally anything would trigger mouth collider but its unique ability is to make something like the Penis be the only thing that triggers a collision with the mouth.
But this handles so many different body parts I don't know if it's possible to specify a specific atom as the only trigger for each.
But the benefit of it does work is that a scene creator can have different comments or voice lines for each touch to a different body part. An ass slap can have comments but sitting down won't cause the same comments because the chair touched the ass, a paddle can have a different reaction than a hand. And best of all since it would be in one plugin , settings can be saved and it could be used to bring life and reactions to a character in ANY scene.
But like I said I don't know much of that is actually possible, and this doesn so much already, I'm likely just thinking crazy or missing details.
It works when I change CreateTriggersHandlers to execute synchronously instead of as a subroutine. My configured values load fine.I did not test it extensively, but after your posts it was clear to me that there will be an error when trying to set the offsets. I thought my fix should have prevented that, but I'll give it another look.
I haven't really tested how it works without the delay, but my experience with HeelAdjust2 tells me that if you start adding colliders while the model isn't fully loaded things might get messed up big time. Just load a scene containing the original HeelAdjust from prestigitis - you'll get toes flying all over the place.It works when I change CreateTriggersHandlers to execute synchronously instead of as a subroutine. My configured values load fine.