Jump to content

Combining info from 3DSMax and JFF


blabba

Recommended Posts

Hello all!

 

In my attempt to find out how to get more accurate collision information, I've decided to take up making a cross between 3DSMax data and JFF tool.

 

Why would I want to pull data from 3DSMax and put it into JFF tool?

Because if you don;t already know (I should make this my title or something) I am a true 3-D inept :(

I'm learning, but the things I want to do and achieve are far beyond my reach and without help from other more experienced modders I'd literally be dead stuck in the water with my ideas. (Thanks groovtama and Vioxsis!)

 

The purpose of this topic is more or less to help out other beginner HDT modders who've only experienced the JFF way of doing things (or are slightly more knowledgeable and can view the xml straight up)

 

As a person with programming background I personally find it easier to make edits with JFF (Better yet, with xml editing) but the one thing I could not for the life of me figure out was the collision data stuff from the JFF boxes (or xml equivalent):

 

 

 

stuff.png

 

 

 

Trying to visualize the coordinates in my head was getting me nowhere (and using nifskope didn't help) and it wasn't until I saw Canderes' videos that I saw the link between Havok Content tools and the xml's....

 

So I put together a quick demo and voila I was able to skim through and create rigid body shapes and for the most part find their co-ordinate data.

I've only tested with a sphere for now, but hopefully I'll be able to find the equivalent of the hkpcapsule and replicate/preview that in 3DSMax.

This should greatly help those with custom bodies to easily alter the rigid body definitions using JFF if they can visually preview the Rigid Body using 3DSMax.

 

If this will help any other beginners out there I can make a short gif to explain how i got to that screen and stuff.

I do plan on doing some hdt tutorials, but right now I've got my hands full with other projects/ideas and RL (also other more experienced members of the community have also expressed interest in making guides and such, so if we're lucky those members will disseminate the info better than a noob such as I)

 

 

 

result2.png

 

 

 

It should also be noted that pijuan made a discovery and posted somewhere else that there is a free suite of tools released by the people who made Havok that can also use .hkx files natively and stuff. So if getting 3DSMax is too troublesome you can try experimenting with that and see if it fits your bill. (I'll provide a link later)

 

And here's a short video/gif of the rigid body in action (not really impressive, but it's amazing for an amateur like me lol)

It should be noted that I imported Yoo's floor collison, as I didn't feel like re-making it (why re-invent the wheel eh?)

 

I also have no idea why I had the female body in this demo, I was just too lazy to delete it xD

 

 

test1.gif

 

 

 

It should be noted that all the constraint data and stuff can just be done in 3DSMax and a fully working xml can easily(?) be exported out of max itself.

But I'm seriously inept at the program and find it easier to just get the 3D co-ordinate data from Max and edit already existing xml's so that collision more easily resembles my body shape.

 

Now if you excuse me,

I have to finish making a conversion reference and test it for BodySlide (nipple) piercing sliders that Vioxsis made!

I also have to go finish making demo's and tests for pseudo muscle HDT interactions that Groovtama made a custom skelly for me!

A modder's work is never done :cool:

 

Link to comment

Do you think it'd be possible to like ... produce different xmls using this method, each one adapted to a different body size ? 
Like for example, making a xml for the Sevenbase, one for UNPB, one for Bodyslide small/medium/large/ridiculously large/cancerous-ly large ?
It could help out those who have a hard time adjusting in the JFF and have glitchy boobies and that kind of stuff, it would take time though eh ... 

Link to comment

Do you think it'd be possible to like ... produce different xmls using this method, each one adapted to a different body size ? 

Like for example, making a xml for the Sevenbase, one for UNPB, one for Bodyslide small/medium/large/ridiculously large/cancerous-ly large ?

It could help out those who have a hard time adjusting in the JFF and have glitchy boobies and that kind of stuff, it would take time though eh ... 

 

Yea, that's what I was trying to go with this.

 

It'll also help add collisionable rigid bodies for new bones/weights and stuff as well.

 

It shouldn't take that long really. All I need to figure out is how to make capsule shapes in 3DSMax, move them to wherever the body object is and then view the xml data and copy the positions and such into the existing xml's

 

Probably really only takes like 2 mins. Now I just gotta find the dam capsule button in 3DSMax >.>

 

Link to comment

 

Yea, that's what I was trying to go with this.

 

It'll also help add collisionable rigid bodies for new bones/weights and stuff as well.

 

It shouldn't take that long really. All I need to figure out is how to make capsule shapes in 3DSMax, move them to wherever the body object is and then view the xml data and copy the positions and such into the existing xml's

 

Probably really only takes like 2 mins. Now I just gotta find the dam capsule button in 3DSMax >.>

 

 

 

That is cool ! Especially with the huge differences in everyone's body shapes ! 

 

Oh i've got an idea, you could like make a special topic and name every HDT you produce with a cup size on it ! Ahahaha, instead of "HDT 1x-2x", it would be something like "HDT Collision D-Cup" ! 

Link to comment

I just want a way to VIEW the collision objects from the .XML's I'm creating in JFF and if that's your goal I'm all for it. only problem is 3ds max is EXPENSIVE, and I'm not shelling out that amount of cash for modding.

 

I have yet to learn a way to import collision data from an .xml. (Although from Canderes' videos he says there's a way to do it)

Although I have an idea of how it can be achieved, it's more of a stretch goal for me right now. I'll look more into it later.

 

Edit: Actually I sorta did pseudo learn how to import collision data for preview, as the bottom gif in my post was completely Yoo's imported floor XML data he posted in your thread xD. I tried doing the same thing for the body, but I didn't get the same result, dunno why lol...

 

Yea 3DSMax is expensive and tough to learn but as I said their are alternatives, I think the havok preview tool comes for Blender as well.

There's also the much more lightweight alternative that pijuan found about (Havok Project Anarchy) that may or may not let you preview the physics data as well.

 

you can also create a shere and scale one direction say increase the 'x' or 'z' scale. That will also create a capsule and will help you adjust the shape to exactly what you want

 

The problem with the sphere turning into a capsule shape was that it wouldn't give me data on the various points needed.

I tried it but it still only gives you a radius in Havok's preview xml file, I think it's a limitation with Havok physics. As most physics engines would want to simplify calculations by turning shapes into primitives.

 

Edit: The new capsule button works like a charm! Now just aligning it to the bodies shapes.... That might take me awhile lol.

Link to comment

I just wanna add one more little thing, when creating rigid bodies, you should be mindful of how many polygons / triangles your collision object has. Less means more accurate collision detection. So, while capsules requires less processing power than boxes (Havok SDK Documentation) by having more polys your collision detection will be less accurate.

Link to comment

I just wanna add one more little thing, when creating rigid bodies, you should be mindful of how many polygons / triangles your collision object has. Less means more accurate collision detection. So, while capsules requires less processing power than boxes (Havok SDK Documentation) by having more polys your collision detection will be less accurate.

 

Not implying you're wrong at all, but how does that make any sense?

Link to comment

 

I just wanna add one more little thing, when creating rigid bodies, you should be mindful of how many polygons / triangles your collision object has. Less means more accurate collision detection. So, while capsules requires less processing power than boxes (Havok SDK Documentation) by having more polys your collision detection will be less accurate.

 

Not implying you're wrong at all, but how does that make any sense?

 

 

I'm guessing its a simple "Quality over Quantity" aspect, having less faces to calculate means more accurate emulation of collision.

 

that and with more faces colliding could make the possibility of errors higher too.

Link to comment

All right so I've made some progress (and found that I am basically somewhat re-inventing the wheel)

Thanks to canderes' video tutorials and his hard work in re-creating the skyrim ragdoll, I can now fix and tweak the normal collision parameters in HDT file while knowing somewhat what my changes will do.

 

If any of you guys were wondering where the collision data for the hkpcapsules and stuff were coming from, it actually comes from the default skyrim ragdoll hkx file. I've unpacked it (using hkxcmd) and attached it for your viewing pleasure (it basically reads almost exactly like the standard hdt.xml stuff so open it up in a text editor.

 

I'll probably go around and tweak and remove the unneccessary collision info from the normal ragdoll (we really don't need torso collision, it'll just complicate things) as well as the default ragdoll does a horrible job at encompassing even the standard CBBE body, let alone the bodyslideable versions.

 

But first I gotta go weight paint some muscles stuff and put that up as a WIP page as well to get feedback on.

 

Here's Canderes' video guides and such (watch the 3rd video) and his useful ragdoll is linked  there as well:

http://www.loverslab.com/topic/19897-hdt-physics-extension-modding/?p=637316

 

Now I just gotta learn enough about 3DSmax to understand the shortcuts and being able to parent spheres and capsules to bones, then I can finally view the dam xml and get the vertex points.

 

Oh yea BTW, the vertex A and Vertex B points are relevant to the skeleton bone's position in case you were wondering.

 

Edit: Forgot to mention that I found out the Havok Preview tools are standalone as well and you do not need 3DSMax or any other program to run/view them. I still need to find out how the hell to import the hdt.xml files :/

skeleton_female-out.zip

Link to comment

 

Oh yea BTW, the vertex A and Vertex B points are relevant to the skeleton bone's position in case you were wondering.

 

 

could you elaborate? my guess was vertex A is the bones "forward" and b is "backwards"

 

for example, on my tail A is the connection to the bone "in-front" (or the next bone in the "chain") and B is the connection behind.(of the bone it was connected to)

Link to comment

 

 

Oh yea BTW, the vertex A and Vertex B points are relevant to the skeleton bone's position in case you were wondering.

 

 

could you elaborate? my guess was vertex A is the bones "forward" and b is "backwards"

 

for example, on my tail A is the connection to the bone "in-front" (or the next bone in the "chain") and B is the connection behind.(of the bone it was connected to)

 

 

yeap, that is correct.

 

Link to comment

 

Ah good so my collision data is FINE and I can leave it alone!

 

I find it hilarious that not even Havok can open the .xml files...

 

Meh, the xml's read fine when made correctly using only the Havok dependencies.

I could load up Yoo's xml fine (my guess is he used 3DSMax and Havok tools to make it in the first place)

It's just the specific hdt breast stuff doesn't load up correctly, actually neither does your tail xml. Anything made with JFF doesn't load up normally, I think it's more of a formatting issue than anything else.

Link to comment

Meh, the xml's read fine when made correctly using only the Havok dependencies.

 

 

I could load up Yoo's xml fine (my guess is he used 3DSMax and Havok tools to make it in the first place)

It's just the specific hdt breast stuff doesn't load up correctly, actually neither does your tail xml. Anything made with JFF doesn't load up normally, I think it's more of a formatting issue than anything else.

 

to be honest I'm still surprised my tail works (functions) at all. I stuck it together with sweat and chewing gum, i didn't and still don't know what I'm doing!

 

My next plan is to attempt to view the collisions in game via console commands, i'm thinking there might be some command to show havoc collision data.

Link to comment

 

 

 

I with Ledo4ek talked about it long ago , the prob is ,data in 3dsmx and in Modifier.exe is different.You make in max capsule for breast coll data and in Mod.exe its 4-6 times bigger.He made to his body mesh only like 80% accuracy in xml.Thats  1 of reasons he deleted hdt.xml from his post.I when made for SOS to ,have some real troubles with constraints.The one that really works now is Hairs. We need to wait for Hydro to make new jff , i sended her some ideas about UI. I think we can help her  altogether  to make it faster ,as we have some different knowledges of softwares in overall :) 

 

About collisions , the only way is i see it is convex hull collision data not capsules.

Link to comment

 

I with Ledo4ek talked about it long ago , the prob is ,data in 3dsmx and in Modifier.exe is different.You make in max capsule for breast coll data and in Mod.exe its 4-6 times bigger.He made to his body mesh only like 80% accuracy in xml.Thats  1 of reasons he deleted hdt.xml from his post.I when made for SOS to ,have some real troubles with constraints.The one that really works now is Hairs. We need to wait for Hydro to make new jff , i sended her some ideas about UI. I think we can help her  altogether  to make it faster ,as we have some different knowledges of softwares in overall :)

 

About collisions , the only way is i see it is convex hull collision data not capsules.

 

 

First of all:

 

I am glad to say that I can finally know whom to credit all this amazing work to! Thanks to the both you :D

 

Now just a few light questions if you don't mind me asking,

1. What is wrong with using a sphere? From my (limited) understanding, wouldn't a sphere be a better emulation of the breasts as it would help with the collision and movement of breasts to correctly mimic? Provided I would probably have to change the shapes for the torso collision....

 

2. I also hear quite often from Canderes, Yoo and whoever else is an expert in this field (yourself and ledo4ek's awesome gif he posted in by belly thread included lol) about these convex shapes, but I am unclear as to how exactly they look or to create them in 3DS Max (I plan on looking up a 3DSMax tutorial on what they are soon) but what exactly is the benefit from using those shapes physics wise?

 

3. I should have renamed this topic from Merging data from 3DSMax with JFF to more Merging XML text editing with 3DSMax as I am fast learning the JFF tool leaves out a lot of constraints from the Havok content tools. I have done almost everything in terms of merging data with a text editor now (including a ball and socket constraint)

Link to comment

I am as you learning this to, but not as devoted as you )) Only for fun and support. 

http://www.digitalrune.com/Support/Blog/tabid/719/EntryId/45/Bounding-Shapes-and-Convex-Hulls.aspx

example 1

 

 

example 2 of convex hull data

this can easily be achieved in jff with painted skirtbones in 20 mins.But collision data is different thing. 

 

some info

http://softimage.wiki.softimage.com/xsidocs/property7042.htm

i think Hydro made jff based on that ))

Link to comment
  • 3 weeks later...

W00T

 

Figured it out, (for the most part anyway :) )

 

Basically, make your capsule shape or whatever in 3DSMax, tie it to the correct bone, Run it through the HCT (Havok Content Tools) slap on the correct filters and make sure you have the view xml filter loaded last.

 

Scroll Down to the physics folder, click it and lookup your rigid body data in xml form. Scroll all the way to the bottom and you should see the center of Mass data. Copy that into the JFF collision shape data to create your customized and more accurate collision shape.

 

 

 

example.png

 

 

 

Haven't tested in-game yet, but the numbers matchup and make sense (to me) and I was accurately replicate the default collision shapes by reverse engineering this and found that they are indeed just the normal bethesda ragdoll collision shapes.

Link to comment
  • 1 month later...

I just want a way to VIEW the collision objects from the .XML's I'm creating in JFF and if that's your goal I'm all for it. only problem is 3ds max is EXPENSIVE, and I'm not shelling out that amount of cash for modding.

 

    Autodesk does allow people to download it for free if you're in college or high school. All I had to do is to give them the website address of a local college and I got a 3 year license. Trying to get an older version is however difficult as when I tried to get 2011/2012 off their site the files were unavailable and only the 2014 was. I'm not sure if they made the old ones available or just had problems with their servers. I managed to find it elsewhere and used the key I got from them.

 

    The current nif plugin only goes up to 2012 although there is someone working on a 2013/2014 version but there's still a few features that need to be added.

Link to comment

 

I just want a way to VIEW the collision objects from the .XML's I'm creating in JFF and if that's your goal I'm all for it. only problem is 3ds max is EXPENSIVE, and I'm not shelling out that amount of cash for modding.

 

    Autodesk does allow people to download it for free if you're in college or high school. All I had to do is to give them the website address of a local college and I got a 3 year license. Trying to get an older version is however difficult as when I tried to get 2011/2012 off their site the files were unavailable and only the 2014 was. I'm not sure if they made the old ones available or just had problems with their servers. I managed to find it elsewhere and used the key I got from them.

 

    The current nif plugin only goes up to 2012 although there is someone working on a 2013/2014 version but there's still a few features that need to be added.

 

 

I only know of the bones not importing as max bones in the 2014 version and that Havok Constraints do not import correctly for skyrim collisions.

 

Is there any other features missing that I am unaware of?

Link to comment

 

 

 

I only know of the bones not importing as max bones in the 2014 version and that Havok Constraints do not import correctly for skyrim collisions.

 

Is there any other features missing that I am unaware of?

 

 

   I'm not sure. Last time I tried it I was getting a weird error that wasn't in english when I tried exporting. I might've just been my .ini file that was screwing it up or my copy of 2014. Sometimes it loads with an error and sometimes it doesn't. I'm using the 64bit version of it posted on 2/16 by Ehamloptiran. 

 

Link to comment

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use