[Experimental] CUA/XPS Controllers

Plugins [Experimental] CUA/XPS Controllers

Stopper

Invaluable member
Featured Contributor
Messages
359
Reactions
4,541
Points
123
Stopper submitted a new resource:

[Experimental] CUA/XPS Controllers - Adds controllers to CUA and XPS assets

This plugin adds controllers to CUAs and XPS files loaded with https://hub.virtamate.com/resources/xps-xnalara-model-loader-bug-fix.32657/

Disclaimer: Work in progress. Expect bugs.

Usage
  1. Add plugin to CUA asset (or Empty asset with XPS loader installed)
  2. Select root node
    1. "Armature" is usually a safe bet.
  3. Set options
    1. Create Rigidbodies: Creates Unity Rigidbodies if they haven not yet been added.
    2. Create...

Read more about this resource...
 
I think this provides much more possibilities for creating decent CUA clothes (like a cape, scarf, and etc.) because we can attach any newly created node we want of the CUA to the body nodes and make some clothes swing effects via CUA. The difference and benifits of this type of clothes is they can be edited and manipulated independently like real life clothes much easier compaired with wraped clothes , these clothes can fall to ground and stay there and even collide with body and other CUAs, which give us more immersion. And others benefits are no clothes deformations at all and thick clothes without mesh clipping can be partially realized. I will dive into this and post some experiments results in future.
 
Last edited:
I wonder how this compares to the IKCUA plugin
IKCUA is not able to add joints between the nodes at least, which make the CUA like dead things there, the connected nodes do not move naturally by themselves.
 
I replicated exactly what you did, even with the same gorilla and they just start to float around without standing still, every xps model with a mouth does it until you turn on every single node. is there something extra I should be doing?
Always wanted a plugin to try out stuff for dragons just for cool action animations. I hope we can sus this out

EDIT: If the attachment doesnt work cause it doesnt seem to be for me use this link https://files.catbox.moe/rnka35.mp4


EDIT2: Actually it turns out it entirely depends on the xps model itself, and the bones/ position of them so its a matter of just getting the right one.

Could I make a suggestion? Once you load a model it adds every single bone in the thing and they wobble around until they are turned on or parented. Could it be possible to add the bones that the plugin enables, into the plugin control interface so you can turn them on or off? because some models have a LOT of bones that wobble around. Example, A jaw and its sections need to be parented to the head and stuff like that.
I don't even know if the scene will work properly once I save it to test either but I'm assuming its okay.

EDIT3 lol: Okay so after saving the scene and returning its reset the xps model to its freshly loaded position and not saved any of the nodes data, so I would have to reparent every node back how it was which would make it way too hard to use.
When I get home later on I'll see if the parenting states save in timeline, I cant imagine why they wouldnt but it might cause some kinda weirdness, idk yet
 

Attachments

  • bandicam 2023-07-30 15-28-31-940.mp4
    5.1 MB
Last edited:
This is impressive. Now VAM needs to have a repository section specifically of NSFW CUA models. This looks like it'll replace other VR games like GOATvr anda few others with time. And all with the benefit of being run in VAM.
 
This is impressive. Now VAM needs to have a repository section specifically of NSFW CUA models. This looks like it'll replace other VR games like GOATvr anda few others with time. And all with the benefit of being run in VAM.
Head over to deviantart, make an account and search for XPS. its a lot of trial and error on which ones work
 
Head over to deviantart, make an account and search for XPS. its a lot of trial and error on which ones work
A very lot of trial and error, most ones just explode ;)
Anyway, thanks for another awesome addition to VAM, I am sure with the right XPS models and some bugfixing this is gonna be HUGE.
 
For some reason it won't save the controllers. Your update says it fixed it but it every time i load a saved scene all the controllers disappear and it reverts back to a regular asset. ?

3sfsa5E.png


This is the error that sometimes pops up when saving a scene.

EDIT: I just realized i still had version 1 cached aswell. After deleting the version 1 cache file it's fixed. ?
 
Last edited:
It's not abandoned, I've just been touching grass.
Glad to hear dude!
Does this plugin add a sphere collider to each bone/joint? If it does is there a way to stop this so models don't explode when they have a more complex XPS mesh? I could post an xps file here for you to observe the phenomenon if it would help!
 
Glad to hear dude!
Does this plugin add a sphere collider to each bone/joint? If it does is there a way to stop this so models don't explode when they have a more complex XPS mesh? I could post an xps file here for you to observe the phenomenon if it would help!
This shouldn't add any colliders, but the XPS loader might.
 
Glad to hear dude!
Does this plugin add a sphere collider to each bone/joint? If it does is there a way to stop this so models don't explode when they have a more complex XPS mesh? I could post an xps file here for you to observe the phenomenon if it would help!
I've been getting really good results by rigging things in blender and adding colliders to bones in unity. That's why I'm hoping it'll atleast get fixed so scenes will load proper again. ?
 
I've been getting really good results by rigging things in blender and adding colliders to bones in unity. That's why I'm hoping it'll atleast get fixed so scenes will load proper again. ?
I've been meaning to find a good dog to set up. I think I have all of them I could find on deviantart, You come across any good ones?
 
This shouldn't add any colliders, but the XPS loader might.
Sorry to be a pain dude but the saving is still a problem. when I saved a loaded xps model with its rigging from the script to a subscene, it failed to reload it at any point, even after a hard reset and empty scene, the only error it gives is

!> Unable to find rescaleObject.

which is really weird. If i hit "load" again for the subscene the dog pops in, and it gives the same error however it doesnt apply the rigging at all, just the xps model itself.
I figured saving as a subscene would be handy as you have to set up the model with a lot of parenting to get it to work, so loading it with it all done would let you get right to animating a new scene. Is there any possible way to get this to work?
Not working on merge load either.

EDIT: Okay so I found the area thats causing it to go fucky. Parenting it to the subscene totally breaks it, merge load works, so it looks like the best way to pose an xps and keep it posed/ready to go is to create a blank scene, pose it/ setup and save, then merge load it into whatever you're working on and pray it doesnt collide with anything in the scene already.
 
Last edited:
Amazing plugin, excellent work.

I was having issues saving the controllers in a scene, and getting the message log "Could not find root node at path".
in case anyone is having the same issue I fixed this on my end by adding the text
yield return new WaitForSeconds(1.0f);
after line 246. So after "root = cuaRoot.Find(selectedRootPath);" and before "yield return null;"

Now this works reliably for me, though be aware it can take a short while after the scene has loaded to kick in.

However it doesn't solve a secondary issue with timeline, which is a logical companion to this plugin IMO, since timeline tries to load before this has finished and will fall over on any controller node that doesn't yet exist.
 
Amazing plugin, excellent work.

I was having issues saving the controllers in a scene, and getting the message log "Could not find root node at path".
in case anyone is having the same issue I fixed this on my end by adding the text
yield return new WaitForSeconds(1.0f);
after line 246. So after "root = cuaRoot.Find(selectedRootPath);" and before "yield return null;"

Now this works reliably for me, though be aware it can take a short while after the scene has loaded to kick in.

However it doesn't solve a secondary issue with timeline, which is a logical companion to this plugin IMO, since timeline tries to load before this has finished and will fall over on any controller node that doesn't yet exist.

The only way to get them to work with timeline that i found was to save the preset. Once you load the preset everything is basically restored in timeline.
 
Back
Top Bottom