XPS / XNALara Model Loader

Plugins XPS / XNALara Model Loader

imakeboobies

Well-known member
Featured Contributor
Messages
49
Reactions
418
Points
53
Website
github.com
imakeboobies submitted a new resource:

XPS / XNALara Model Loader - Loads most XNALara models into VAM

Allows VAM to import XPS / XNALara models directly into the game.

Usage:
  1. Find an XPS file you want to use (deviantart.com is an excellent resource for this) and extract it somewhere helpful(i use VAM_ROOT/Custom/XPS/ )
  2. Select any atom(doesn't need to be a CUA, i often use empty atoms for this) and attach the plugin.
  3. Press the select xnalara file and find your file. I recommend using the XPS or Mesh files over Ascii ones.
  4. Model should load and you can fine tune...

Read more about this resource...
 
I've never heard of XPS until now. I'm learning VAM and need some background characters.
I have a few questions.

Can I set up some XPS background characters with this and add looping idle animations?

I don't need to download the XPS program?

Are the characters more resource friendly?

A video tutorial would be awesome. M still new to VAM.
This looks interesting .
 
Hi, this is a great plugin, no need to go through unity to port XPS as CUA anymore. Thanks !!
 
I've never heard of XPS until now. I'm learning VAM and need some background characters.
I have a few questions.

Can I set up some XPS background characters with this and add looping idle animations?

I don't need to download the XPS program?

Are the characters more resource friendly?

A video tutorial would be awesome. M still new to VAM.
This looks interesting .

I'll see if i can find time to make a video. But in lieu of that i'll do my best to explain.

XPS is a format used by the program XNALara. XNAlara was made some time in the 2000s to allow people to pose their favorite video game characters(such as lara croft). XPS, unlike a lot of model formats it typically uses game compressed textures and the format is fairly optimized for game engines.

All I've done is provide the ability to load in those same models into VAM and then pose them using the separate IKCUA plugin.

However, these aren't models with full physics/Collison etc like the VAM models, they are exactly as you're looking for background characters in a scene. Because of that fact they can often be more resource friendly than your usual VAM models but that's not always the case. If you go look at the MK11 models on deviant art most are super high res models with a lot of detail, so you load 10 of those into your scene and its going to chug.

As an example, lets say you're building a Victorian scene and want some random folks in the background you could grab some dishonored 2 models (https://www.deviantart.com/rotten-eyed/gallery/71839444/dishonored-2) drop them into your scene, add some IK to them using my other plugin and then pose them in the background and you're golden.

Animation is a little harder, you can animate the IK nodes to get something that feels like movement but its far from perfect. I'm working on allowing either BVH import or some other mechanism that feels a bit more real. HTH.
 
Thanks, BVH would be great. It would be nice even if there were a few built in looping idle animations of sitting and standing. Just subtle movement even if it's just from the waist up.
With a community like this it would be cool if there was a way users could add there own custom idle animations to a library within the plugin or something.
 
Thanks, BVH would be great. It would be nice even if there were a few built in looping idle animations of sitting and standing. Just subtle movement even if it's just from the waist up.
With a community like this it would be cool if there was a way users could add there own custom idle animations to a library within the plugin or something.

Managed to get BVH import working for both CUA and XPS models.. just need to figure out how to get both into a default T-pose automatically before applying IK and I can get it out to folks.

 
First, thank you for this amazing plugin. Really expands the potential for immersive, character-dense scenes.

I do have one suggestion or question depending on whether I'm understanding how this and the IKCUA plugin are meant to work together. Say I want to create copies of imported XPS characters I've already configured so that I can quickly pose them in different variations. Is it possible to use a subscene template for loading pre-configured XPS assets (or any IKCUA asset)? So far it seems impossible to store a configured XPS asset in a subscene. Cloning the atom also fails to preserve the effector bindings. Would be nice to have the option to load already configured (i.e., IK solved) assets into a scene to improve iteration speed. Simple animation support would also be a great feature so looking forward to any updates!
 
First, thank you for this amazing plugin. Really expands the potential for immersive, character-dense scenes.

I do have one suggestion or question depending on whether I'm understanding how this and the IKCUA plugin are meant to work together. Say I want to create copies of imported XPS characters I've already configured so that I can quickly pose them in different variations. Is it possible to use a subscene template for loading pre-configured XPS assets (or any IKCUA asset)? So far it seems impossible to store a configured XPS asset in a subscene. Cloning the atom also fails to preserve the effector bindings. Would be nice to have the option to load already configured (i.e., IK solved) assets into a scene to improve iteration speed. Simple animation support would also be a great feature so looking forward to any updates!

So the the whole point was to do exactly what you're describing! clearly I somehow broke the subscene support feature when making a change at some point. Let me go find out what I broke and put in a fix. I've got a few other fixes that need to go in like the xps rig being back to front(anyone notice left leg is on the right ? :)

The one major stopper on animation like shown above is that models need to be in t-pose before adding an animator. Otherwise arms move really weirdly. So I might try and bundle support for manual pose changes into this release as well so you can do things like open a jaw/close an eyelid as well as move arms to the right spot. Will aim to get a release out mid next week.
 
It is a great plugin ,i activated the Autocollider ,but realise it will only work with SkinnedMeshRenderer not with xps objects and understand that the plugin was primarily for xps characters . thought to try xps environments as a test . seen below the environment and heather . keep up the fantastic work (y)
Vam_Xps.png
 
It is a great plugin ,i activated the Autocollider ,but realise it will only work with SkinnedMeshRenderer not with xps objects and understand that the plugin was primarily for xps characters . thought to try xps environments as a test . seen below the environment and heather . keep up the fantastic work (y) View attachment 93020
That looks great! Glad its working out. Yes the auto collider right now is very much designed around the notion of a humanoid skeleton not an environment. Its also just not great tbh. I need to sit down and figure out a good way to make it work as bone lengths isn't good enough to get a consistent result.. its on the list of things I want to try and figure out next week :)
 
thank u for your great work! but not work for me

the error code when open a XPS model

Code:
!> Attempted to get file entry for non-secure path H:/XNALara/data/Ubisoft/FC3_VaasMontenegro_Ubisoft/generic_item.mesh
!>   at MVR.FileManagement.FileManager.GetSystemFileEntry (System.String path, Boolean restrictPath) [0x00000] in <filename unknown>:0
  at MVR.FileManagement.FileManager.GetFileEntry (System.String path, Boolean restrictPath) [0x00000] in <filename unknown>:0
  at MVR.FileManagement.FileManager.ReadAllBytes (System.String path, Boolean restrictPath) [0x00000] in <filename unknown>:0
  at MVR.FileManagementSecure.FileManagerSecure.ReadAllBytes (System.String path) [0x00000] in <filename unknown>:0
  at XPSLoader.XPSLoader.Load (System.String path, Boolean hasTangents, UnityEngine.GameObject rootObj) [0x00000] in <filename unknown>:0
  at XPSLoader.XPSLoader.loadModel (System.String path, Boolean restore) [0x00000] in <filename unknown>:0
 
thank u for your great work! but not work for me

the error code when open a XPS model

Code:
!> Attempted to get file entry for non-secure path H:/XNALara/data/Ubisoft/FC3_VaasMontenegro_Ubisoft/generic_item.mesh
!>   at MVR.FileManagement.FileManager.GetSystemFileEntry (System.String path, Boolean restrictPath) [0x00000] in <filename unknown>:0
  at MVR.FileManagement.FileManager.GetFileEntry (System.String path, Boolean restrictPath) [0x00000] in <filename unknown>:0
  at MVR.FileManagement.FileManager.ReadAllBytes (System.String path, Boolean restrictPath) [0x00000] in <filename unknown>:0
  at MVR.FileManagementSecure.FileManagerSecure.ReadAllBytes (System.String path) [0x00000] in <filename unknown>:0
  at XPSLoader.XPSLoader.Load (System.String path, Boolean hasTangents, UnityEngine.GameObject rootObj) [0x00000] in <filename unknown>:0
  at XPSLoader.XPSLoader.loadModel (System.String path, Boolean restore) [0x00000] in <filename unknown>:0

Make sure the file is somewhere in your VAM directory structure. It can't just be randomly on your hard drive. The security in place prevents reading it if it is.
 
imakeboobies updated XPS / XNALara Model Loader with a new update entry:

Added the auto-collider feature

Now when loading models you have the options to add a collider by default. Three new settings in the UI:

1) Auto add collider toggle - this does exactly what it says on the tin
2) Use convex collider - So broadly if you want to put something inside the model(lets the say the model is a room) turn this off, but it is more expensive in terms of compute. By default you want this turned on so you can get cheap colliders on your humanoid/poseable models.
3) Re/create collider button - removes...

Read the rest of this update entry...
 
Thanks for such a great step forward for VAM. My main issue is saving a scene, or especially a subscene. I can set everything up perfectly thanks to your great video tutorial. But every time I save, and come back to it, or spawn a subscene, the character is twisted and warped. Any advice?
 
Thanks for such a great step forward for VAM. My main issue is saving a scene, or especially a subscene. I can set everything up perfectly thanks to your great video tutorial. But every time I save, and come back to it, or spawn a subscene, the character is twisted and warped. Any advice?
Hmm that's odd, it should just work automatically. Is it subscene you've upgraded ? There's definitely some backwards compatibility issues. If you can send me the subscene I can try and figure out what's going on.
 
Thanks for the quick reply. Hmm, interesting. Yes, I did save the subscene, then added some assets to it, then resaved/overwrite. I'll try without doing this later to see if it still messes up. If so, then I'll send.

But overall, still very useable to set up fresh, only takes 5 or so minutes as you're plugins are very intuitive once you get the hang of it. Anyway, assume its ok if I dont reply.
 
You were absolutely right. Basically, make sure when you save the subscene, don't overwrite or resave. Maybe useful info for anyone else who made the same mistake as me. Works perfectly now. Great work.
 
This is beyond amazing, a fantastic contribution to the community to be sure! I'm pretty new to VAM and barely heard of Xnalara, is it possible to dynamically animate with the timeline plugin?
 
This is beyond amazing, a fantastic contribution to the community to be sure! I'm pretty new to VAM and barely heard of Xnalara, is it possible to dynamically animate with the timeline plugin?

Glad you're enjoying it. Assuming you've attached IK to the XPS model you can animate by adding a timeline plugin to each node. I'm working on making the whole thing a bit more timeline friendly so you can do it just from one plugin instead of 12. But you can, even in the current version, get pretty good results.
 
This really is amazing, thank you so much for making this. I decided to test a bunch of models, and the majority of them work. I've had a few instances of transparent models though, and sometimes only a single mesh is transparent. Not sure if it's a problem on my end or something to do with the particular models. It did give me a chuckle though.
eyes.png
 
This really is amazing, thank you so much for making this. I decided to test a bunch of models, and the majority of them work. I've had a few instances of transparent models though, and sometimes only a single mesh is transparent. Not sure if it's a problem on my end or something to do with the particular models. It did give me a chuckle though.
View attachment 95960

Transparency was a huge pain to get even partially right sadly. There's a bunch of culling options in XNAlara which I've not gotten around to implementing that I believe fix these kids of issues. Many models are setup correctly so dont need them.

At some point when I get time I'll add them.. or even just the ability to set how transparency is applied per material would be a start. But for now I'm afraid its just a gap in the plugin! sorry.
 
Transparency was a huge pain to get even partially right sadly. There's a bunch of culling options in XNAlara which I've not gotten around to implementing that I believe fix these kids of issues. Many models are setup correctly so dont need them.

At some point when I get time I'll add them.. or even just the ability to set how transparency is applied per material would be a start. But for now I'm afraid its just a gap in the plugin! sorry.
As you say, most seem to be set up correctly so it's not a huge deal. The fact that it works as well as it does is some kind of black magic that you pulled off already :]
 
Glad its working out well. Just a shame it took me so long to find time to actually port it.. I wrote most of this code 5 years ago.

That said I've been pleasantly surprised at how well the environments come in, esp. with my current dev branch of code which has better environment colliders.
 
Back
Top Bottom