Supplementary colliders for male & futa

Plugins Supplementary colliders for male & futa

urukyay

Well-known member
Featured Contributor
Messages
49
Reactions
354
Points
53
urukyay submitted a new resource:

Supplementary colliders for male & futa - Adds cloth and hair collisions for male and futa characters where they are missing

Warning : this is very beta. The plugin adds 42 atoms to the scene, which are a pain to remove by hand if things go wrong. Keep a copy of your scene before using.

This plugin adds several hidden capsule atoms to the legs, hip and breasts of male skin based characters so that cloth and hair collide more or less correctly. The added atoms get automatically removed when the plugin is removed (but not when it is disabled).

How to use :
  • Add it to a Person atom
  • Wait for it to create...

Read more about this resource...
 
Your plugin is very useful. I really love it Thank you for this :love:
- Is it possible for you to improve the number of capsules? Having a larger number of capsules gives a detailed collision surface.
- Can you add options like percent, opacity, capsules? I almost can't see it on the light-colored character models.

Capture07.JPG
 
Your plugin is very useful. I really love it Thank you for this :love:
- Is it possible for you to improve the number of capsules? Having a larger number of capsules gives a detailed collision surface.
- Can you add options like percent, opacity, capsules? I almost can't see it on the light-colored character models.

View attachment 40791
Thanks!
It is possible for more capsules, though too many might make it more of a hassle to adjust manually (plus too many will kill performance). I don't have much faith in my autofit method to disregard manual adjustment completely. There are gaps that I'll add to as I use the thing, but don't expect a perfect or near perfect surface, I don't think that's possible with this kind of approach :(

Opacity is easy to add, I'll see to that for the next version. What do you mean by percent, and capsules?
 
urukyay updated Supplementary colliders for male & futa with a new update entry:

Version 2

Changes :

  • Added opacity slider : this is a general slider and controls both unselected and selected collider opacity
  • Better preview capsules that correctly scale without deforming. Actual colliders didn't deform previously, but the previews were inaccurate.
  • Height stops at a minimum value that depends on the radius. Capsules can't be shorter than they are wide, basically stopping at spheres. I think this is what happens internally anyway, now editing and...

Read the rest of this update entry...
 
First i love this plugin. thx for it.
You use the prefix "uycol_" for the created atoms.
Will it not be possible to change this for example "uycol_"+ the name of the person when loading the plugin to a person, As an alternative enter an prefix in the plugin control screen and than click on a button to recreate the collider atoms?
This should than be allow a multi person usage or iam completly wrong in understanding how it works?
My programming skills are not really up to date.
 
First i love this plugin. thx for it.
You use the prefix "uycol_" for the created atoms.
Will it not be possible to change this for example "uycol_"+ the name of the person when loading the plugin to a person, As an alternative enter an prefix in the plugin control screen and than click on a button to recreate the collider atoms?
This should than be allow a multi person usage or iam completly wrong in understanding how it works?
My programming skills are not really up to date.


I also dont know how this would be achieved, but it would be great to be able to have on two males in one scene
 
Capsules become visible whenever I open In-game Hub Browser. :-(
Otherwise grate PLUGIN :)
 
urukyay updated Supplementary colliders for male & futa with a new update entry:

New Features

  • No longer uses capsule atoms, everything is contained to the person atom.
  • Multiple atom support
  • Option to enable cloth collision on existing builtin colliders
  • Option for the extra colliders to affect other objects like hands
  • New Interpolated collider system, the old one is kept in
Since there's major changes in how this works, treat it like an alpha version.

In more detail :

Can now convert existing builtin colliders to cloth colliders, if they aren't...

Read the rest of this update entry...
 
NICE update, I love it! I didn't use the older version much because of the massive amount of atoms it produced, but now it seems perfect (haven't tried yet). Thanks!

Regarding your issue with missing cloth collisions: Had this too with HeelAdjust2 when I forgot to deregister a GPU collider. I think the system crashes completely if there is one missing. Maybe you just missed a GPUCollidersManager.DeregisterLineSphereCollider() call on destroy while developing.
 
NICE update, I love it! I didn't use the older version much because of the massive amount of atoms it produced, but now it seems perfect (haven't tried yet). Thanks!

Regarding your issue with missing cloth collisions: Had this too with HeelAdjust2 when I forgot to deregister a GPU collider. I think the system crashes completely if there is one missing. Maybe you just missed a GPUCollidersManager.DeregisterLineSphereCollider() call on destroy while developing.

That's strange, I had both registers and deregisters for everything right before destroying and it still behaved like I described. I tried that on an atom with a single collider too to make sure there wasn't anything else there I could miss, and still. It only stopped when delaying the destruction. I think there's something going on with GPUCollidersManager.ComputeColliders() but I don't understand it really.

Then I saw that the capsuleLineSphere's onEnable and onDisable call register and deregister themselves, so I took mine out. Maybe I should put them back in, but then there may be duplicates in the lists GPUCollidersManager keeps? Won't those two run anyway when creating and destroying the components ?
 
@urukyay Hmm strange. You can look into my code. I destroy (deregister them) without any delay and never had an issue after the scenario I described above.
And I do register them myself too. Maybe you destroyed the gameobject/component before you tried to deregister them. Or you simply had a null reference exception and did not reach this part of the code...

I'd keep the deregister in for safety reasons, even if they should do it by themselfes. I don't think there's any harm done, like List.Remove(x) if x is not in the list.

They may be destroyed when the containing gameobject/component is destroyed, but I think they also have to be removed from the list of GPUColliders, hence the deregister. I did not dig in deeper though. I was happy as it worked and that's it :)
 
It doesn't work when I load a new preset for my person, but when I load a new scene and put the plugin, it works, here is the log:
!> Exception during plugin script Init: System.NullReferenceException: Object reference not set to an instance of an object at UYCol+<AttemptAddGPUToExisting>c__AnonStorey0+<AttemptAddGPUToExisting>c__AnonStorey1.<>m__0 (System.String filter) [0x00000] in <filename unknown>:0 at System.Linq.Enumerable.Any[String] (IEnumerable`1 source, System.Func`2 predicate) [0x00000] in <filename unknown>:0 at UYCol+<AttemptAddGPUToExisting>c__AnonStorey0.<>m__0 (UnityEngine.CapsuleCollider c) [0x00000] in <filename unknown>:0 at System.Linq.Enumerable+<CreateWhereIterator>c__Iterator1D`1[UnityEngine.CapsuleCollider].MoveNext () [0x00000] in <filename unknown>:0 at UYCol.AttemptAddGPUToExisting (System.Collections.Generic.List`1 rigidbodyfilter) [0x00000] in <filename unknown>:0 at UYCol.Init () [0x00000] in <filename unknown>:0 at MVRPluginManager.CreateScriptController (.MVRPlugin mvrp, DynamicCSharp.ScriptType type) [0x00000] in <filename unknown>:0 !> Exception during RestoreFromLast of plugin#8_UYCol: System.ArgumentNullException: Argument cannot be null. Parameter name: key at System.Collections.Generic.Dictionary`2[UIDynamicToggle,JSONStorableBool].TryGetValue (.UIDynamicToggle key, .JSONStorableBool& value) [0x00000] in <filename unknown>:0 at MVRScript.RemoveToggle (.UIDynamicToggle dtoggle) [0x00000] in <filename unknown>:0 at UYCol.destroyGUI1 () [0x00000] in <filename unknown>:0 at UYCol.RestoreFromJSON (SimpleJSON.JSONClass jc, Boolean restorePhysical, Boolean restoreAppearance, SimpleJSON.JSONArray presetAtoms, Boolean setMissingToDefault) [0x00000] in <filename unknown>:0 at Atom.RestoreFromLast (.JSONStorable js) [0x00000] in <filename unknown>:0
 
Back
Top Bottom