Jump to content

Recommended Posts

edit:

Since some people either don't bother to read my admittedly very verbose instructions or don't understand this gibberish I went with the times and made a demonstration video (without sound though, left clicks have a red circle special effect, right clicks a blue one) to show you how to attach xml data to meshes.

The xmls don't have to be attached exactly as shown here, in fact my mod uses a different layout.

Also you could use NiStringExtraData instead if you only want to attach one xml to a mesh.

Anyway, here's the video:

 

 

 

original post:

Can't wrap your head around how this physics stuff works, let alone what these xmls are for?

I finally bothered to write that stuff up with my own words so here you go:

http://www.loverslab.com/topic/25485-setup-attaching-hdt-to-an-existing-mesh/?p=1750903

 

And here's a little FAQ of sorts:

http://www.loverslab.com/topic/71765-hdt-collision-tips-femalehands-nifs/?p=1790080

 

And another tutorial I wrote, this time for building body and armor meshes with Bodyslide. But be warned, it's very short and without pictures:

http://www.loverslab.com/topic/71410-issue-butt-deformation-when-equipping-hdt-based-items-on-waist-or-near-butt/?p=1790967

 

Now first let me share my workflow for trying out the changes without too much hassle ingame:

 

 

So there's an xml you edited or wrote from scratch in Just For Fun and now you want to test it ingame?

But always reloading savegames to update the changes you made to that xml is getting tiresome? No problem, you can trigger xml updates without loading savegames too and it's often a lot faster and makes it easier to compare changes for each edit you do.

The first and easiest thing to do is just using the console command showracemenu (doesn't have any negative impact on Sexlab animations btw) and immediately closing the menu again. That only works for meshes your character has equipped at the moment though, so if you want the strapon xml to reload after changing values your char has to be the one wearing it or it won't get updated.

...

Everything in the next text part assumes that you play a female char btw, but I hope you can deduce what to do for male chars.

 

What if you char is on the receiving end and you want to see the strapon xml changes? That xml update is even easier to trigger, just press the swap actor positions key during the Sexlab animation and the game loads the nif plus the attached havok xml.

 

The hdtm.xml for schlongs is a bit more tricky to update while ingame though (this assumed you play a female char ... for male chars it already updates with the showracemenu command - the hdtPhysicsExtensionsDefaultBBP.xml won't get updated in that case though). You can equip and unequip the armor he's carrying in his inventory using console commands (select NPC for ingame console -> "inv" -> "equipitem ..." -> "unequipitem ..."). Another option is to link the havok object not to the hdtPhysicsExtensionsDefaultBBP.xml, but to the strapon.xml. Only equip and after updating the xml reequip it when a strapon is dangling from your char of course.

 

In any case you should really really use a borderless window mod for doing this stuff. I can recommend this one here, works as intended.

Vanilla Skyrim isn't stable when minimized so you would have to restart the whole game after every change you did in your xmls.

And the border in the windowed mode looks like crap anyway.

 

 

Some things to keep in mind when changing xmls:

 

 

 

1. Always know which nif(s) the xml in question is attached to so you know if the game updates the havok data or not when reloading a mesh. Opening racemenu reloads every mesh your char consists of so all the xmls linked to in those will reload too.

2. Don't change more than one value at a time, also if there are 2 mirror bones influencing weight painted meshes you can work with (2 breasts, 2 butt cheeks, 2 ... well 4 but here it's just the 2 ... labias), then only change one side so you can compare the results of your changes without having to rely on your "feelz".

3. Don't toy around with all the tools in the box, only change very few key parameters and see if you can produce satisfying results that way. Physics often is about modeling reality with as few parameters/variables as possible that still give you sensible results you can test in the lab. I'm not saying that this havok engine is even trying to simulate reality but by playing around with all the dampened harmonic oscillation and constraint settings in it you can still get very far.

4. Don't be reluctant to check no collision boxes during testing. It's very easy to mistake the jiggling from one collision for another one you are in the middle of finetuning. It would be a good idea to not be lazy and just put every bone under category 0, the no collision boxes are a handy tool to make sure that only the bones you want to "collide" with each other. 

4. Always make backups of your xmls. Lots of backups. Sometimes what you thought made sense an hour or 2 ago suddenly turns out to be bollocks. For example I first tried to influence the bouncing/collisions over angular movement but it turned out that the movement patterns were far too chaotic and hard to control that way. I'm still not sure about the values for the basis vectors though (looking them up in the skeleton led to that erratic, chaotic movement I couldn't get rid of. But who knows, maybe I just screwed up.)

So linear constraints suddenly started to look far less boring as an alternative. 

5. Open 2 instances of Just For Fun if needed. You can compare different xmls easier that way.

6. Install a mod that lets you switch between animations by choosing from a list so you can directly play an animation that uses the collision that you want to check. Defeat has that feature for example. Sexlab Tools has an even better menu where you can filter the list for specific tags.

7. Wanna know which xmls are refreshed/reloaded by your game at any given point? Nothing easier than that. Open the hdtPhysicsExtensions.log file under SKSE\Plugins (if there is none maybe add EnableDiagnostics=1 under [General] in the skse.ini in the directory above?) and see for yourself.  ;)

 

 

Possible conflicts/problems when using this xml set and what you can do about it:

 

 

1. You're using the HDT version of KS Hairdos. Sorry, but that won't work. The xmls in that mod edit the same bones as mine. Either the hair physics will be screwed up or the collisions in my mod. Making that stuff compatible is a hell of a lot of work and I don't intend to do it since the hair still behaves very erratic especially when turning around your char fast. 

 

2. You didn't check which xmls were attached to which nifs. So maybe the wrong xmls get loaded ingame. Go check it.

Load the nifs your game uses in nifscope and in the Block List look for an entry named NiStringExtraData. Check the path there (should be SKSE\Plugins\***.xml with the *** standing for the filename of the xml you want to have attached; for Strapons it's usually the strapon directory under meshes though) and if the xml file isn't where it should be move it there or change the entry in the mesh.

 

3. Your game loads the same xml 2 times, from different sources, with the second one being an xml not by me, overwriting mine. Check if all the nifs your char consists of point to the same files (see 2.).

And please let my mod overwrite everything else. That's especially true for XPMSE which you usually should load last.

I edited a few skeletons from that mod and if you let XPMSE overwrite my altered skeletons then the corresponding creature animations won't work as intended.

 

4. There is data in the remaining xmls that influences the same stuff my xmls do, with these changes overwriting mine. Check the xmls that I didn't provide (mainly hdt.xml) and that your char loads (want to know which ones are loaded? see point 7 under "things to keep in mind") and delete the entries conflicting with mine. The same bone shouldn't be mentioned 2 times under rigid bodies in the whole of your xml setup!

One example especially in versions 2 or newer would be hdtfingers.xml. My HDT Physics set doesn't include that file anymore. If you got it from some other mod and have it attached to one of the body meshes weird shit will happen. Well at least collisions won't be as intended.

 

5. The breasts won't stop jiggling.

Decrease the Linear Limits -> Linear Motor Spring Constant values or increase the Linear Damping values (using JFF to edit the hdtPhysicsExtensionsDefaultBBP.xml).

 

6. There are weird deformations (crushed butt etc) during sexlab animations.

This might be caused by the hdt.xml. I don't use or have any need for that file so if the female or male bodies have it attached as reference then delete that entry (NiStringExtraData pointing to the hdt.xml).

 

 

edit: updated this post a bit, some stuff was plainly wrong and other stuff unnecessary.

Link to comment

If you used the JFF (Just for Fun) tool to create/edit the xml there is a section at the bottom on the bones that says what bones will collide with what part.

I use an old version from Carlos32 for butt, belly, and breast jiggle (I think I had to change the bone name for the belly in it to make it work with xpmse 2.0 and greater).

post-321913-0-81614300-1446190067_thumb.jpg

 

Skyrim Havok Just for Fun tool http://www.loverslab.com/topic/25491-hdthavokmodifier-just-for-fun-jff-v4/

Link to comment

If you used the JFF (Just for Fun) tool to create/edit the xml there is a section at the bottom on the bones that says what bones will collide with what part.

I use an old version from Carlos32 for butt, belly, and breast jiggle (I think I had to change the bone name for the belly in it to make it work with xpmse 2.0 and greater).

attachicon.gifJFF Collision Settings.jpg

 

Skyrim Havok Just for Fun tool http://www.loverslab.com/topic/25491-hdthavokmodifier-just-for-fun-jff-v4/

Yeah, I used Just for Fun too. And the "no collision" boxes are all set up if you look at the files. Still no collision on anything else than the hands, vagina and strapon/schlong. I'm in the middle of trying to figure out why that is so, maybe it's a problem with string constant settings way too low (but they need to for the jiggling not to look shit) or something else completely.

The main reason I released this very early version is that I hope for any helpful input/advice about what I might have missed.  ;)

 

 

In my game with this config breast, belly and butt are bouncing continuously.

 

Sorry for my English.

 

That's a problem with all xmls, they don't really fit every setup.

Might be a problem with different body weights/shapes or maybe you have some redundancies in you xml setup (2 xmls influencing the same bone/weight mesh), but it's easy to adjust with Just for Fun. I'll update the second post later today and describe what exactly you can do. I'll also add other xmls while continuing to develop this set.

 

Short version so you can try it immediately:

Load my hdtPhysicsExtensionsDefaultBBP.xml in JFF, click on the easy to overlook constraints tab at the bottom, and for every one of the constraints under "Linear Limits" change the Spring Constant value for Linear Motor Z (or better look at your char with free camera to see in which direction the neverending bouncing happens, X is sideways, Y is forward, Z is upward). Cut it in half for the first try. Don't change anything else and save the xml, then let the game reload it (showracemenu).

If that didn't have the desired effect, do the opposite (increase the spring constraints settings).

I'm not exactly sure what your continuous bouncing looks like. ;)

Link to comment

gave these a try and when equip the havoc object on a npc the breasts move up and stop bounceing. also im useing Trepleen-Daie HDT CBBE body + Vagina2.4 and the pussy libs just spread out atg start and stay there.

 

The breasts moving up and stopping might be a problem with your body not fitting my setup. This was developed using the UUNP Special body. I finetuned the values for the different bones under RigidBodies using that body. See point 6 under Possible problems in post 2.

 

For the always welcoming vagina problem again the same solution might work.

Another possible solution:

To make the vag close again increase the Linear Motor X -> Spring Constant value under Constraints -> Linear Limits in my hdtvagina.xml. The string might be too weak to close it (maybe has sth to do with friction too, there has to be some rest of plausible physics in these files, lol)

Double it, check, maybe double it again. It's better for Sexlab animations if it doesn't close too fast after being opened though, since that tells you that it won't resist / react faster to penetration and behave like it should there.

Link to comment

The fingers xml never had that before or seen one where should i be attaching it? Currently i have hdtm attached to male hands but if you recommend me swap that to hands then move hdtm to the schlong i will. So far im liking the movement mostly im altering the belly myself atm.

I attached it to ... let me check ... for the men it's linked to the hand nifs and for the females ... the feet nifs, lol.  :D

Works like a charm for both that way though (except breast collision, but I'll figure that out too).

Be aware that I have put hand bone entries in my hdtfingers.xml, those entries conflicts with the hand entries most mods add to the hdtPhysicsExtensionsDefaultBBP.xml. Maybe I'll change that for the next version though, might be the reason why hand breast collision doesn't work...

I'm not sure if there's even a need for the hdtm.xml being referenced to in the malehand nifs tbh. The thing is that this xml is only influencing the male genitals anyway and is already linked to by the schlong nifs. Maybe try deleting that entry in the malehands nifs and report back if that changed anything? Would be very helpful information. :)

... Wait a sec! I just opened the hdtm.xml of Trepleen-Daie HDT and it's full to the brim with all sorts of bone entries (most is just pointless list stuff though, placeholders I guess)... including the hands. Conflicts with my hdtfingers xml big time, don't use both together! Or any other hdtm.xml from other sources. Instead copy the strapon.xml I provided to the SKSE\Plugins directory and rename it to hdtm.xml. ... I'll upload another version, give me a minute.

 

The hdtfingers.xml should be attached to one of your male nifs though, or else there won't be any hand or finger collision during sex scenes involving fisting/fingering done by men. It doesn't matter which one of the nifs you add that reference to, but better be sure that the relevant body part gets naked during sex scenes (set it up in the Sexlab MCM) ... and don't bother adding anything to the head, that doesn't work more often than not, especially for NPCs.

Link to comment

New version is up, now with my own custom hdtm.xml. The content is not exactly the same as the strapon.xml though, I gave the strapon one a Z axis offset for the collision boxes to take into account the offset between the bones and the mesh. Also tweaked the constraints settings.

Link to comment

Bazinga you have done a very great job, I tested your xml yesterday and work very well. Your belly collision is awesome, I would be glad if I could use your files in my mod.

Wait a minute!

You got belly collision?!  :exclamation:

 

I don't have any, lol. Must have missed something very very basic there, wtf...

 

And of course you can include them in your mod, I'm glad you like them.  :)

Be aware that this is just an alpha for now though so better wait a bit... But if it already works then go ahead.

Link to comment

 

Bazinga you have done a very great job, I tested your xml yesterday and work very well. Your belly collision is awesome, I would be glad if I could use your files in my mod.

Wait a minute!

You got belly collision?!  :exclamation:

 

I don't have any, lol. Must have missed something very very basic there, wtf...

 

And of course you can include them in your mod, I'm glad you like them.  :)

 

 

Yes, I replaced only 3 files you provide hdtFingers (now opens vagina more), hdtVagina and hdtPhysicsExtensionDefaultBBP. I didn't replace hdtm with strapon, I left the one I had to play fast :lol: and the result is amazing.

 

I'm going to make some gifs to post them here.

 

Link to comment

Can't test in-game because my GPU died a few days ago, but had a look through the xmls in JFF to compare with my xmls.

 

What's the difference between 'ConvexTranslateShape' compared to 'CapsuleShape'?.

Basically the shape of the collision box. Look inside the ConvexTranslateShape entry, there's a "child shape" there. The child shape influences the basic shape of your collision box and the translation lets you place it with an offset from the bone in question.

The thing is that there's also an entry named ConvexTransformShape that basically lets you do the same thing... The Inertia tensor values are lower for that too which means that I might have to switch to that maybe, will see. Maybe only the transformshape one moves the bone for collision purposes so that might make more sense. Will test some more. ;)

 

For the breasts the capsule shape didn't make sense to me, because well, it's a balloon.    :P

Capsules have the other problem that you have to take into consideration in which direction you want the capsule to point. Unnecessary headache when the shape is already round imo.

Then again I still have no breast collision so take everything I write about this stuff with a grain of salt. ^^

On the other hand I did exactly the same thing for the pussy bones in the hdtvagina.xml and there it works like a charm and lets me control the collision box coordinates very accurately...

Link to comment

Stevierage

It just dawned upon me that the vagina I'm playing around with is the HDT one made by you, right?

Just wanted to tell you how grateful I am for that!  :shy:

And are you in any way involved in making the body that has it attached by default and that I use atm, UUNP Special?

Or was that BringtheNoise ?

A big thank you to him too in any case, that body is part of his UUNP package after all and without it I wouldn't have found it.

Link to comment

Stevierage

It just dawned upon me that the vagina I'm playing around with is the HDT one made by you, right?

Just wanted to tell you how grateful I am for that!  :shy:

And are you in any way involved in making the body that has it attached by default and that I use atm, UUNP Special?

Or was that BringtheNoise ?

A big thank you to him too in any case, that body is part of his UUNP package after all and without it I wouldn't have found it.

 

Yes and thx.

 

Some what involved, when i first released the 7B hdt vagina, BTN took the mesh and incorporated it into UUNP, but there was a small problem with the weights being transferred through mesh rigger.

 

I only really provided the 'template' needed to get the correct weight paints to go with the xmls (the vagina.xml and hdtm.xml that comes with BS2 are the same ones that comes from the 'My Files 3' xmls from my mod minus the finger.xml).

BTN and Cell, would be the main people behind UUNP Special.

Link to comment

great work thanky  ;) can you little reduced butt collision ,bcs i have deformation butt on sex animations 

Only on Sexlab animations? I'm pretty sure that this is caused by the interplay between my xmls and the hdt.xml.

In the hand, feet, head and body meshes under meshes\actors\character\character assets check the xml entries (NiStringExtraData), both for males and females. If there's a hdt.xml referenced anywhere in those that might be the cause. It sets up collision boxes I don't need and want. Also the group ID settings and "No collide with" settings in that file don't make any kind of sense...

You might want to delete such entries pointing to the hdt.xml.

Link to comment

 

great work thanky  ;) can you little reduced butt collision ,bcs i have deformation butt on sex animations 

Only on Sexlab animations? I'm pretty sure that this is caused by the interplay between my xmls and the hdt.xml.

In the hand, feet, head and body meshes under meshes\actors\character\character assets check the xml entries (NiStringExtraData), both for males and females. If there's a hdt.xml referenced anywhere in those that might be the cause. It sets up collision boxes I don't need and want. Also the group ID settings and "No collide with" settings in that file don't make any kind of sense...

You might want to delete such entries pointing to the hdt.xml.

 

hmmm yes on sexlab animations, i dont trying on 0SEX animations yet,but i think it will be the same, but we return to things i dont using hdt.xml file on meshes, only i use hdtPhysicsExtensionDefaultBBP.xml and this file is entered to attach (nistringextradata) to meshes.

btw.                             

I do not understand one thing do I have must hdt.xml too? and must be entered to attach(nistringextradata) for meshes, for me it is head.nif and hands.nif, if yes then tell me what must contain this hdt.xml file that liaising with hdtPhysicsExtensionDefaultBBP.xml?

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • 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