Jump to content

Recommended Posts

View File


There have been some reports of issues with this mod since the last update. I have not updated my game yet and wasn't really planning on doing so any time soon. I'm not trying to be unsupportive, it's just that my game runs good the way it is and I'd rather not mess it up just to make it compatible with some CC mod that I'll never use.

 

So please be advised that this might not work without some XML tinkering on your part.

 

 

Updated  2/4/2018

Added a Retextured Version for people to try out. Nothing fancy, just some basic colours. Thanks to cminnow and bongo88 for testing.

 

Should be working fine as of the 1/29/18 HDT update. Tweaked the XMLs to get rid of some jitters, but other than that not much is changed.

 

Warning!

It looks as though this NOT compatible with Realistic Ragdolls and Force. Something with the skeleton it would seem. Credit to bongo88 for catching that one. 

 

Other issues

The male capes clip pretty badly with higher body weight settings. I tried to add weight sliders and it broke the mesh. Apparently the meshes don't like having bone weights fooled with. 

The capes clip with most of the armours I tested. 

The Fix

Edit the cape in Outfit Studio to fit whatever armour/body you like. Just don't alter the bone weights. https://www.loverslab.com/topic/25180-unofficial-bodyslide-2outfit-studio-tutorials/

 

 

A big "Thank You" to prZ who has been kind enough to let me share the converted files here on loverslab. 

 

So, this is really more of a modders resource. It's just a basic conversion. 

 

If you have any issues post here and I'll try to help you out. But, please understand that I'm only uploading this just so people can test it out. It's not really meant as a finished product.

 

Anyhow. Enjoy, and Please let me know how it works out.


  • Submitter
  • Submitted
    01/18/2018
  • Category
  • Requires
    SSE HDT SMP and all the neccessary files (reports of issues with latest version)
  • Regular Edition Compatible
    No

 

Link to comment

I'm kinda stumped. If anyone wants help out, give these a try. At least the mesh doesn't freak out as bad with these.

 

 

Female

Spoiler
<?xml version="1.0" encoding="UTF-8"?>
<system xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="description.xsd">
  <per-triangle-shape name="VirtualGround">
    <margin>0.001</margin>
    <prenetration>1</prenetration>
    <tag>ground</tag>
  </per-triangle-shape>
 
    <bone-default>
  <restitution>0.3</restitution>
 </bone-default>
  <bone name="NPC R Breast"/>
  <bone name="NPC R Breast01"/>
  <bone name="NPC L Breast"/>
  <bone name="NPC L Breast01"/>
  <bone name="NPC L Calf [LClf]"/>
  <bone name="NPC R Calf [RClf]"/>
  <bone name="NPC L Clavicle [LClv]"/>
  <bone name="NPC R Clavicle [RClv]"/>
  <bone name="NPC R Pauldron"/>
  <bone name="NPC L Pauldron"/>
  <bone name="NPC Head [Head]"/>
  <bone name="NPC Pelvis [Pelv]"/>
  <bone name="NPC Spine [Spn0]"/>
  <bone name="NPC Spine1 [Spn1]"/>
  <bone name="NPC Spine2 [Spn2]"/>
  <bone name="Bone001"/>
  <bone name="Bone011"/>
  <bone name="Bone021"/>
  <bone name="Bone031"/>
  <bone name="Bone041"/>
  <bone name="Bone051"/>
 
 <per-triangle-shape name="BaseShapeB">
  <margin>0.01</margin>
      <prenetration>0</prenetration>
  <tag>body2</tag>
  <no-collide-with-tag>body</no-collide-with-tag>
 </per-triangle-shape>
 
 <per-triangle-shape name="FeetB">
  <margin>0.75</margin>
   <prenetration>0</prenetration>
  <tag>Feet</tag>
  <no-collide-with-tag>body</no-collide-with-tag>
 </per-triangle-shape>
 
  <bone-default>
    <mass>0.011</mass>
    <inertia x="1" y="3" z="1"/>
    <centerOfMassTransform>
      <basis x="0" y="0" z="0" w="1"/>
      <origin x="0" y="0" z="-1"/>
    </centerOfMassTransform>
    <linearDamping>0.69</linearDamping>
    <angularDamping>0</angularDamping>
  <friction>0</friction>
    <restitution>0</restitution>
<margin-multiplier>3</margin-multiplier>
  </bone-default>
 
 
  <bone name="Bone006"/>
  <bone name="Bone007"/>
  <bone name="Bone008"/>
  <bone name="Bone009"/>
  <bone name="Bone010"/>
 
  <bone name="Bone017"/>
  <bone name="Bone018"/>
  <bone name="Bone019"/>
  <bone name="Bone020"/>
 
  <bone name="Bone027"/>
  <bone name="Bone028"/>
  <bone name="Bone029"/>
  <bone name="Bone030"/>
 
  <bone name="Bone037"/>
  <bone name="Bone038"/>
  <bone name="Bone039"/>
  <bone name="Bone040"/>
 
  <bone name="Bone046"/>
  <bone name="Bone047"/>
  <bone name="Bone048"/>
  <bone name="Bone049"/>
  <bone name="Bone050"/>
 
  <bone name="Bone056"/>
  <bone name="Bone057"/>
  <bone name="Bone058"/>
  <bone name="Bone059"/>
  <bone name="Bone060"/>
  <bone-default>
    <mass>0.011</mass>
    <inertia x="1" y="3" z="1"/>
    <centerOfMassTransform>
      <basis x="0" y="0" z="0" w="1"/>
      <origin x="0" y="0" z="-1"/>
    </centerOfMassTransform>
    <linearDamping>0.69</linearDamping>
    <angularDamping>0</angularDamping>
  <friction>0.1</friction>
    <restitution>0.9</restitution>
<margin-multiplier>3</margin-multiplier>
  </bone-default>
 
 
  <bone name="Bone016"/>
 
  <bone name="Bone025"/>
  <bone name="Bone026"/>
 
  <bone name="Bone035"/>
  <bone name="Bone036"/>
 
  <bone name="Bone045"/>
 
  <bone name="Bone055"/>
 
<bone-default>
    <mass>0.01</mass>
    <inertia x="1" y="3" z="1"/>
    <centerOfMassTransform>
      <basis x="0" y="0" z="0" w="1"/>
      <origin x="0" y="0" z="-1"/>
    </centerOfMassTransform>
    <linearDamping>0.69</linearDamping>
    <angularDamping>0</angularDamping>
  <friction>0.2</friction>
    <restitution>0.9</restitution>
<margin-multiplier>1</margin-multiplier>
 </bone-default>
 
  <bone name="Bone002"/>
  <bone name="Bone003"/>
  <bone name="Bone004"/>
  <bone name="Bone005"/>
 
  <bone name="Bone012"/>
  <bone name="Bone013"/>
  <bone name="Bone014"/>
  <bone name="Bone015"/>
 
  <bone name="Bone022"/>
  <bone name="Bone023"/>
  <bone name="Bone024"/>
 
  <bone name="Bone032"/>
  <bone name="Bone033"/>
  <bone name="Bone034"/>
 
  <bone name="Bone042"/>
  <bone name="Bone043"/>
  <bone name="Bone044"/>
 
  <bone name="Bone052"/>
  <bone name="Bone053"/>
  <bone name="Bone054"/>
 
    <generic-constraint-default>
    <frameInA>
      <basis x="0" y="0" z="0" w="1"/>
      <origin x="0" y="0" z="0"/>
    </frameInA>
    <useLinearReferenceFrameA>false</useLinearReferenceFrameA>
    <linearLowerLimit x="0" y="0" z="0"/>
    <linearUpperLimit x="0" y="0" z="0"/>
    <angularLowerLimit x="-1" y="-1" z="-1"/>
    <angularUpperLimit x="1" y="1" z="1"/>
    <linearStiffness x="0" y="0" z="0"/>
    <angularStiffness x="5" y="2.5" z="0"/>
    <linearDamping x="0" y="0" z="0"/>
    <angularDamping x="0" y="0" z="0"/>
    <linearEquilibrium x="0" y="0" z="0"/>
    <angularEquilibrium x="0" y="0" z="0"/>
  </generic-constraint-default>
 
 <constraint-group>
  <generic-constraint bodyA="Bone006" bodyB ="Bone005"></generic-constraint>
  <generic-constraint bodyA="Bone007" bodyB ="Bone006"></generic-constraint>
  <generic-constraint bodyA="Bone008" bodyB ="Bone007"></generic-constraint>
  <generic-constraint bodyA="Bone009" bodyB ="Bone008"></generic-constraint>
  <generic-constraint bodyA="Bone010" bodyB ="Bone009"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone017" bodyB ="Bone016"></generic-constraint>
  <generic-constraint bodyA="Bone018" bodyB ="Bone017"></generic-constraint>
  <generic-constraint bodyA="Bone019" bodyB ="Bone018"></generic-constraint>
  <generic-constraint bodyA="Bone020" bodyB ="Bone019"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone027" bodyB ="Bone026"></generic-constraint>
  <generic-constraint bodyA="Bone028" bodyB ="Bone027"></generic-constraint>
  <generic-constraint bodyA="Bone029" bodyB ="Bone028"></generic-constraint>
  <generic-constraint bodyA="Bone030" bodyB ="Bone029"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone037" bodyB ="Bone036"></generic-constraint>
  <generic-constraint bodyA="Bone038" bodyB ="Bone037"></generic-constraint>
  <generic-constraint bodyA="Bone039" bodyB ="Bone038"></generic-constraint>
  <generic-constraint bodyA="Bone040" bodyB ="Bone039"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone046" bodyB ="Bone045"></generic-constraint>
  <generic-constraint bodyA="Bone047" bodyB ="Bone046"></generic-constraint>
  <generic-constraint bodyA="Bone048" bodyB ="Bone047"></generic-constraint>
  <generic-constraint bodyA="Bone049" bodyB ="Bone048"></generic-constraint>
  <generic-constraint bodyA="Bone050" bodyB ="Bone049"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone056" bodyB ="Bone055"></generic-constraint>
  <generic-constraint bodyA="Bone057" bodyB ="Bone056"></generic-constraint>
  <generic-constraint bodyA="Bone058" bodyB ="Bone057"></generic-constraint>
  <generic-constraint bodyA="Bone059" bodyB ="Bone058"></generic-constraint>
  <generic-constraint bodyA="Bone060" bodyB ="Bone059"></generic-constraint>
 </constraint-group>
 
    <generic-constraint-default>
    <frameInA>
      <basis x="0" y="0" z="0" w="1"/>
      <origin x="0" y="0" z="0"/>
    </frameInA>
    <useLinearReferenceFrameA>false</useLinearReferenceFrameA>
    <linearLowerLimit x="0" y="0" z="0"/>
    <linearUpperLimit x="0" y="0" z="0"/>
    <angularLowerLimit x="-1" y="-1" z="-1"/>
    <angularUpperLimit x="1" y="1" z="1"/>
    <linearStiffness x="0" y="0" z="0"/>
    <angularStiffness x="45" y="25" z="10"/>
    <linearDamping x="0" y="0" z="0"/>
    <angularDamping x="0" y="0" z="0"/>
    <linearEquilibrium x="0" y="0" z="0"/>
    <angularEquilibrium x="0" y="0" z="0"/>
  </generic-constraint-default>
 
 <constraint-group>
  <generic-constraint bodyA="Bone016" bodyB ="Bone015"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone026" bodyB ="Bone025"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone036" bodyB ="Bone035"></generic-constraint>
 </constraint-group>
 
    <generic-constraint-default>
    <frameInA>
      <basis x="0" y="0" z="0" w="1"/>
      <origin x="0" y="0" z="0"/>
    </frameInA>
    <useLinearReferenceFrameA>false</useLinearReferenceFrameA>
    <linearLowerLimit x="0" y="0" z="0"/>
    <linearUpperLimit x="0" y="0" z="0"/>
    <angularLowerLimit x="-0.5" y="-0.2" z="-0.3"/>
    <angularUpperLimit x="0.5" y="0.2" z="0.3"/>
    <linearStiffness x="0" y="0" z="0"/>
    <angularStiffness x="50" y="0" z="0"/>
    <linearDamping x="0" y="0" z="0"/>
    <angularDamping x="0" y="0" z="0"/>
    <linearEquilibrium x="0" y="0" z="0"/>
    <angularEquilibrium x="0" y="0" z="0"/>
  </generic-constraint-default>
 
 <constraint-group>
  <generic-constraint bodyA="Bone002" bodyB ="Bone001"></generic-constraint>
  <generic-constraint bodyA="Bone003" bodyB ="Bone002"></generic-constraint>
  <generic-constraint bodyA="Bone004" bodyB ="Bone003"></generic-constraint>
  <generic-constraint bodyA="Bone005" bodyB ="Bone004"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone012" bodyB ="Bone011"></generic-constraint>
  <generic-constraint bodyA="Bone013" bodyB ="Bone012"></generic-constraint>
  <generic-constraint bodyA="Bone014" bodyB ="Bone013"></generic-constraint>
  <generic-constraint bodyA="Bone015" bodyB ="Bone014"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone022" bodyB ="Bone021"></generic-constraint>
  <generic-constraint bodyA="Bone023" bodyB ="Bone022"></generic-constraint>
  <generic-constraint bodyA="Bone024" bodyB ="Bone023"></generic-constraint>
  <generic-constraint bodyA="Bone025" bodyB ="Bone024"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone032" bodyB ="Bone031"></generic-constraint>
  <generic-constraint bodyA="Bone033" bodyB ="Bone032"></generic-constraint>
  <generic-constraint bodyA="Bone034" bodyB ="Bone033"></generic-constraint>
  <generic-constraint bodyA="Bone035" bodyB ="Bone034"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone042" bodyB ="Bone041"></generic-constraint>
  <generic-constraint bodyA="Bone043" bodyB ="Bone042"></generic-constraint>
  <generic-constraint bodyA="Bone044" bodyB ="Bone043"></generic-constraint>
  <generic-constraint bodyA="Bone045" bodyB ="Bone044"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone052" bodyB ="Bone051"></generic-constraint>
  <generic-constraint bodyA="Bone053" bodyB ="Bone052"></generic-constraint>
  <generic-constraint bodyA="Bone054" bodyB ="Bone053"></generic-constraint>
  <generic-constraint bodyA="Bone055" bodyB ="Bone054"></generic-constraint>
 </constraint-group>
 
  <generic-constraint-default>
    <frameInLerp>
   <translationLerp>0.5</translationLerp>
   <rotationLerp>0.5</rotationLerp>
    </frameInLerp>
    <angularLowerLimit x="-1" y="-1" z="-1"/>
    <angularUpperLimit x="1" y="1" z="1"/>
    <angularStiffness x="1000" y="1000" z="1000"/>
  </generic-constraint-default>
 <constraint-group>
  <generic-constraint bodyA="Bone010" bodyB ="Bone020"></generic-constraint>
  <generic-constraint bodyA="Bone020" bodyB ="Bone030"></generic-constraint>
  <generic-constraint bodyA="Bone030" bodyB ="Bone040"></generic-constraint>
  <generic-constraint bodyA="Bone040" bodyB ="Bone050"></generic-constraint>
  <generic-constraint bodyA="Bone050" bodyB ="Bone060"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone009" bodyB ="Bone019"></generic-constraint>
  <generic-constraint bodyA="Bone019" bodyB ="Bone029"></generic-constraint>
  <generic-constraint bodyA="Bone029" bodyB ="Bone039"></generic-constraint>
  <generic-constraint bodyA="Bone039" bodyB ="Bone049"></generic-constraint>
  <generic-constraint bodyA="Bone049" bodyB ="Bone059"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone008" bodyB ="Bone018"></generic-constraint>
  <generic-constraint bodyA="Bone018" bodyB ="Bone028"></generic-constraint>
  <generic-constraint bodyA="Bone028" bodyB ="Bone038"></generic-constraint>
  <generic-constraint bodyA="Bone038" bodyB ="Bone048"></generic-constraint>
  <generic-constraint bodyA="Bone048" bodyB ="Bone058"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone007" bodyB ="Bone017"></generic-constraint>
  <generic-constraint bodyA="Bone017" bodyB ="Bone027"></generic-constraint>
  <generic-constraint bodyA="Bone027" bodyB ="Bone037"></generic-constraint>
  <generic-constraint bodyA="Bone037" bodyB ="Bone047"></generic-constraint>
  <generic-constraint bodyA="Bone047" bodyB ="Bone057"></generic-constraint>
 </constraint-group>
 
 <generic-constraint-default>
    <frameInLerp>
   <translationLerp>0.5</translationLerp>
   <rotationLerp>0.5</rotationLerp>
    </frameInLerp>
    <angularLowerLimit x="-0.01" y="-0.01" z="-0.01"/>
    <angularUpperLimit x="0.01" y="0.01" z="0.01"/>
    <angularStiffness x="50000" y="50000" z="50000"/>
  </generic-constraint-default>
 
 <constraint-group>
  <generic-constraint bodyA="Bone006" bodyB ="Bone016"></generic-constraint>
  <generic-constraint bodyA="Bone016" bodyB ="Bone026"></generic-constraint>
  <generic-constraint bodyA="Bone026" bodyB ="Bone036"></generic-constraint>
  <generic-constraint bodyA="Bone036" bodyB ="Bone046"></generic-constraint>
  <generic-constraint bodyA="Bone046" bodyB ="Bone056"></generic-constraint>
 </constraint-group>
 <constraint-group>
  <generic-constraint bodyA="Bone005" bodyB ="Bone015"></generic-constraint>
  <generic-constraint bodyA="Bone015" bodyB ="Bone025"></generic-constraint>
  <generic-constraint bodyA="Bone025" bodyB ="Bone035"></generic-constraint>
  <generic-constraint bodyA="Bone035" bodyB ="Bone045"></generic-constraint>
  <generic-constraint bodyA="Bone045" bodyB ="Bone055"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone004" bodyB ="Bone014"></generic-constraint>
  <generic-constraint bodyA="Bone014" bodyB ="Bone024"></generic-constraint>
  <generic-constraint bodyA="Bone024" bodyB ="Bone034"></generic-constraint>
  <generic-constraint bodyA="Bone034" bodyB ="Bone044"></generic-constraint>
  <generic-constraint bodyA="Bone044" bodyB ="Bone054"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone003" bodyB ="Bone013"></generic-constraint>
  <generic-constraint bodyA="Bone013" bodyB ="Bone023"></generic-constraint>
  <generic-constraint bodyA="Bone023" bodyB ="Bone033"></generic-constraint>
  <generic-constraint bodyA="Bone033" bodyB ="Bone043"></generic-constraint>
  <generic-constraint bodyA="Bone043" bodyB ="Bone053"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone002" bodyB ="Bone012"></generic-constraint>
  <generic-constraint bodyA="Bone012" bodyB ="Bone022"></generic-constraint>
  <generic-constraint bodyA="Bone022" bodyB ="Bone032"></generic-constraint>
  <generic-constraint bodyA="Bone032" bodyB ="Bone042"></generic-constraint>
  <generic-constraint bodyA="Bone042" bodyB ="Bone052"></generic-constraint>
 </constraint-group>
 
 
    <per-triangle-shape name="Cape">
    <margin>1</margin>
    <prenetration>0</prenetration>
    <tag>cloth</tag>
  <no-collide-with-tag>hands</no-collide-with-tag>
     <no-collide-with-tag>body</no-collide-with-tag>
  <no-collide-with-tag>cloth</no-collide-with-tag>
  <no-collide-with-bone>NPC L Breast</no-collide-with-bone>
  <no-collide-with-bone>NPC R Breast</no-collide-with-bone>
  <no-collide-with-bone>NPC L Breast01</no-collide-with-bone>
  <no-collide-with-bone>NPC R Breast01</no-collide-with-bone>
  </per-triangle-shape>
</system>

 

Male

Spoiler
<?xml version="1.0" encoding="UTF-8"?>
<system xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="description.xsd">
  <per-triangle-shape name="VirtualGround">
    <margin>0.001</margin>
    <prenetration>1</prenetration>
    <tag>ground</tag>
  </per-triangle-shape>
 
    <bone-default>
  <restitution>0.3</restitution>
 </bone-default>
  <bone name="NPC R Breast"/>
  <bone name="NPC R Breast01"/>
  <bone name="NPC L Breast"/>
  <bone name="NPC L Breast01"/>
  <bone name="NPC L Calf [LClf]"/>
  <bone name="NPC R Calf [RClf]"/>
  <bone name="NPC L Clavicle [LClv]"/>
  <bone name="NPC R Clavicle [RClv]"/>
  <bone name="NPC R Pauldron"/>
  <bone name="NPC L Pauldron"/>
  <bone name="NPC Head [Head]"/>
  <bone name="NPC Pelvis [Pelv]"/>
  <bone name="NPC Spine [Spn0]"/>
  <bone name="NPC Spine1 [Spn1]"/>
  <bone name="NPC Spine2 [Spn2]"/>
  <bone name="Bone001"/>
  <bone name="Bone011"/>
  <bone name="Bone021"/>
  <bone name="Bone031"/>
  <bone name="Bone041"/>
  <bone name="Bone051"/>
 
 <per-triangle-shape name="MaleBodyB">
  <margin>0.01</margin>
      <prenetration>0</prenetration>
  <tag>body2</tag>
  <no-collide-with-tag>body</no-collide-with-tag>
 </per-triangle-shape>
 
 <per-triangle-shape name="MaleFeetB">
  <margin>0.75</margin>
   <prenetration>0</prenetration>
  <tag>Feet</tag>
  <no-collide-with-tag>body</no-collide-with-tag>
 </per-triangle-shape>
  <bone-default>
    <mass>0.011</mass>
    <inertia x="1" y="3" z="1"/>
    <centerOfMassTransform>
      <basis x="0" y="0" z="0" w="1"/>
      <origin x="0" y="0" z="-1"/>
    </centerOfMassTransform>
    <linearDamping>0.69</linearDamping>
    <angularDamping>0</angularDamping>
  <friction>0</friction>
    <restitution>0</restitution>
<margin-multiplier>3</margin-multiplier>
  </bone-default>
 
 
  <bone name="Bone006"/>
  <bone name="Bone007"/>
  <bone name="Bone008"/>
  <bone name="Bone009"/>
  <bone name="Bone010"/>
 
  <bone name="Bone017"/>
  <bone name="Bone018"/>
  <bone name="Bone019"/>
  <bone name="Bone020"/>
 
  <bone name="Bone027"/>
  <bone name="Bone028"/>
  <bone name="Bone029"/>
  <bone name="Bone030"/>
 
  <bone name="Bone037"/>
  <bone name="Bone038"/>
  <bone name="Bone039"/>
  <bone name="Bone040"/>
 
  <bone name="Bone046"/>
  <bone name="Bone047"/>
  <bone name="Bone048"/>
  <bone name="Bone049"/>
  <bone name="Bone050"/>
 
  <bone name="Bone056"/>
  <bone name="Bone057"/>
  <bone name="Bone058"/>
  <bone name="Bone059"/>
  <bone name="Bone060"/>
  <bone-default>
    <mass>0.011</mass>
    <inertia x="1" y="3" z="1"/>
    <centerOfMassTransform>
      <basis x="0" y="0" z="0" w="1"/>
      <origin x="0" y="0" z="-1"/>
    </centerOfMassTransform>
    <linearDamping>0.69</linearDamping>
    <angularDamping>0</angularDamping>
  <friction>0.1</friction>
    <restitution>0.9</restitution>
<margin-multiplier>3</margin-multiplier>
  </bone-default>
 
 
  <bone name="Bone016"/>
 
  <bone name="Bone025"/>
  <bone name="Bone026"/>
 
  <bone name="Bone035"/>
  <bone name="Bone036"/>
 
  <bone name="Bone045"/>
 
  <bone name="Bone055"/>
 
<bone-default>
    <mass>0.01</mass>
    <inertia x="1" y="3" z="1"/>
    <centerOfMassTransform>
      <basis x="0" y="0" z="0" w="1"/>
      <origin x="0" y="0" z="-1"/>
    </centerOfMassTransform>
    <linearDamping>0.69</linearDamping>
    <angularDamping>0</angularDamping>
  <friction>0.2</friction>
    <restitution>0.9</restitution>
<margin-multiplier>1</margin-multiplier>
 </bone-default>
 
  <bone name="Bone002"/>
  <bone name="Bone003"/>
  <bone name="Bone004"/>
  <bone name="Bone005"/>
 
  <bone name="Bone012"/>
  <bone name="Bone013"/>
  <bone name="Bone014"/>
  <bone name="Bone015"/>
 
  <bone name="Bone022"/>
  <bone name="Bone023"/>
  <bone name="Bone024"/>
 
  <bone name="Bone032"/>
  <bone name="Bone033"/>
  <bone name="Bone034"/>
 
  <bone name="Bone042"/>
  <bone name="Bone043"/>
  <bone name="Bone044"/>
 
  <bone name="Bone052"/>
  <bone name="Bone053"/>
  <bone name="Bone054"/>
 
    <generic-constraint-default>
    <frameInA>
      <basis x="0" y="0" z="0" w="1"/>
      <origin x="0" y="0" z="0"/>
    </frameInA>
    <useLinearReferenceFrameA>false</useLinearReferenceFrameA>
    <linearLowerLimit x="0" y="0" z="0"/>
    <linearUpperLimit x="0" y="0" z="0"/>
    <angularLowerLimit x="-1" y="-1" z="-1"/>
    <angularUpperLimit x="1" y="1" z="1"/>
    <linearStiffness x="0" y="0" z="0"/>
    <angularStiffness x="5" y="2.5" z="0"/>
    <linearDamping x="0" y="0" z="0"/>
    <angularDamping x="0" y="0" z="0"/>
    <linearEquilibrium x="0" y="0" z="0"/>
    <angularEquilibrium x="0" y="0" z="0"/>
  </generic-constraint-default>
 
 <constraint-group>
  <generic-constraint bodyA="Bone006" bodyB ="Bone005"></generic-constraint>
  <generic-constraint bodyA="Bone007" bodyB ="Bone006"></generic-constraint>
  <generic-constraint bodyA="Bone008" bodyB ="Bone007"></generic-constraint>
  <generic-constraint bodyA="Bone009" bodyB ="Bone008"></generic-constraint>
  <generic-constraint bodyA="Bone010" bodyB ="Bone009"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone017" bodyB ="Bone016"></generic-constraint>
  <generic-constraint bodyA="Bone018" bodyB ="Bone017"></generic-constraint>
  <generic-constraint bodyA="Bone019" bodyB ="Bone018"></generic-constraint>
  <generic-constraint bodyA="Bone020" bodyB ="Bone019"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone027" bodyB ="Bone026"></generic-constraint>
  <generic-constraint bodyA="Bone028" bodyB ="Bone027"></generic-constraint>
  <generic-constraint bodyA="Bone029" bodyB ="Bone028"></generic-constraint>
  <generic-constraint bodyA="Bone030" bodyB ="Bone029"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone037" bodyB ="Bone036"></generic-constraint>
  <generic-constraint bodyA="Bone038" bodyB ="Bone037"></generic-constraint>
  <generic-constraint bodyA="Bone039" bodyB ="Bone038"></generic-constraint>
  <generic-constraint bodyA="Bone040" bodyB ="Bone039"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone046" bodyB ="Bone045"></generic-constraint>
  <generic-constraint bodyA="Bone047" bodyB ="Bone046"></generic-constraint>
  <generic-constraint bodyA="Bone048" bodyB ="Bone047"></generic-constraint>
  <generic-constraint bodyA="Bone049" bodyB ="Bone048"></generic-constraint>
  <generic-constraint bodyA="Bone050" bodyB ="Bone049"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone056" bodyB ="Bone055"></generic-constraint>
  <generic-constraint bodyA="Bone057" bodyB ="Bone056"></generic-constraint>
  <generic-constraint bodyA="Bone058" bodyB ="Bone057"></generic-constraint>
  <generic-constraint bodyA="Bone059" bodyB ="Bone058"></generic-constraint>
  <generic-constraint bodyA="Bone060" bodyB ="Bone059"></generic-constraint>
 </constraint-group>
 
    <generic-constraint-default>
    <frameInA>
      <basis x="0" y="0" z="0" w="1"/>
      <origin x="0" y="0" z="0"/>
    </frameInA>
    <useLinearReferenceFrameA>false</useLinearReferenceFrameA>
    <linearLowerLimit x="0" y="0" z="0"/>
    <linearUpperLimit x="0" y="0" z="0"/>
    <angularLowerLimit x="-1" y="-1" z="-1"/>
    <angularUpperLimit x="1" y="1" z="1"/>
    <linearStiffness x="0" y="0" z="0"/>
    <angularStiffness x="45" y="25" z="10"/>
    <linearDamping x="0" y="0" z="0"/>
    <angularDamping x="0" y="0" z="0"/>
    <linearEquilibrium x="0" y="0" z="0"/>
    <angularEquilibrium x="0" y="0" z="0"/>
  </generic-constraint-default>
 
 <constraint-group>
  <generic-constraint bodyA="Bone016" bodyB ="Bone015"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone026" bodyB ="Bone025"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone036" bodyB ="Bone035"></generic-constraint>
 </constraint-group>
 
    <generic-constraint-default>
    <frameInA>
      <basis x="0" y="0" z="0" w="1"/>
      <origin x="0" y="0" z="0"/>
    </frameInA>
    <useLinearReferenceFrameA>false</useLinearReferenceFrameA>
    <linearLowerLimit x="0" y="0" z="0"/>
    <linearUpperLimit x="0" y="0" z="0"/>
    <angularLowerLimit x="-0.5" y="-0.2" z="-0.3"/>
    <angularUpperLimit x="0.5" y="0.2" z="0.3"/>
    <linearStiffness x="0" y="0" z="0"/>
    <angularStiffness x="50" y="0" z="0"/>
    <linearDamping x="0" y="0" z="0"/>
    <angularDamping x="0" y="0" z="0"/>
    <linearEquilibrium x="0" y="0" z="0"/>
    <angularEquilibrium x="0" y="0" z="0"/>
  </generic-constraint-default>
 
 <constraint-group>
  <generic-constraint bodyA="Bone002" bodyB ="Bone001"></generic-constraint>
  <generic-constraint bodyA="Bone003" bodyB ="Bone002"></generic-constraint>
  <generic-constraint bodyA="Bone004" bodyB ="Bone003"></generic-constraint>
  <generic-constraint bodyA="Bone005" bodyB ="Bone004"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone012" bodyB ="Bone011"></generic-constraint>
  <generic-constraint bodyA="Bone013" bodyB ="Bone012"></generic-constraint>
  <generic-constraint bodyA="Bone014" bodyB ="Bone013"></generic-constraint>
  <generic-constraint bodyA="Bone015" bodyB ="Bone014"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone022" bodyB ="Bone021"></generic-constraint>
  <generic-constraint bodyA="Bone023" bodyB ="Bone022"></generic-constraint>
  <generic-constraint bodyA="Bone024" bodyB ="Bone023"></generic-constraint>
  <generic-constraint bodyA="Bone025" bodyB ="Bone024"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone032" bodyB ="Bone031"></generic-constraint>
  <generic-constraint bodyA="Bone033" bodyB ="Bone032"></generic-constraint>
  <generic-constraint bodyA="Bone034" bodyB ="Bone033"></generic-constraint>
  <generic-constraint bodyA="Bone035" bodyB ="Bone034"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone042" bodyB ="Bone041"></generic-constraint>
  <generic-constraint bodyA="Bone043" bodyB ="Bone042"></generic-constraint>
  <generic-constraint bodyA="Bone044" bodyB ="Bone043"></generic-constraint>
  <generic-constraint bodyA="Bone045" bodyB ="Bone044"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone052" bodyB ="Bone051"></generic-constraint>
  <generic-constraint bodyA="Bone053" bodyB ="Bone052"></generic-constraint>
  <generic-constraint bodyA="Bone054" bodyB ="Bone053"></generic-constraint>
  <generic-constraint bodyA="Bone055" bodyB ="Bone054"></generic-constraint>
 </constraint-group>
 
  <generic-constraint-default>
    <frameInLerp>
   <translationLerp>0.5</translationLerp>
   <rotationLerp>0.5</rotationLerp>
    </frameInLerp>
    <angularLowerLimit x="-1" y="-1" z="-1"/>
    <angularUpperLimit x="1" y="1" z="1"/>
    <angularStiffness x="1000" y="1000" z="1000"/>
  </generic-constraint-default>
 <constraint-group>
  <generic-constraint bodyA="Bone010" bodyB ="Bone020"></generic-constraint>
  <generic-constraint bodyA="Bone020" bodyB ="Bone030"></generic-constraint>
  <generic-constraint bodyA="Bone030" bodyB ="Bone040"></generic-constraint>
  <generic-constraint bodyA="Bone040" bodyB ="Bone050"></generic-constraint>
  <generic-constraint bodyA="Bone050" bodyB ="Bone060"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone009" bodyB ="Bone019"></generic-constraint>
  <generic-constraint bodyA="Bone019" bodyB ="Bone029"></generic-constraint>
  <generic-constraint bodyA="Bone029" bodyB ="Bone039"></generic-constraint>
  <generic-constraint bodyA="Bone039" bodyB ="Bone049"></generic-constraint>
  <generic-constraint bodyA="Bone049" bodyB ="Bone059"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone008" bodyB ="Bone018"></generic-constraint>
  <generic-constraint bodyA="Bone018" bodyB ="Bone028"></generic-constraint>
  <generic-constraint bodyA="Bone028" bodyB ="Bone038"></generic-constraint>
  <generic-constraint bodyA="Bone038" bodyB ="Bone048"></generic-constraint>
  <generic-constraint bodyA="Bone048" bodyB ="Bone058"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone007" bodyB ="Bone017"></generic-constraint>
  <generic-constraint bodyA="Bone017" bodyB ="Bone027"></generic-constraint>
  <generic-constraint bodyA="Bone027" bodyB ="Bone037"></generic-constraint>
  <generic-constraint bodyA="Bone037" bodyB ="Bone047"></generic-constraint>
  <generic-constraint bodyA="Bone047" bodyB ="Bone057"></generic-constraint>
 </constraint-group>
 
 <generic-constraint-default>
    <frameInLerp>
   <translationLerp>0.5</translationLerp>
   <rotationLerp>0.5</rotationLerp>
    </frameInLerp>
    <angularLowerLimit x="-0.01" y="-0.01" z="-0.01"/>
    <angularUpperLimit x="0.01" y="0.01" z="0.01"/>
    <angularStiffness x="50000" y="50000" z="50000"/>
  </generic-constraint-default>
 
 <constraint-group>
  <generic-constraint bodyA="Bone006" bodyB ="Bone016"></generic-constraint>
  <generic-constraint bodyA="Bone016" bodyB ="Bone026"></generic-constraint>
  <generic-constraint bodyA="Bone026" bodyB ="Bone036"></generic-constraint>
  <generic-constraint bodyA="Bone036" bodyB ="Bone046"></generic-constraint>
  <generic-constraint bodyA="Bone046" bodyB ="Bone056"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone005" bodyB ="Bone015"></generic-constraint>
  <generic-constraint bodyA="Bone015" bodyB ="Bone025"></generic-constraint>
  <generic-constraint bodyA="Bone025" bodyB ="Bone035"></generic-constraint>
  <generic-constraint bodyA="Bone035" bodyB ="Bone045"></generic-constraint>
  <generic-constraint bodyA="Bone045" bodyB ="Bone055"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone004" bodyB ="Bone014"></generic-constraint>
  <generic-constraint bodyA="Bone014" bodyB ="Bone024"></generic-constraint>
  <generic-constraint bodyA="Bone024" bodyB ="Bone034"></generic-constraint>
  <generic-constraint bodyA="Bone034" bodyB ="Bone044"></generic-constraint>
  <generic-constraint bodyA="Bone044" bodyB ="Bone054"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone003" bodyB ="Bone013"></generic-constraint>
  <generic-constraint bodyA="Bone013" bodyB ="Bone023"></generic-constraint>
  <generic-constraint bodyA="Bone023" bodyB ="Bone033"></generic-constraint>
  <generic-constraint bodyA="Bone033" bodyB ="Bone043"></generic-constraint>
  <generic-constraint bodyA="Bone043" bodyB ="Bone053"></generic-constraint>
 </constraint-group>
 
 <constraint-group>
  <generic-constraint bodyA="Bone002" bodyB ="Bone012"></generic-constraint>
  <generic-constraint bodyA="Bone012" bodyB ="Bone022"></generic-constraint>
  <generic-constraint bodyA="Bone022" bodyB ="Bone032"></generic-constraint>
  <generic-constraint bodyA="Bone032" bodyB ="Bone042"></generic-constraint>
  <generic-constraint bodyA="Bone042" bodyB ="Bone052"></generic-constraint>
 </constraint-group>
 
 
    <per-triangle-shape name="Cape">
    <margin>1</margin>
    <prenetration>0</prenetration>
    <tag>cloth</tag>
  <no-collide-with-tag>hands</no-collide-with-tag>
     <no-collide-with-tag>body</no-collide-with-tag>
  <no-collide-with-tag>cloth</no-collide-with-tag>
  <no-collide-with-bone>NPC L Breast</no-collide-with-bone>
  <no-collide-with-bone>NPC R Breast</no-collide-with-bone>
  <no-collide-with-bone>NPC L Breast01</no-collide-with-bone>
  <no-collide-with-bone>NPC R Breast01</no-collide-with-bone>
  </per-triangle-shape>
</system>

 

Link to comment

Here's a testing XML that mostly works with latest version. I removed the physics angular effects of the cape so they only react to forces applied to them by the kinematic bones (the anchor nodes at the neck) rather than each other.

 

I believe it's related to the error in your videos where a cape can get stuck "wrapped around itself" instead of returning to their "resting position" or "fully damped position". Somehow the collisions don't "lock up" like in previous versions which instead leads to (near) infinite bounce or distance calculation numbers resulting in nodes of the cape stretching into infinity in random directions that no amount of damping is going to bring back. You can see these catastrophic failures with my testing XML when you make extreme turns. Technically "not locking up" is an improvement in the code by Hydrogen but it seems to have the unintended effect of making the collision return unbounded values.

 

This part in particular along with its bone constraints should be deleted or just replaced with regular physics like the other 2 sets of bone constraints. It's garbage random physics that causes most of the errors with the latest physics. It's just less noticeable how stupid it is with the older versions. 

 

  <generic-constraint-default>
    <frameInLerp>
			<translationLerp>0.5</translationLerp>
			<rotationLerp>0.5</rotationLerp>
    </frameInLerp>
    <angularLowerLimit x="-1" y="-1" z="-1"/>
    <angularUpperLimit x="1" y="1" z="1"/>
    <angularStiffness x="1000" y="1000" z="1000"/>
  </generic-constraint-default>

 

I also tried to figure out if there's some specific bones I can remove to stop the errant collisions. Removing the cape collisions by removing this seems to help:  <no-collide-with-tag>cloth</no-collide-with-tag>. Seems to help a bit with the cape getting twisted on itself as well.

 

For new physics: 

cloaknostretchnew.xml

 

 

Link to comment

hmm. still no solution. but here's an XML that fixes twisting in the old physics. removing the constraints for lateral connections and the restitution (bounce back) of the kinematic bones seems to have fixed twisting and relaxed the stiffness of the cape. it gives the movement a much more dramatic flair! I feel like zorro when i swish the cape around now. I think it might be my new standard cloak xml.

 

also tried messing around with the collision types vertex-vertex, triangle-vertex, and triangle-triangle. might save some time CPU time running the cape as a vertex mesh instead of triangle mesh and it has interesting behavior where vertices can pass each other if the margin is set low enough. very interesting stuff and should be experimented with. the body absolutely has to be run as a triangle mesh or vertices and perhaps even whole triangles may pass into the body during collisions. this XML also has the vertex-triangle collisions for the cape to the body. I'm not sure of the exact numbers but it should be on the order of a 50% reduction in CPU calculations required. perhaps try 20 NPCs with HDT capes if you want to see the CPU load difference.

 

Prevents the cape twisting up:

cloaknotwist.xml

Link to comment

Great. I don't think you have notifications set up for your post or something. I didn't see the usual notification for your responses to this post either. 

 

I can tweak it more if there's a certain behavior to want to achieve. Hope someone finds a solution to the latest Hydrogen physics because they definitely behave fundamentally different.

 

Also, there's a slight problem with hairs colliding with the cape right now so the hair slightly floats. Not sure how to fix it but it might be tags or margins. I'll let you know if I find a solution to that one small error.

Link to comment

I'm coming to the conclusion that there just won't be a "one size fits all" XML for capes. My observation has been that what looks good walking, running and jumping might not work so well for riding a horse/dragon or sneaking. I guess I can handle more than one cloak in my inventory for now. 

 

I'm really wishing there were more people interested in SMP clothing.  At the moment it seems most people are concerned breasts and such. Not that there is anything wrong with that, it's just not where my main interest lies.

Link to comment

i'm sure there are plenty of people interested in SMP Clothing (and Hair for that matter). Using a skined mesh collision system for just breast jiggle is kind of an overkill.

Its just that as of now the plugin is in a very early state. Lots of stuff gets changed between versions and potentially changes how xmls are to be set up. Just like with your capes.

I did play around with the xmls, but to me it just makes sense to wait a couple more months. I'm sure I'm not the only one and we will see more SMP clothing with later versions of the plugin.

Link to comment

Good news! I think the latest fixes by Hydrogen completely solved all our problems! It looks like it was a problem with bone constraints becoming jittery from unconstrained physics calculations. It looks like the cloaks don't even get stuck in twisted positions anymore from my testing. Actually ALL physics behave more sensibly and are improved in their response to XML edits with the latest update. I still prefer my smooth rider cape XML though!

Link to comment
6 hours ago, cminnow said:

Good news! I think the latest fixes by Hydrogen completely solved all our problems! It looks like it was a problem with bone constraints becoming jittery from unconstrained physics calculations. It looks like the cloaks don't even get stuck in twisted positions anymore from my testing. Actually ALL physics behave more sensibly and are improved in their response to XML edits with the latest update. I still prefer my smooth rider cape XML though!

Cool! I'll have to give it try.

Link to comment
On 1/27/2018 at 8:10 AM, TheWilloughbian said:

I'm really wishing there were more people interested in SMP clothing.  At the moment it seems most people are concerned breasts and such. Not that there is anything wrong with that, it's just not where my main interest lies.

Yeh, same here.  Jiggle is certainly nice of course, but I'm far more interested in equipment, clothing, and hair.  

 

But knowing that it's all actively being worked on now is good enough for me; I don't mind waiting.

Link to comment
39 minutes ago, TheWilloughbian said:

Updated. I'll try and get some textures out this week.

Cool. I was just about to ask if you could make some better textures since you sounded pretty experienced with texture editing! Do you know who made the original textures? Maybe I'll try my hand at making some too sometime. Do you have symbol design theme or are your just going to add blank colored versions first... or perhaps cool textured ones for different fabrics (stitched, knit, woven, ect.)?

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