Jump to content

A Guide to HDT-SMP Users/Modders


treota

Recommended Posts

There is no particular reason not to fix all of the xml files.

 

Particularly if you have a tool that lets you mass refactor everything in a directory, something like VSCode.

 

The nodes I am referring to are part the the nif file for the hair, looks like when the hair was made the author copied the entire skeleton. I'm not by any means an expert on skyrim modding but removing the unused skeleton nodes on my file didn't appear to break anything, will have to look into it at some later date (probably never :D).

 

HDTHair.xml is fine really other than the prenetration tag.

Link to comment
Share on other sites

  • Replies 234
  • Created
  • Last Reply

Top Posters In This Topic

Some time ago, i tried to use HDT-PE and SMP together, SMP for very specific things, and HDT-PE for everything else, it worked correctly, but also with 60 constant fps, i had permanent micro-stuttering, also CTDs (but rarely). Is there a way to fix it?

Link to comment
Share on other sites

@Noobiv

 

Running two different physics sims is probably going to end up being less efficient than using one but still I would expect that to cause pretty consistent frame drop rather than stuttering.

 

Skyrim in general has issues with micro stuttering regardless of what mods you use, unfortunately this can come from any number of sources.

 

Personally even on a decent rig I have to use things like the speed hack from ENB, tweaks to ini files to play around with shadow rendering, mesh optimization mods etc and so on. While SSE does run much better for me in that regard it still can have issues.

 

The only advice I can really give is to try out some of the optimization options available, if you are confident that the source of the stuttering is from the physics then it's probably related to collision simulation. Only thing to do there is reduce the number of collision simulations.

Link to comment
Share on other sites

@treota

 

Hey Treota, sorry to bother you again but I'm working on a new project with ever so fun new problems. I'm working on a tail and I've managed to rig up the mesh and get an xml set. As such we have both physics and collisions, thank you again for your guide by the way, however its only partial collisions. More accurately collisions work if things are going slowly but if the character makes a sharp turn or just spins in a circle the tail will clip through her legs instead of colliding with them and sliding off. The second problem is also a collisions problem, I think. At first I thought it was a problem with my bone and constraint variables but no matter what I set its mass, dampening, or friction to the tail wont sit still and jitters instead of resting. Most of the time I cant even tell I changed anything through the jitters. I've tried a range of changes from small less than a decimal place changes to large thousand plus changes and other than raising the mass none of them made a noticeable difference in the tails movement, let alone its jitters. I've attached my xml and a link to my nif in case you want to take a gander at them.

 

 

https://www97.zippyshare.com/v/AnkuEiBe/file.html

 

 

EDIT= 7:43 PM 4/9/2018

 

After some more time spent banging my head against this problem I ended up side stepping my first problem by increasing the inertia until the tail almost never swings in front of the character, not an optimal answer but it resolves the problem until someone comes up with a real answer. As for the second problem all I can do is sigh. It turns out I borked the weight painting when I was setting the nif up. :wallbash: I deleted my current nif and recombined my component meshes and the jittering stopped.

 

 

EDIT= 7:52 PM 4/9/2018

 

Here are my working nif and xml if you want to compare and contrast my before and after. I added "-working" to the xml so its easier to tell them apart but you'll have to change the name back when you set it up.

 

https://www29.zippyshare.com/v/HWC4wbIw/file.html

Edited by DarkFireTim
Link to comment
Share on other sites

@DarkFireTim

 

Succubus, I like your style :yes: .

 

There are several problems here:

  1. My guide was missing some key information (updated most of it)
    1. Did not have a reference for translations x,y,z
    2. Did not have a reference for rotations y,p,r
    3. Did not have units for rotations (radians)
    4. Do not have units for translations (working on it)
    5. Description of inertia was pretty vague
    6. Could do with some example reasonable values
  2. The bones for the tail are not situated inside the mesh, as such we get undesirable mesh distortion when allowing the bones to rotate (can probaly use offsets to compensate).
  3. Our bones needed way more inertia to do anything with their constraints, around 100*
  4. We had some triangle on triangle collisions, pretty taxing
  5. Our proxy objects are a little on the complex side, they don't really need as much geometry as they have & have some interesting edges / holes that might cause issues.
  6. We have a bunch of excess definition that didn't need to be there (tidy code mostly, wasn't breaking anything)

:psyduck: Warning subjective opinion incoming.

 

As tails are commonly a balancing mechanism I have kept the range of motion fairly rigid, the tail will bend / sway but will fairly swiftly return to a neutral position.

 

However, all power to you if you would rather have a sleek flexible tail, this probably makes just as much sense being used for allure or displays (distraction, attraction etc). Should be able to achieve something reasonable by tweaking the angular limits & potentially reducing the inertia a little bit.

 

:psyduck: end

 

 

The collision with the leg proxies perplexes me... I see no real reason why they don't behave nicely, or at all for the most part (though with a more rigid tail it doesn't really matter).

 

Could possibly be getting confused with the nocollide on the body, could try letting the tail collide with the body mesh and see if it causes any major issues.

 

We could try the MLCP solver instead or increasing the number of iterations calculated, these can both be found in configs.xml.

Edited by treota
Link to comment
Share on other sites

@treota

 

Thank you very much :D , I'll try out your xml right now.

 

I'd noticed that the bones were off but wasn't sure how damaging that would be and didn't know how to fix it besides re-rigging the whole mesh. Fortunately, or unfortunately I'm not really sure which, I didn't notice the bone placement might be a concern until after I tried my hand at fixing the weight painting. Which was enough for me to throw my hands up in the air and just rebuild the whole mesh from its components again rather than fail at weight painting any longer. If I can offset the bones, I assume in xml, to correct their placement I'll give that a try. Unfortunately I'm going to have to ask how I should go about doing it. So, when you have time please explain how I would go about offsetting my tail bones to match my tail. :laugh:

 

m(_ _)m Thank you again for your help.

Edited by DarkFireTim
Link to comment
Share on other sites

  • 2 weeks later...

@DarkFireTim

 

Apologies, time is not friendly to me these days.

 

I was thinking of using:

  • <centerOfMassTransform>
  • <frameInB>

To offset the center of mass for the bone & where its constraint is connected, though on further thought that would not really solve the problem.

 

The tail only really has issues at fairly extreme rotations, if you stick to mostly translation it's alright.

Link to comment
Share on other sites

  • 2 weeks later...

Dumb question here! Please what does W="1" represent in the Basis below?

<centerOfMassTransform>
<basis x="0" y="0" z="0" w="1"/>

 

I can't see this defined in your excellent explanation. But it must have an impact on the CoMT.

 

Thank you!

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...