Pfiffy Posted November 9, 2018 Posted November 9, 2018 6 minutes ago, realclone said: Unfortunately, you need to rewrite the code, because the code of PE is completely different from that of SMP Are there any tools to generate a starting point?
Inanna17 Posted November 9, 2018 Posted November 9, 2018 Like Pfiffy I've been trying to learn about writing xml's from LE to SSE. My reason is to convert the xml's from beast hdt from bazinga to be usable in SE. I'm having zero luck so far but continuing to try.
Gromilla Posted November 9, 2018 Posted November 9, 2018 37 minutes ago, Pfiffy said: Are there any tools to generate a starting point? Unfortunately not. Everything will have to be written manually from scratch. 15 minutes ago, Inanna17 said: Like Pfiffy I've been trying to learn about writing xml's from LE to SSE. My reason is to convert the xml's from beast hdt from bazinga to be usable in SE. I'm having zero luck so far but continuing to try. In short, PE physics is completely different than the SMP. Although they are both called HDT In the LE version both types of physics can be used, but separately. In the SSE only the SMP physics works. Physics Setup Files — xml files are the same for both versions of the game. For PE and SMP, these files are completely different and interchangeable. Nif files for SSE need to be optimized with the NIFOptimizer. Some very useful tutors:
Inanna17 Posted November 9, 2018 Posted November 9, 2018 Thank you for a quick and kindly response. In my game I use unp special body, sos full for males. I have hdt-smp fully functional (outfits move properly, collisions from hands/feet/penis). I also have mnc installed as well as beast hdt. The meshes have all been ran through nif optimizer from MNC but no collisions occur. The meshes have the nistringextradata with the xml attatched. My only thought is it has to be the xml's. The ones that work all have the header <?xml version="1.0" encoding="utf-8"?> whereas the ones from beast hdt begin with <?xml version="1.0" encoding="ascii"?>. Two different encodings. So this is where I am having trouble.
Gromilla Posted November 9, 2018 Posted November 9, 2018 2 minutes ago, Inanna17 said: Thank you for a quick and kindly response. In my game I use unp special body, sos full for males. I have hdt-smp fully functional (outfits move properly, collisions from hands/feet/penis). I also have mnc installed as well as beast hdt. The meshes have all been ran through nif optimizer from MNC but no collisions occur. The meshes have the nistringextradata with the xml attatched. My only thought is it has to be the xml's. The ones that work all have the header <?xml version="1.0" encoding="utf-8"?> whereas the ones from beast hdt begin with <?xml version="1.0" encoding="ascii"?>. Two different encodings. So this is where I am having trouble. <?xml version="1.0" encoding="utf-8"?> for SSE
Aldebaran Posted November 9, 2018 Posted November 9, 2018 I got UNP Special working with collision last night. It's flappy af, indicating that its xmls need some tuning, but it's working. Body-own hands collision, body-female npc hands, body-anim object, body-schlong collision all work. Body-male hands, (any) head-body, head-schlong, creature-body/hands/head all don't work which indicates some nif editing needs to happen. Dear heavens, I'm glad no one was watching me test all this. Riverwood is still completely scandalized. ?
Vyxenne Posted November 9, 2018 Posted November 9, 2018 14 hours ago, Pfiffy said: What do I have to do to the nif's? In the cloth-physics (SMP wigs, clothes, etc.) nifs you need to edit the NiStringExtraData Name from HDT Havok Path to HDT Skinned Mesh Physics Object, then edit the value to point to the item's xml file, which is customarily in the same folder as the item mesh. You must also make sure no single partition has more than 80 bones. Ousnius has said he could make Outfit Studio handle that part, and I'm hoping he can make NifOptimizer do it too.. For non-cloth-physics meshes you just have to make sure it has Breast, Butt and Belly (if UUNP) bone weights so it can jiggle. So most "HDT" or "BBP" items from Oldrim will have body physics right out of the box in SSE. 14 hours ago, Pfiffy said: What do I have to do to the xml's? For the most part, xml's written for SMP in Oldrim will work in SSE. However, As RealClone and Gromilla said, you have to hand-write xml's if you are converting an Oldrim HDT-PE item to SMP. The only "starting point" I can think of is to study, and maybe even copy, a working xml for a similar object. For example, a working SMP xml for a short-haired wig might be a great starting point for converting another short-haired wig from HDT-PE to HDT-SMP-SE by simply renaming the bones to match the new wig's bone names. Having said all that, I have not yet managed to convert any of RealClone's HDT-PE wigs included in one of his mods. So while I know "academically" what to do, I do not know exactly how to do it. If I did, we'd be swimming in fooking wigs. 1
Gromilla Posted November 9, 2018 Posted November 9, 2018 I checked the number of bones in the mesh partitions using the example of a wig from LE where there are 252 bones per mesh. So in each partition no more than 18 bones. There are 47 partitions in total. It's all good, but what to do next, I have no idea Spoiler
Grey Cloud Posted November 10, 2018 Posted November 10, 2018 2 hours ago, Vyxenne said: If I did, we'd be swimming in fooking wigs Skyrim Special Edition a.k.a. 'Wigrim'. 1
Vyxenne Posted November 10, 2018 Posted November 10, 2018 1 hour ago, Grey Cloud said: Skyrim Special Edition a.k.a. 'Wigrim'. I laughed waayyyyyy too hard at this.
Pfiffy Posted November 10, 2018 Posted November 10, 2018 16 hours ago, Vyxenne said: In the cloth-physics (SMP wigs, clothes, etc.) nifs you need to edit the NiStringExtraData Name from HDT Havok Path to HDT Skinned Mesh Physics Object, then edit the value to point to the item's xml file, which is customarily in the same folder as the item mesh. You must also make sure no single partition has more than 80 bones. Ousnius has said he could make Outfit Studio handle that part, and I'm hoping he can make NifOptimizer do it too.. For non-cloth-physics meshes you just have to make sure it has Breast, Butt and Belly (if UUNP) bone weights so it can jiggle. So most "HDT" or "BBP" items from Oldrim will have body physics right out of the box in SSE. For the most part, xml's written for SMP in Oldrim will work in SSE. However, As RealClone and Gromilla said, you have to hand-write xml's if you are converting an Oldrim HDT-PE item to SMP. The only "starting point" I can think of is to study, and maybe even copy, a working xml for a similar object. For example, a working SMP xml for a short-haired wig might be a great starting point for converting another short-haired wig from HDT-PE to HDT-SMP-SE by simply renaming the bones to match the new wig's bone names. Having said all that, I have not yet managed to convert any of RealClone's HDT-PE wigs included in one of his mods. So while I know "academically" what to do, I do not know exactly how to do it. If I did, we'd be swimming in fooking wigs. I think I have to give in again at that point. The edits to the nifs made a few things better. But I need new xml's.
Farass Posted November 10, 2018 Posted November 10, 2018 21 hours ago, Aldebaran said: I got UNP Special working with collision last night. It's flappy af, indicating that its xmls need some tuning, but it's working. Body-own hands collision, body-female npc hands, body-anim object, body-schlong collision all work. Body-male hands, (any) head-body, head-schlong, creature-body/hands/head all don't work which indicates some nif editing needs to happen. Dear heavens, I'm glad no one was watching me test all this. Riverwood is still completely scandalized. ? yes. Same problem with everyone. I think Skyrim SE only has physics and collision with the player(male-female, female-female) and hair(wigs) earrings and amulets..basically stuff that can be worn by the player character. Collision with everything else is a no-go it seems. I have been able to get collision from dog-female , werewolf-female and demon - female, but I can't seem to get the logic behind it. Thought it was only a matter of converting to BSDismemberSkinstance, but that did not work for all creatures. But, those I have working are converted from Niskinstance to BSDismemberSkinstance. And the number of partitions must also be correct as does the name of the partition. The SheperdHard.nif from Hentaicreatures I got working. The body consists of 4 partitions named SBP_32_Body and the penis is one partion named SBP_32_Body. This one has collisions with female, but if I try to do the same with a wolf for example, it does not work.. ShepherdHard.nif Dog.xml
Aldebaran Posted November 10, 2018 Posted November 10, 2018 How frustratingly byzantine. I feel better to know that everyone is experiencing the same limitations with collision, and it's not happening because I screwed something up. I only cracked open Skinned Mesh Physics and started messing around with its innards a week ago, so I'm still extremely new to this. I imagine we'll collectively figure this all out eventually. There are certainly enough clever people working on it. ? Also, I've been chatting with Vyx and Gromilla about implied physics references in body meshes. Apparently, you should be able to either declare an explicit path to an xml in femalebody_x.nif or leave that declaration out and let the physics plugin read the contents of the meshes, match it up with what's declared in defaultBBPs.xml, and bind the appropriate xml to those meshes. Senpo said something similar in his tutorial. I can see how that'd be more flexible when you have a package with multiple possible bodies with different xmls for each, but I haven't been able to get it to work like that yet. Whenever I remove the explicit path declaration from the body meshes (all peripheral meshes are still pathed), all physics effects for that body type grind to a halt. I just want to understand what I'm seeing happen with this and figure out how it needs to be configured to work properly. ETA: Is it possible that this is another one of those things that worked fine in Oldrim but doesn't yet work in SSE? @Vyxenne You said you had this working in your setup. For which game? ?
Vyxenne Posted November 10, 2018 Posted November 10, 2018 5 hours ago, Aldebaran said: Vyxenne, you said you had this working in your setup. For which game? For SSE. I haven't played Oldrim since SSE dropped as a free upgrade on Steam. Here is one of the guides that clearly states you need to declare a body xml EITHER in a NiStringExtraData named HDT Skinned Mesh Physics Object OR in DefaultBBPs.xml: https://forums.nexusmods.com/index.php?/topic/3800385-a-guide-to-hdt-smp-usersmodders/ Also I don't believe that there is anything "implied" or ambiguous, wishy-washy (etc.) about explicitly declaring (for example) <map shape="UUNP" file="SKSE\Plugins\hdtSkinnedMeshConfigs\uunp-body.xml"/> That is an explicit, "hard and fast" declaration and is not "implied" in any way. It directs SMP exactly and precisely where to look for instructions for the shape "UUNP." So I'm confused about your discussion of "implied physics references." To me, an "implied physics reference" would be SMP looking for an xml named "UUNP.xml" whenever it encounters a shape named "UUNP" and "Gromilla.xml" if it ever encountered a shape named "Gromilla" as a last-ditch effort in the absence of any explicit direction- which is not the case when it is clearly and unequivocally spelled out in DefaultBBPs.xml. Based on the above and other "either-or" statements from credible guide-writers/bloggers, I have removed the NiStringExtraData from all of my body nifs including the one in Bodyslide\Shapedata and still have full body physics and collisions (AFAIK.)
Yinkle Posted November 11, 2018 Posted November 11, 2018 I think the case for using NiStringExtraData in your nif files is for example when you have an outfit that has, say a CBBE shape and smp clothing shapes. This way it over-rides the default xml file declared in DefaultBBPs.xml for the CBBE body (or UUNP if using that) whilst also providing data for the smp clothing shapes in that specific nif file.
Vyxenne Posted November 11, 2018 Posted November 11, 2018 4 hours ago, Yinkle said: I think the case for using NiStringExtraData in your nif files is for example when you have an outfit that has, say a CBBE shape and smp clothing shapes. This way it over-rides the default xml file declared in DefaultBBPs.xml for the CBBE body (or UUNP if using that) whilst also providing data for the smp clothing shapes in that specific nif file. That makes perfect sense- you're saying that in cases where there are duplicate declarations for the same shape, the NiStringExtraData declaration in the mesh takes precedence over any conflicting (maps the same shape but to a different xml) declaration in DefaultBBPs.xml. Now the only question I have is: how do you declare both a CBBE/UUNP shape AND an outfit SMP shape(s) in a single NiStringExtraData? How many of those can you have, and how do you enter multiples into a single nif?
Aldebaran Posted November 11, 2018 Posted November 11, 2018 By 'implied' I only meant 'not spelled out as an explicit path in NistringExtraData', but I can see where you could swap that around and mean just the same thing. Thanks for the further explanation on Discord. Bloody case sensitivity. My physics was falling down due to mismatched capitalization. ?
Yinkle Posted November 11, 2018 Posted November 11, 2018 4 hours ago, Vyxenne said: how do you declare both a CBBE/UUNP shape AND an outfit SMP shape(s) in a single NiStringExtraData? you only need to declare 1 xml file, it has the data for all the shapes. Here's an example: example.xml
Gromilla Posted November 11, 2018 Posted November 11, 2018 If you really want to, then you can set one xml file for all nif files If you specify several collisions (<per-triangle/vertex-shape name"bla-bla"> ) for each nif you need in one xml file. But the framework will be cursing when it doesn't find the desired mesh. and this is a loss of resources. Why such problems? Set in the base defaultBBPs.xml file all the options you need and do not torment your head and duplicate and rename the xml file by specifying the desired mesh. Let them be 10 or 50 what's the difference?
Yinkle Posted November 11, 2018 Posted November 11, 2018 9 hours ago, Gromilla said: If you really want to, then you can set one xml file for all nif files If you specify several collisions (<per-triangle/vertex-shape name"bla-bla"> ) for each nif you need in one xml file. But the framework will be cursing when it doesn't find the desired mesh. and this is a loss of resources. Why such problems? Set in the base defaultBBPs.xml file all the options you need and do not torment your head and duplicate and rename the xml file by specifying the desired mesh. Let them be 10 or 50 what's the difference? I'm not sure if you are replying to me but if so my point was just about the reasoning behind using NiStringExtraData in a nif file that uses multiple shapes including ones specified by default, thus allowing them to be overriden. The other option is to rename all body shapes in outfit nifs to something unique and specify all of them in the default xml which would be a royal pain in the ass.
Aldebaran Posted November 11, 2018 Posted November 11, 2018 9 hours ago, Yinkle said: you only need to declare 1 xml file, it has the data for all the shapes. Here's an example: 1 Can't you have more than one NiStringExtraData block in a single mesh?
Yinkle Posted November 11, 2018 Posted November 11, 2018 56 minutes ago, Aldebaran said: Can't you have more than one NiStringExtraData block in a single mesh? I'm sure you can for other purposes but there's no point in having more than 1 "HDT Skinned Mesh Physics Object" 1
Vyxenne Posted November 12, 2018 Posted November 12, 2018 19 hours ago, Yinkle said: you only need to declare 1 xml file, it has the data for all the shapes. Here's an example: example.xml Yes, that was my impression too, which is why I asked the question. *bonks Yinkle on the noggin affectionately* ?
Vyxenne Posted November 12, 2018 Posted November 12, 2018 On 11/10/2018 at 9:08 AM, Farass said: I think Skyrim SE only has physics and collision with the player(male-female, I outfitted my Serana in SMP wig, earrings, amulet and outfit and she jiggles right along with me, and so do most female NPCs in the game if they are wearing "BBP" capable outfits.
Farass Posted November 12, 2018 Posted November 12, 2018 2 hours ago, Vyxenne said: I outfitted my Serana in SMP wig, earrings, amulet and outfit and she jiggles right along with me, and so do most female NPCs in the game if they are wearing "BBP" capable outfits. Yes , that 's what I'm saying. Earrings, wigs, clothes and so on is no problem so long as it is regarding to the player or an npc, but so far this is it. No physics or collision with creatures.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now