sinivii Posted April 20 Posted April 20 (edited) EDIT: Solved it. First Person Flags (Sorted) under Armor and Armor Addon in SSEdit must only have one Slot flagged(32), not several flags (32 and 34 in my case). From what I can gather it's SMP seeing duplicates or something. I made an SMP conversion of Gwelda's Redhood Dress a while back to give the skirt physics. It works. Now I have a peculiar problem. I see DOUBLE/GHOST skirts. They overlap eachother ever so slightly and follow eachothers motions more or less according to the SMP physics. Both are dynamic, neither is static: Spoiler This is the problem. HOWEVER, if I equip boots with HH_Offset applied, the duplicate skirt vanishes: Spoiler Why does it work perfectly fine when HH_Offset (highheels) are equipped, but when you go barefoot you get a duplicate? Now I know some authors use proxy meshes for their physics, if one of those were unhidden this would be normal, but seeing as I made this conversion from scratch as a learning project, I know there is no proxy that is "Unhidden", I tried adding a proxy myself at one point, but I found it lacking so I removed it, but I digress. Included the XML. It has mostly "Average" values just to iron out that none of them are the culprit. XML: Spoiler <?xml version="1.0" encoding="UTF-8"?> <system xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="FSMP-Validator" xsi:schemaLocation="FSMP-Validator hdtSMP64.xsd"> <per-triangle-shape name="VirtualGround"> <margin>0.5</margin> <prenetration>5</prenetration> <tag>ground</tag> </per-triangle-shape> <!--Static--> <!--Body--> <bone name="Clitoral1"/> <bone name="L Breast01"/> <bone name="L Breast02"/> <bone name="L Breast03"/> <bone name="NPC Anus Deep2"/> <bone name="NPC Belly"/> <bone name="NPC L Hand [LHnd]"/> <bone name="NPC L Butt"/> <bone name="NPC L Calf [LClf]"/> <bone name="NPC L Clavicle [LClv]"/> <bone name="NPC L Forearm [LLar]"/> <bone name="NPC L ForearmTwist1 [LLt1]"/> <bone name="NPC L ForearmTwist2 [LLt2]"/> <bone name="NPC L FrontThigh"/> <bone name="NPC L Pussy02"/> <bone name="NPC L RearCalf [LrClf]"/> <bone name="NPC L RearThigh"/> <bone name="NPC L Thigh [LThg]"/> <bone name="NPC L UpperArm [LUar]"/> <bone name="NPC L UpperArmTwist1 [LUt1]"/> <bone name="NPC L UpperArmTwist2 [LUt2]"/> <bone name="NPC LB Anus2"/> <bone name="NPC LT Anus2"/> <bone name="NPC Pelvis [Pelv]"/> <bone name="NPC R Hand [RHnd]"/> <bone name="NPC R Butt"/> <bone name="NPC R Calf [RClf]"/> <bone name="NPC R Clavicle [RClv]"/> <bone name="NPC R Forearm [RLar]"/> <bone name="NPC R ForearmTwist1 [RLt1]"/> <bone name="NPC R ForearmTwist2 [RLt2]"/> <bone name="NPC R FrontThigh"/> <bone name="NPC R Pussy02"/> <bone name="NPC R RearCalf [RrClf]"/> <bone name="NPC R RearThigh"/> <bone name="NPC R Thigh [RThg]"/> <bone name="NPC R UpperArm [RUar]"/> <bone name="NPC R UpperArmTwist1 [RUt1]"/> <bone name="NPC R UpperArmTwist2 [RUt2]"/> <bone name="NPC RB Anus2"/> <bone name="NPC RT Anus2"/> <bone name="NPC Spine [Spn0]"/> <bone name="NPC Spine1 [Spn1]"/> <bone name="NPC Spine2 [Spn2]"/> <bone name="R Breast01"/> <bone name="R Breast02"/> <bone name="R Breast03"/> <bone name="VaginaB1"/> <bone name="VaginaDeep1"/> <!-- Skirt --> <bone name="S_LF0"/> <bone name="S_LS0"/> <bone name="S_LB0"/> <bone name="S_RF0"/> <bone name="S_RS0"/> <bone name="S_RB0"/> <bone name="S_LX0"/> <bone name="S_RX0"/> <!--VirtualBody--> <per-triangle-shape name="VirtualCBBE"> <margin>0.5</margin> <prenetration>0.2</prenetration> <shared>private</shared> <tag>body</tag> <tag>legs</tag> </per-triangle-shape> <!-- Dynamic --> <bone-default> <mass>1</mass> <inertia x="4" y="4" z="4"/> <centerOfMassTransform> <basis x="0" y="0" z="0" w="1"/> <origin x="0" y="0" z="0"/> </centerOfMassTransform> <linearDamping>0.5</linearDamping> <angularDamping>0.5</angularDamping> <friction>0.5</friction> <rollingFriction>0.5</rollingFriction> <restitution>0.5</restitution> <gravity-factor>0.5</gravity-factor> </bone-default> <!--Front--> <bone-default> <margin-multiplier>1</margin-multiplier> </bone-default> <bone name="S_LF1"/> <bone name="S_RF1"/> <bone-default> <margin-multiplier>1</margin-multiplier> </bone-default> <bone name="S_LF2"/> <bone name="S_RF2"/> <bone-default> <margin-multiplier>1</margin-multiplier> </bone-default> <bone name="S_LF3"/> <bone name="S_RF3"/> <bone-default> <margin-multiplier>1</margin-multiplier> </bone-default> <bone name="S_LF4"/> <bone name="S_RF4"/> <bone-default> <margin-multiplier>1</margin-multiplier> </bone-default> <bone name="S_LS1"/> <bone name="S_RS1"/> <bone-default> <margin-multiplier>1</margin-multiplier> </bone-default> <bone name="S_LS2"/> <bone name="S_RS2"/> <bone-default> <margin-multiplier>1</margin-multiplier> </bone-default> <bone name="S_LS3"/> <bone name="S_RS3"/> <bone-default> <margin-multiplier>1</margin-multiplier> </bone-default> <bone name="S_LS4"/> <bone name="S_RS4"/> <bone-default> <margin-multiplier>1</margin-multiplier> </bone-default> <bone name="S_LX1"/> <bone name="S_RX1"/> <bone-default> <margin-multiplier>1</margin-multiplier> </bone-default> <bone name="S_LX2"/> <bone name="S_RX2"/> <bone-default> <margin-multiplier>1</margin-multiplier> </bone-default> <bone name="S_LX3"/> <bone name="S_RX3"/> <bone-default> <margin-multiplier>1</margin-multiplier> </bone-default> <bone name="S_LX4"/> <bone name="S_RX4"/> <bone-default> <margin-multiplier>1</margin-multiplier> </bone-default> <bone name="S_LB1"/> <bone name="S_RB1"/> <bone-default> <margin-multiplier>1</margin-multiplier> </bone-default> <bone name="S_LB2"/> <bone name="S_RB2"/> <bone-default> <margin-multiplier>1</margin-multiplier> </bone-default> <bone name="S_LB3"/> <bone name="S_RB3"/> <bone-default> <margin-multiplier>1</margin-multiplier> </bone-default> <bone name="S_LB4"/> <bone name="S_RB4"/> <!-- Generic Constraints --> <generic-constraint-default> <frameInB> <basis x="0" y="0" z="0" w="1"/> <origin x="0" y="0" z="0"/> </frameInB> <useLinearReferenceFrameA>false</useLinearReferenceFrameA> <linearLowerLimit x="0" y="0" z="0" /> <linearUpperLimit x="0" y="0" z="0" /> <angularLowerLimit x="-0.15" y="-0.005" z="-0.15" /> <angularUpperLimit x="0.25" y="0.25" z="0.25" /> <linearStiffness x="0.25" y="0.25" z="0.25" /> <angularStiffness x="0.25" y="0.25" z="0.25" /> <linearDamping x="0.5" y="0.5" z="0.5" /> <angularDamping x="0.1" y="0.1" z="0.1" /> <linearEquilibrium x="0" y="0" z="0" /> <angularEquilibrium x="0" y="0" z="0" /> </generic-constraint-default> <!-- <generic-constraint-default> <frameInB> <basis x="0" y="0" z="0" w="1"/> <origin x="0" y="0" z="0"/> </frameInB> <useLinearReferenceFrameA>false</useLinearReferenceFrameA> <linearLowerLimit x="0" y="0" z="0" /> <linearUpperLimit x="0" y="0" z="0" /> <angularLowerLimit x="-0.7" y="-0.2" z="-0.7" /> <angularUpperLimit x="0.7" y="0.2" z="0.7" /> <linearStiffness x="0" y="0" z="0" /> <angularStiffness x="0" y="0" z="0" /> <linearDamping x="0.8" y="0.8" z="0.8" /> <angularDamping x="0.7" y="0.7" z="0.7" /> <linearEquilibrium x="0" y="0" z="0" /> <angularEquilibrium x="0" y="0" z="0" /> </generic-constraint-default>--> <!-- Front --> <generic-constraint bodyA="S_LF1" bodyB="S_LF0"/> <generic-constraint bodyA="S_LF2" bodyB="S_LF1"/> <generic-constraint bodyA="S_LF3" bodyB="S_LF2"/> <generic-constraint bodyA="S_LF4" bodyB="S_LF3"/> <generic-constraint bodyA="S_RF1" bodyB="S_RF0"/> <generic-constraint bodyA="S_RF2" bodyB="S_RF1"/> <generic-constraint bodyA="S_RF3" bodyB="S_RF2"/> <generic-constraint bodyA="S_RF4" bodyB="S_RF3"/> <!-- <generic-constraint bodyA="S_LF1" bodyB="S_LF0"> <angularUpperLimit x="0.1" y="0.25" z="0.1" /> <angularDamping x="0.8" y="0.8" z="0.8" /> </generic-constraint> <generic-constraint bodyA="S_LF2" bodyB="S_LF1"> <angularUpperLimit x="0.4" y="0.25" z="0.4" /> <angularDamping x="0.8" y="0.8" z="0.8" /> </generic-constraint> <generic-constraint bodyA="S_LF3" bodyB="S_LF2"> <angularUpperLimit x="0.4" y="0.25" z="0.4" /> <angularDamping x="0.8" y="0.8" z="0.8" /> </generic-constraint> <generic-constraint bodyA="S_LF4" bodyB="S_LF3"> <angularUpperLimit x="0.4" y="0.25" z="0.4" /> <angularDamping x="0.8" y="0.8" z="0.8" /> </generic-constraint> <generic-constraint bodyA="S_RF1" bodyB="S_RF0"> <angularUpperLimit x="0.1" y="0.25" z="0.1" /> <angularDamping x="0.8" y="0.8" z="0.8" /> </generic-constraint> <generic-constraint bodyA="S_RF2" bodyB="S_RF1"> <angularUpperLimit x="0.4" y="0.25" z="0.4" /> <angularDamping x="0.8" y="0.8" z="0.8" /> </generic-constraint> <generic-constraint bodyA="S_RF3" bodyB="S_RF2"> <angularUpperLimit x="0.4" y="0.25" z="0.4" /> <angularDamping x="0.8" y="0.8" z="0.8" /> </generic-constraint> <generic-constraint bodyA="S_RF4" bodyB="S_RF3"> <angularUpperLimit x="0.4" y="0.25" z="0.4" /> <angularDamping x="0.8" y="0.8" z="0.8" /> </generic-constraint> --> <!-- Side --> <generic-constraint bodyA="S_LS1" bodyB="S_LS0"/> <generic-constraint bodyA="S_LS2" bodyB="S_LS1"/> <generic-constraint bodyA="S_LS3" bodyB="S_LS2"/> <generic-constraint bodyA="S_LS4" bodyB="S_LS3"/> <generic-constraint bodyA="S_RS1" bodyB="S_RS0"/> <generic-constraint bodyA="S_RS2" bodyB="S_RS1"/> <generic-constraint bodyA="S_RS3" bodyB="S_RS2"/> <generic-constraint bodyA="S_RS4" bodyB="S_RS3"/> <!-- Back --> <generic-constraint bodyA="S_LB1" bodyB="S_LB0"/> <generic-constraint bodyA="S_LB2" bodyB="S_LB1"/> <generic-constraint bodyA="S_LB3" bodyB="S_LB2"/> <generic-constraint bodyA="S_LB4" bodyB="S_LB3"/> <generic-constraint bodyA="S_RB1" bodyB="S_RB0"/> <generic-constraint bodyA="S_RB2" bodyB="S_RB1"/> <generic-constraint bodyA="S_RB3" bodyB="S_RB2"/> <generic-constraint bodyA="S_RB4" bodyB="S_RB3"/> <!-- <generic-constraint bodyA="S_LB1" bodyB="S_LB0"> <angularUpperLimit x="0.25" y="0.05" z="0.25" /> <angularDamping x="0.4" y="0.4" z="0.4" /> </generic-constraint> <generic-constraint bodyA="S_LB2" bodyB="S_LB1"> <angularUpperLimit x="0.5" y="0.05" z="0.25" /> <angularDamping x="0.4" y="0.4" z="0.4" /> </generic-constraint> <generic-constraint bodyA="S_LB3" bodyB="S_LB2"> <angularUpperLimit x="0.5" y="0.05" z="0.25" /> <angularDamping x="0.4" y="0.4" z="0.4" /> </generic-constraint> <generic-constraint bodyA="S_LB4" bodyB="S_LB3"> <angularUpperLimit x="0.5" y="0.05" z="0.25" /> <angularDamping x="0.4" y="0.4" z="0.4" /> </generic-constraint> <generic-constraint bodyA="S_RB1" bodyB="S_RB0"> <angularUpperLimit x="0.25" y="0.05" z="0.25" /> <angularDamping x="0.4" y="0.4" z="0.4" /> </generic-constraint> <generic-constraint bodyA="S_RB2" bodyB="S_RB1"> <angularUpperLimit x="0.5" y="0.05" z="0.25" /> <angularDamping x="0.4" y="0.4" z="0.4" /> </generic-constraint> <generic-constraint bodyA="S_RB3" bodyB="S_RB2"> <angularUpperLimit x="0.5" y="0.05" z="0.25" /> <angularDamping x="0.4" y="0.4" z="0.4" /> </generic-constraint> <generic-constraint bodyA="S_RB4" bodyB="S_RB3"> <angularUpperLimit x="0.5" y="0.05" z="0.25" /> <angularDamping x="0.4" y="0.4" z="0.4" /> </generic-constraint> --> <!-- X Back --> <generic-constraint bodyA="S_LX1" bodyB="S_LX0"/> <generic-constraint bodyA="S_LX2" bodyB="S_LX1"/> <generic-constraint bodyA="S_LX3" bodyB="S_LX2"/> <generic-constraint bodyA="S_LX4" bodyB="S_LX3"/> <generic-constraint bodyA="S_RX1" bodyB="S_RX0"/> <generic-constraint bodyA="S_RX2" bodyB="S_RX1"/> <generic-constraint bodyA="S_RX3" bodyB="S_RX2"/> <generic-constraint bodyA="S_RX4" bodyB="S_RX3"/> <!-- <generic-constraint bodyA="S_LX1" bodyB="S_LX0"> <angularUpperLimit x="0.25" y="0.05" z="0.25" /> <angularDamping x="0.4" y="0.4" z="0.4" /> </generic-constraint> <generic-constraint bodyA="S_LX2" bodyB="S_LX1"> <angularUpperLimit x="0.5" y="0.05" z="0.25" /> <angularDamping x="0.4" y="0.4" z="0.4" /> </generic-constraint> <generic-constraint bodyA="S_LX3" bodyB="S_LX2"> <angularUpperLimit x="0.5" y="0.05" z="0.25" /> <angularDamping x="0.4" y="0.4" z="0.4" /> </generic-constraint> <generic-constraint bodyA="S_LX4" bodyB="S_LX3"> <angularUpperLimit x="0.5" y="0.05" z="0.25" /> <angularDamping x="0.4" y="0.4" z="0.4" /> </generic-constraint> <generic-constraint bodyA="S_RX1" bodyB="S_RX0"> <angularUpperLimit x="0.25" y="0.05" z="0.25" /> <angularDamping x="0.4" y="0.4" z="0.4" /> </generic-constraint> <generic-constraint bodyA="S_RX2" bodyB="S_RX1"> <angularUpperLimit x="0.5" y="0.05" z="0.25" /> <angularDamping x="0.4" y="0.4" z="0.4" /> </generic-constraint> <generic-constraint bodyA="S_RX3" bodyB="S_RX2"> <angularUpperLimit x="0.5" y="0.05" z="0.25" /> <angularDamping x="0.4" y="0.4" z="0.4" /> </generic-constraint> <generic-constraint bodyA="S_RX4" bodyB="S_RX3"> <angularUpperLimit x="0.5" y="0.05" z="0.25" /> <angularDamping x="0.4" y="0.4" z="0.4" /> </generic-constraint> --> <!-- Colliders --> <!-- Dynamic --> <per-vertex-shape name="Dress"> <margin>0.1</margin> <shared>private</shared> <tag>skirt</tag> <no-collide-with-tag>skirt</no-collide-with-tag> <no-collide-with-tag>hands</no-collide-with-tag> <no-collide-with-bone>NPC L Forearm [LLar]</no-collide-with-bone> <no-collide-with-bone>NPC R Forearm [RLar]</no-collide-with-bone> <no-collide-with-bone>NPC L ForearmTwist1 [LLt1]</no-collide-with-bone> <no-collide-with-bone>NPC R ForearmTwist1 [RLt1]</no-collide-with-bone> <no-collide-with-bone>NPC L ForearmTwist2 [LLt2]</no-collide-with-bone> <no-collide-with-bone>NPC R ForearmTwist2 [RLt2]</no-collide-with-bone> <no-collide-with-bone>NPC L Hand [LHnd]</no-collide-with-bone> <no-collide-with-bone>NPC R Hand [RHnd]</no-collide-with-bone> <!--no-collide-with-tag>body</no-collide-with-tag--> <weight-threshold bone="S_LF1">0.1</weight-threshold> <weight-threshold bone="S_LF2">0.1</weight-threshold> <weight-threshold bone="S_LF3">0.1</weight-threshold> <weight-threshold bone="S_LF4">0.1</weight-threshold> <weight-threshold bone="S_RF1">0.1</weight-threshold> <weight-threshold bone="S_RF2">0.1</weight-threshold> <weight-threshold bone="S_RF3">0.1</weight-threshold> <weight-threshold bone="S_RF4">0.1</weight-threshold> <weight-threshold bone="S_LS1">0.1</weight-threshold> <weight-threshold bone="S_LS2">0.1</weight-threshold> <weight-threshold bone="S_LS3">0.1</weight-threshold> <weight-threshold bone="S_LS4">0.1</weight-threshold> <weight-threshold bone="S_RS1">0.1</weight-threshold> <weight-threshold bone="S_RS2">0.1</weight-threshold> <weight-threshold bone="S_RS3">0.1</weight-threshold> <weight-threshold bone="S_RS4">0.1</weight-threshold> <weight-threshold bone="S_LB1">0.1</weight-threshold> <weight-threshold bone="S_LB2">0.1</weight-threshold> <weight-threshold bone="S_LB3">0.1</weight-threshold> <weight-threshold bone="S_LB4">0.1</weight-threshold> <weight-threshold bone="S_RB1">0.1</weight-threshold> <weight-threshold bone="S_RB2">0.1</weight-threshold> <weight-threshold bone="S_RB3">0.1</weight-threshold> <weight-threshold bone="S_RB4">0.1</weight-threshold> <weight-threshold bone="S_RX1">0.1</weight-threshold> <weight-threshold bone="S_RX2">0.1</weight-threshold> <weight-threshold bone="S_RX3">0.1</weight-threshold> <weight-threshold bone="S_RX4">0.1</weight-threshold> <weight-threshold bone="S_LX1">0.1</weight-threshold> <weight-threshold bone="S_LX2">0.1</weight-threshold> <weight-threshold bone="S_LX3">0.1</weight-threshold> <weight-threshold bone="S_LX4">0.1</weight-threshold> </per-vertex-shape> </system> Edited April 20 by sinivii
Vortec Posted April 20 Posted April 20 I wonder if that second skirt is suppose to a collision mesh?. If so, the collision mesh might have gotten textures added to it?. What does it look like in Nifskope?.
sinivii Posted April 20 Author Posted April 20 (edited) 13 minutes ago, Vortec said: I wonder if that second skirt is suppose to a collision mesh?. If so, the collision mesh might have gotten textures added to it?. What does it look like in Nifskope?. It's not a collision mesh / proxy mesh. I haven't made one on this project. I decided to make a collision just to test, and then I ended up with 4 skirts(well, technically 2 pairs glued together), lol. Didn't hide the proxy for testing purposes. Anyway I solved it now. It may have some CONSEQUENCES but when that time comes ill just ball up and cry. Edited April 20 by sinivii
Vortec Posted April 20 Posted April 20 15 minutes ago, sinivii said: It's not a collision mesh / proxy mesh. I haven't made one on this project. I decided to make a collision just to test, and then I ended up with 4 skirts(well, technically 2 pairs glued together), lol. Didn't hide the proxy for testing purposes. Anyway I solved it now. It may have some CONSEQUENCES but when that time comes ill just ball up and cry. Can I ask how you solved it in case someone else has the same issue?.
sinivii Posted April 20 Author Posted April 20 (edited) 2 minutes ago, Vortec said: Can I ask how you solved it in case someone else has the same issue?. For sure. I edited the OP at the top with the solution as soon as I did. It's in green text, but I'll add it here for good measure. First Person Flags (Sorted) under Armor and Armor Addon in SSEdit must only have one Slot flagged (32), not several flags (32 and 34 in my case). From what I can gather it's SMP seeing duplicates or something. Edited April 20 by sinivii 1
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