Jump to content

Recommended Posts

3 hours ago, Tooneyman23 said:

I was looking over the female and male bodies with the collisions setup with this. Very, very intriguing.  I'm wonder if I can use the leg collisions from this for armor?

id like to know if you are able to get it up and running because in my case it wont work for me, the 2.1 pack dose work somewhat.

Link to comment

@Tooneyman23

 

I have succeeded in getting the male armor working, with a fake male body. The steps are quite egregious so beware, but the result is both very proper and works very well.

 

First, here's a preview of the final result: https://gfycat.com/PepperySaltyAcouchi

 

The big problem to overcome with the male body is that the skeleton that comes with the nif is the original Skyrim skeleton, not the XPMSSE skeleton, and the difference where it matters is that the XPMSE skeleton has schlong bones while the original one didn't.

 

As far as fake bodies to paste in, I had two: vanilla body, and the SOS body.

 

With the vanilla body, I can paste it into the nif fine, however, HDT-SMP complains about "Shape MaleUnderwearBody:0  has unsupport vertex format 6300065000409". I tried to nif optimize it and it didn't work. I tried to google for the problem and it seems really elusive (only mentioned once here on loverslab earlier in this thread, and by some guy who didn't know much and just speculating). So I gave up on the vanilla fake body.

 

With the SOS body, the mesh makes reference to the schlong bones and thus errors out when the armor skeleton doesn't have them. So, to get around the issue, I needed to replace the skeleton in the armor nif with the XPMSSE skeleton, then there would be schlong bones in the skeleton and the SOS body can be pasted in.

 

However, replacing the vanilla skeleton with the XPMSSE skeleton is going to be a very meticulous task, so pay attention to detail here. Specifically, what makes it complicated is that new nodes in the nif must be added in dependency order. This means skeleton first, meshes after. If you delete the skeleton current meshes refer to, the whole thing breaks. Since we're swapping out the base skeleton which is a very low-level thing, this means we'll be more or less remaking the nif from zero (but don't worry, everything is done via copy pasting... just need to be done in a very meticulous order).

 

As you go through the following steps, you should be viewing the block list in tree mode. Also, I'm doing everything with (again) Czano's nifs, so if you want to follow exact steps, use that one.

 

Steps

 

So first, you need to start working on a new nif. So copy cuirass.nif into cuirassNew.nif.

 

Now, in cuirassNew.nif, delete everything except for the "Scene Root" node at the very top, and your NiStringExtraData node for linking to the HDT-SMP xml file. You now have a blank nif to work with. Your meshes are gone, your skeletons are gone, everything is gone.

 

At this point, open up your meshes/actors/character/character assets/skeleton.nif from the XPMSSE mod. Expand the top-level node and find the NiNode that says "NPC". This is the node you need to copy over. Right click -> Block -> Copy Branch, then go to your cuirassNew.nif and Right Click "Scene Root" -> Block -> Paste Branch. The XPMSSE skeleton should now have been brought into your cuirassNew.nif.

 

Now, open up the original cuirass.nif, and copy over the following in the same way (basically, everything except for the HDT skirt):

  • CharacterBumper
  • SkirtFBone01
  • SkirtFBone02
  • SkirtFBone03
  • body cloth
  • shirt
  • neck cloth
  • belt and legs
  • forearms
  • cuirass
  • VirtualGround (if you had this already)

Note that I did not include the HDT skirt in that list. The VirtualGround of course should be added afterwards (you've already successfully done this) if it's not copied over here.

 

The reason I did not include the HDT skirt is that the skirt needs some additional bones to exist under the "NPC" bones before it can be properly copied over. Here's what to do:

  • In your cuirassNew.nif, the "NPC" bones are the ones copied over from XPMSSE. Expand the nodes like this: NPC -> NPC Root [Root] -> NPC COM [COM] -> CME Body [Body] -> CME LBody [LBody] -> NPC Pelvis [Pelv] -> CME Pelvis [Pelv]. Under here, you should see child nodes like "Skirt", "Tails", etc...
  • In your original cuirass.nif, the "NPC" bones are the vanilla skeleton that came with the nif. Expand the nodes like this: NPC -> NPC Root [Root] -> NPC COM [COM] -> NPC Pelvis [Pelv]. Under here, you should see child nodes like "SkirtBBone01", "SkirtRBone01", "NPC R Thigh", etc... You should also see the following nodes:
    • HDT_FS 1
    • HDT_BS01 1
    • HDT_BS02 1
    • HDT_BS03 1
    • HDT_BS04 1
    • HDT_BS05 1
    • HDT_BS06 1
    • HDT_FS2
  • For the above HDT_* bones, copy them over from cuirass.nif to cuirassNew.nif. Make sure to copy them as child nodes directly under the "CME Pelvis [Pelv]" node. Make sure you "Copy Branch" and "Paste Branch" instead of just copy and paste.
  • After successfully doing these, the skirtlet bones will have been successfully transferred over.

Now that you have the skirt bones transferred over, feel free to copy over the:

  • HDT skirt

... that we mentioned earlier.

 

You should now have the exact same nif as the old cuirass.nif, except with the skeleton swapped to XPMSSE. Now, you should be able to successfully copy over the SOS male body as a fake body.

 

So open up meshes/actors/character/character assets/malebody_0.nif from the Schlongs of Skyrim SE mod. Expand the top level node, and find the BsTriShape named "MaleBody". Copy this over to your cuirassNew.nif, and it should successfully copy.

 

There's one more step. The male body you copied came with some texture information that you don't want in an invisible fake body. So in the cuirassNew.nif, expand the "MaleBody" node, and delete the "BSLightingShaderProperty" node underneath (right click -> Block -> Remove Branch).

 

Now save your nif. The nif should be ready (here I got some messages about nifscope "fixing up some stuff"... not sure what that's about, but didn't seem to impact results). Move the old cuirass.nif out of the way, and rename your cuirassNew.nif back to cuirass.nif.

 

As for the xml file, it looks like the female xml file I last posted works perfectly fine for the male armor as well - as long as you change "BaseShapeB" to "MaleBody" since the name of the fake body mesh is different. All other xml setups nicely carry over, which I believe is the result of the consistency between the male and female nif structures for the armor, and a result of me cleaning up my xml earlier so only the necessary settings are declared.

 

-----

 

Anyway, the only remaining issue I can't seem to figure out is the shaky skirt collision with the virtual ground. If you ever have a solution to it (or any setup where you don't see it), please let me know.

Link to comment

One more observation. I noticed that with my setup, one of the skirtlets keeps on sticking onto the leg, while another skirtlet seems to be pushed back constantly. Dialing down the "MaleBody"'s <margin> and <penetration> collision parameters seems to fix it.

Link to comment

AHAHAHaAAHHHAAA!.. I figured out how to get male collisions with the collisions setups from the chinese body. Holy Moly this is awesome. I'm so happy I did it too. This is what the mesh looks like. 

 

image.thumb.png.5cf219d6fed6d12257018245fb1c4b13.png

 

Alright here is what I did the for xml file. This works like a charm. HAHA You can have vertex in your shape set, but they have to come after all the triangles. Or you can do triangles shapes too. It doesn't matter. Here is the setup. I no longer need boots to be attached to the body. I've completely figured out how to do this. Now that I've gotten this to work. I'm almost guaranteed this'll work with cloaks too. Muhahahhaaaa!... Screw the invisible body when you can just use the setup collisions for whatever armor you want and set it up in your xml file. Here is what it looks like. It has to come after the skirt setup and not at the front top like the virtual ground. They are consider for some reason a active bone. If you put it near the virtual ground it makes the skirt static, but if you put it after the skirt. It creates the same effect with the boots. A few values might need to be adjusted, but it works really well. 

 image.thumb.png.cc32128c3b31481143fc05bdad3d594b.png

 

At least that's what I've discovered. My guess is this will work very well with Cloaks and other clothing as well. Instead of needing an invisible body you can use the collision setups like thighs, arms and breasts, back and attach them to the armors and back to get the desired effect, but it must be declared after the main shape with all the bones has been setup.

 

If the mesh is correct. You can copy the invisible collisions from one nifskope shape to another. Save the shape and if no errors pop up. You can import the nif into bodyslide and mold the collisions setup to the desired armor. I exported it back into nifskope and changed the name to CollisionsLegs from CollisionsThighs. Wrote the xml file and whallah! Looks nice and works well. 

 

I'll be releasing the new Resplendent armor once I contact sarcasticshark about the new mesh he's working on for the armor. He's adding in the leg setup for the rest of the armor so it doesn't look like invisible legs with the main armor on the body. 

 

Good stuff. Hopefully, this isn't too confusing. 

 

Update: It can be above or below the Low_Skirt:1, but it's still has to be below the bones. 

Link to comment

@dduserab That is way too much work.. haha. I like my method. It works like a charm. I'll be uploading sometime later this week after I make a video on how to do all this. You were off a bit on your explanation for your XML. The bones we had earlier did need to be declared otherwise the body sinks through the ground. However, I've fixed the xml file and it looks good. The only thing you need to add to the armors are collisions. Again I'll be releasing the mod sometime later this week once I get the fomod setup. 

 

Here is the XML file if anyone wants to look it over. I owe a lot to dduserab for all the help with this and @wolfbread and everyone else. @Yoxgg04 Thank you so much for posting that demo full body smp, because of that mod I'm able to finish this one. haha 

ResplendentSkirt.xml

 

With this xml you no longer need the boots to be activated with HDT. You only need one XML file. 

 

Link to comment
1 hour ago, Tooneyman23 said:

You were off a bit on your explanation for your XML. The bones we had earlier did need to be declared otherwise the body sinks through the ground.

 

Keep in mind the xml I posted was designed for the Czano nif and my particular setup with the fake body, and you're trying to make them work with a hacked version of the original nif, so all bets are off the table at that point.

 

See, when you declare a mesh for collision, all bones attached to the mesh are also declared at the same time, automatically, implicitly, based on the bone defaults at the time, without you writing out the <bone> tags. This is how HDT-SMP works. Originally in my setup I had a fake body. This means when I declared the fake body for collision at the very top, ALL BONES associated with the fake body was declared, right at the very top. This is the equivalent of having a <bone> tag for every bone the fake body is associated with. You replaced the body with some legs only, so of course now you're missing a bunch of body bone declarations at the top which results in the body falling through the ground. They fall through the ground because now they're being declared way later when you defined the collision for Low_Skirt:1 (which is attached to bones like the spine), and at that point, the <bone-defaults> has been changed to a dynamic setting with mass=2 which physics-enables it and lets it fall through the ground. And it totally makes sense that to rectify it, one way is to explicitly declare those bones your legs mesh didn't cover while my body mesh did, at a spot before your <bone-default> change, which is what you've done.

 

I still think the fake body is the superior method. It will work when you need collisions with places other than legs (or arms). It will also implicitly define all the right bones (instead of you having to figure out what bones to declare for the rest of the body). Though I will admit that the steps can appear scary.

 

Anyway, best of luck getting this to release!

Link to comment
8 minutes ago, dduserab said:

 

Keep in mind the xml I posted was designed for the Czano nif and my particular setup with the fake body, and you're trying to make them work with a hacked version of the original nif, so all bets are off the table at that point.

 

See, when you declare a mesh for collision, all bones attached to the mesh are also declared at the same time, automatically, implicitly, based on the bone defaults at the time, without you writing out the <bone> tags. This is how HDT-SMP works. Originally in my setup I had a fake body. This means when I declared the fake body for collision at the very top, ALL BONES associated with the fake body was declared, right at the very top. This is the equivalent of having a <bone> tag for every bone the fake body is associated with. You replaced the body with some legs only, so of course now you're missing a bunch of body bone declarations which results in the body falling through the ground. And it totally makes sense that to rectify it one way is to explicitly declare some of the rest of the bones your legs mesh didn't cover while my body mesh did.

 

I still think the fake body is the superior method. It will work when you need collisions with places other than legs (or arms). It will also implicitly define all the right bones (instead of you having to hand-pick a set of bones for the rest of the body). Though I will admit that the steps can appear scary.

 

Anyway, best of luck getting this to release!

I see what your saying. I think it's going to come down to the mod itself and the clothing and whatever method people decided they want to use. 

 

 

 

Now I've got a question for everyone.. Has anyone run into the invisible NPC issue with HDT-SMP on Skyrim SE yet? I've seen to have run into the bug and I have no idea how to fix it. Is there a way to fix it like the old ENBoost on Skyrim LE?

Link to comment
13 hours ago, Tooneyman23 said:

I see what your saying. I think it's going to come down to the mod itself and the clothing and whatever method people decided they want to use. 

 

 

 

Now I've got a question for everyone.. Has anyone run into the invisible NPC issue with HDT-SMP on Skyrim SE yet? I've seen to have run into the bug and I have no idea how to fix it. Is there a way to fix it like the old ENBoost on Skyrim LE?

Do you have Skyrim on an HDD or an SSD? Also, what kind of RAM and how much VRAM do you have?

 

I've had this issue only come up on my player character when I switch bodies/races too quickly in Racemenu when using my laptop build of Skyrim instead of my desktop. As my laptop differs from my desktop, I have an HDD instead of SSD, DDR3 instead of DDR4, and 2Gb VRAM rather than 8Gb VRAM...respectively. I can see how it might happen to NPC's when they get loaded in and the memory allocation is too slow, cause in the case of my player character it would break the character rendering until I restarted the game where-as on my desktop I've never had this issue appear. In either case I haven't had an issue with NPC's yet, probably because I'm being careful with pushing how much memory they use per character.

Link to comment
1 hour ago, PhoenixTheSage said:

Do you have Skyrim on an HDD or an SSD? Also, what kind of RAM and how much VRAM do you have?

 

I've had this issue only come up on my player character when I switch bodies/races too quickly in Racemenu when using my laptop build of Skyrim instead of my desktop. As my laptop differs from my desktop, I have an HDD instead of SSD, DDR3 instead of DDR4, and 2Gb VRAM rather than 8Gb VRAM...respectively. I can see how it might happen to NPC's when they get loaded in and the memory allocation is too slow, cause in the case of my player character it would break the character rendering until I restarted the game where-as on my desktop I've never had this issue appear. In either case I haven't had an issue with NPC's yet, probably because I'm being careful with pushing how much memory they use per character.

I have an SDD with an HDD for Storage. I have 4gbVram and 8 of ram. Does this help?

Link to comment
2 hours ago, Tooneyman23 said:

I have an SDD with an HDD for Storage. I have 4gbVram and 8 of ram. Does this help?

That 8gb of I'm guessing DDR3?...Is a pretty big bottleneck when it comes to streaming assets. The reason for this is that the more your memory is loaded up, the higher the timings that will be used. And especially with DDR3, this can be extremely slow. DDR4 is better, but still, 8Gb of DDR4 would be pretty bad.

 

I recently (last couple weeks) upgraded my laptops 8Gb DDR3 1600 economic, to standard 16Gb DDR3 1600. FPS improved massively and stutter nearly completely vanished. So, having the game allocate a few gigs of memory into your lower (faster) timings can have a huge effect on performance and most likely bugs like that which are probably a result of memory swapping around.

 

I've been using the HDT-SMP capes (which use the invisible reference bodies) on this laptop and haven't seen it cause an issue on NPC's yet.

 

If it's just DDR3, I'd recommend upgrading it. Especially since 16Gb's of DDR3 should be dirt cheap now.

Link to comment
2 hours ago, PhoenixTheSage said:

That 8gb of I'm guessing DDR3?...Is a pretty big bottleneck when it comes to streaming assets. The reason for this is that the more your memory is loaded up, the higher the timings that will be used. And especially with DDR3, this can be extremely slow. DDR4 is better, but still, 8Gb of DDR4 would be pretty bad.

 

I recently (last couple weeks) upgraded my laptops 8Gb DDR3 1600 economic, to standard 16Gb DDR3 1600. FPS improved massively and stutter nearly completely vanished. So, having the game allocate a few gigs of memory into your lower (faster) timings can have a huge effect on performance and most likely bugs like that which are probably a result of memory swapping around.

 

I've been using the HDT-SMP capes (which use the invisible reference bodies) on this laptop and haven't seen it cause an issue on NPC's yet.

 

If it's just DDR3, I'd recommend upgrading it. Especially since 16Gb's of DDR3 should be dirt cheap now.

Noo... It's got nothing to do with my ram or memory. I'm only using the Resplendent Armor. I took off the armor and switched it with another and the NPC came back. I've completely taken the armor off and am not wearing it and the NPC is going invisible. It's got something to do with the latest update with hdtPhysics.. I downloaded it and now dealing with this bug. Has anyone else been dealing with the same issue?

 

The reason I ask is because I was using HDT Physics with full body for CBBE and UUNP and not having a problem at all until this latest update. Now everyone is going invisible. 

Link to comment
21 minutes ago, Tooneyman23 said:

[describes invisible NPC bug and asks for a show of hands from anyone else having the same issue] :classic_sad:

 

The reason I ask is because I was using HDT Physics with full body for CBBE and UUNP and not having a problem at all until this latest update. Now everyone is going invisible. 

Thank you for affirming my decision to stay with SSE 1.5.23 and SKSE64 2.0.6 just a wee bit longer... just call me a Luddite. :classic_biggrin:

 

I have full body SMP going on and the worst thing I get is 15 FPS in the Winking Skeever- but everybody is visible as I stutter my way upstairs. Outside of the Inn, I'm able to maintain 45-50 fps even as similarly-equipped fauna of the Filia Pulchritudinus genus slither past. Here's my latest proof, made earlier tonight for Apachii.

 

My equipment is a blast from the past- i5 3570K OC to 4.2GHz, 16GB DDR3, System on one SSD and games on another with 3TB worth of old HDDs for storage, and a decrepit old GTX970 with "4GB *wink, wink*" of VRAM. I have about 165 active plugins, 180+ mods, ENB, 4k packs, Dolomite Weather, etc.

 

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