diff --git a/app/Game/Asset/RubeDoll.json b/app/Game/Asset/RubeDoll.json index 6f526a2..a7b9312 100644 --- a/app/Game/Asset/RubeDoll.json +++ b/app/Game/Asset/RubeDoll.json @@ -23,17 +23,17 @@ { "x" : [ - 0.04692991077899933, - 0.04692991077899933, - -0.04692997038364410, - -0.04692997038364410 + 0.04692989960312843, + 0.04692989960312843, + -0.04693000018596649, + -0.04693000018596649 ], "y" : [ - -0.1895973682403564, - 0.1895966529846191, - 0.1895966529846191, - -0.1895973682403564 + -0.1895969957113266, + 0.1895969957113266, + 0.1895969957113266, + -0.1895969957113266 ] } } @@ -43,15 +43,15 @@ "massData-I" : 0.0004525936674326658, "massData-center" : { - "x" : -2.980232238769531e-08, - "y" : -3.576278686523438e-07 + "x" : -5.029141902923584e-08, + "y" : 0 }, "massData-mass" : 0.03559110686182976, "name" : "upperLeftArm", "position" : { - "x" : -0.1165364086627960, - "y" : 0.9012566804885864 + "x" : -0.1165359988808632, + "y" : 0.9012569785118103 }, "type" : 2 }, @@ -74,35 +74,35 @@ { "x" : [ - 0.1570899933576584, - 0.1570899933576584, - -0.1156369969248772, - -0.1156369969248772 + 0.1366278976202011, + 0.1366278976202011, + -0.1360991001129150, + -0.1360991001129150 ], "y" : [ - -0.3584159910678864, - 0.4034900069236755, - 0.4034900069236755, - -0.3584159910678864 + -0.3788780868053436, + 0.3830279111862183, + 0.3830279111862183, + -0.3788780868053436 ] } } } ], "linearVelocity" : 0, - "massData-I" : 0.01153474114835262, + "massData-I" : 0.01134084537625313, "massData-center" : { - "x" : 0.02072649449110031, - "y" : 0.02253700792789459 + "x" : 0.0002643987536430359, + "y" : 0.002074912190437317 }, - "massData-mass" : 0.2077923268079758, + "massData-mass" : 0.2077923566102982, "name" : "chest", "position" : { - "x" : -0.02137973159551620, - "y" : 0.7773683071136475 + "x" : 0.0007875636219978333, + "y" : 0.7995355725288391 }, "type" : 2 }, @@ -216,35 +216,35 @@ { "x" : [ - 0.07039503753185272, - 0.07039503753185272, - -0.07039495557546616, - -0.07039495557546616 + 0.07039500027894974, + 0.07039500027894974, + -0.07039500027894974, + -0.07039500027894974 ], "y" : [ - -0.09294363856315613, - 0.1277718394994736, - 0.1277718394994736, - -0.09294363856315613 + -0.09294360131025314, + 0.1277720034122467, + 0.1277720034122467, + -0.09294360131025314 ] } } } ], "linearVelocity" : 0, - "massData-I" : 0.0001869033440016210, + "massData-I" : 0.0001869037223514169, "massData-center" : { - "x" : 4.097818973036738e-08, - "y" : 0.01741409860551357 + "x" : 0, + "y" : 0.01741420105099678 }, - "massData-mass" : 0.03107452951371670, + "massData-mass" : 0.03107454814016819, "name" : "lowerLeftLeg", "position" : { - "x" : -0.04570891708135605, - "y" : 0.09799571335315704 + "x" : -0.03829947486519814, + "y" : 0.09799569845199585 }, "type" : 2 }, @@ -320,33 +320,33 @@ [ 0.04693000018596649, 0.04693000018596649, - -0.04693005979061127, - -0.04693005979061127 + -0.04693010076880455, + -0.04693010076880455 ], "y" : [ - -0.1895973682403564, - 0.1895966529846191, - 0.1895966529846191, - -0.1895973682403564 + -0.1895969957113266, + 0.1895969957113266, + 0.1895969957113266, + -0.1895969957113266 ] } } } ], "linearVelocity" : 0, - "massData-I" : 0.0004525946278590709, + "massData-I" : 0.0004525947733782232, "massData-center" : { - "x" : -2.980232238769531e-08, - "y" : -3.576278686523438e-07 + "x" : -5.029141902923584e-08, + "y" : 0 }, - "massData-mass" : 0.03559117391705513, + "massData-mass" : 0.03559118881821632, "name" : "upperRightArm", "position" : { - "x" : 0.1183081120252609, - "y" : 0.9012566804885864 + "x" : 0.1183080002665520, + "y" : 0.9012569785118103 }, "type" : 2 }, @@ -396,8 +396,8 @@ "name" : "upperRightLeg", "position" : { - "x" : 0.04785731062293053, - "y" : 0.3325108885765076 + "x" : 0.03859551250934601, + "y" : 0.3325110077857971 }, "type" : 2 }, @@ -447,8 +447,8 @@ "name" : "upperLeftLeg", "position" : { - "x" : -0.04570891708135605, - "y" : 0.3325108885765076 + "x" : -0.03829947486519814, + "y" : 0.3325110077857971 }, "type" : 2 }, @@ -471,16 +471,16 @@ { "x" : [ - 0.07039496302604675, - 0.07039496302604675, - -0.07039486616849899, - -0.07039486616849899 + 0.07039500027894974, + 0.07039500027894974, + -0.07039490342140198, + -0.07039490342140198 ], "y" : [ -0.09294389933347702, - 0.1276105940341949, - 0.1276105940341949, + 0.1276109963655472, + 0.1276109963655472, -0.09294389933347702 ] } @@ -488,18 +488,18 @@ } ], "linearVelocity" : 0, - "massData-I" : 0.0001864957448560745, + "massData-I" : 0.0001864968799054623, "massData-center" : { "x" : 4.842877032729120e-08, - "y" : 0.01733334921300411 + "y" : 0.01733354665338993 }, - "massData-mass" : 0.03105182945728302, + "massData-mass" : 0.03105190023779869, "name" : "lowerRightLeg", "position" : { - "x" : 0.04785731062293053, - "y" : 0.09799571335315704 + "x" : 0.03859551250934601, + "y" : 0.09799569845199585 }, "type" : 2 } @@ -554,33 +554,183 @@ { "anchorA" : { - "x" : 0.02210754156112671, - "y" : 0.4607425928115845 + "x" : 0.0003538504242897034, + "y" : 0.07107692956924438 }, "anchorB" : { - "x" : -0.02544101513922215, - "y" : -0.2591779232025146 + "x" : 0.0003536641597747803, + "y" : -0.1459649801254272 }, - "bodyA" : 1, - "bodyB" : 2, + "bodyA" : 3, + "bodyB" : 6, "enableLimit" : true, "enableMotor" : false, "jointSpeed" : 0, - "lowerLimit" : -0.6981316804885864, - "maxMotorTorque" : 0, + "lowerLimit" : 0.01745329238474369, + "maxMotorTorque" : 1, "motorSpeed" : 0, - "name" : "joint9", + "name" : "joint1", "refAngle" : 0, "type" : "revolute", - "upperLimit" : 1.221730470657349 + "upperLimit" : 1.919862151145935 + }, + + { + "anchorA" : + { + "x" : -0.0007802955806255341, + "y" : -0.1484909951686859 + }, + "anchorB" : + { + "x" : -0.0007801018655300140, + "y" : 0.08614099025726318 + }, + "bodyA" : 8, + "bodyB" : 4, + "enableLimit" : true, + "enableMotor" : false, + "jointSpeed" : 0, + "lowerLimit" : 0.01745329238474369, + "maxMotorTorque" : 1, + "motorSpeed" : 0, + "name" : "joint7", + "refAngle" : 0, + "type" : "revolute", + "upperLimit" : 2.443460941314697 + }, + + { + "anchorA" : + { + "x" : -0.004979588091373444, + "y" : -0.1506859958171844 + }, + "anchorB" : + { + "x" : -0.005973689258098602, + "y" : 0.08482310175895691 + }, + "bodyA" : 7, + "bodyB" : 9, + "enableLimit" : true, + "enableMotor" : false, + "jointSpeed" : 0, + "lowerLimit" : 0.01745329238474369, + "maxMotorTorque" : 1, + "motorSpeed" : 0, + "name" : "joint8", + "refAngle" : 0, + "type" : "revolute", + "upperLimit" : 2.443460941314697 + }, + + { + "anchorA" : + { + "x" : -0.06799955666065216, + "y" : -0.3021813035011292 + }, + "anchorB" : + { + "x" : -0.02891255542635918, + "y" : 0.1648437976837158 + }, + "bodyA" : 1, + "bodyB" : 8, + "enableLimit" : true, + "enableMotor" : false, + "jointSpeed" : 0, + "lowerLimit" : -0.7853981852531433, + "maxMotorTorque" : 1, + "motorSpeed" : 0, + "name" : "joint6", + "refAngle" : 0, + "type" : "revolute", + "upperLimit" : 1.570796370506287 + }, + + { + "anchorA" : + { + "x" : 0.06260262429714203, + "y" : -0.3029872477054596 + }, + "anchorB" : + { + "x" : 0.02294230461120605, + "y" : 0.1640380322933197 + }, + "bodyA" : 1, + "bodyB" : 7, + "enableLimit" : true, + "enableMotor" : false, + "jointSpeed" : 0, + "lowerLimit" : -0.7853981852531433, + "maxMotorTorque" : 1, + "motorSpeed" : 0, + "name" : "joint5", + "refAngle" : 0, + "type" : "revolute", + "upperLimit" : 1.570796370506287 + }, + + { + "anchorA" : + { + "x" : 0.1179294362664223, + "y" : 0.2464744448661804 + }, + "anchorB" : + { + "x" : 0.0004089996218681335, + "y" : 0.1447530388832092 + }, + "bodyA" : 1, + "bodyB" : 6, + "enableLimit" : false, + "enableMotor" : false, + "jointSpeed" : 0, + "lowerLimit" : -2.268928050994873, + "maxMotorTorque" : 1, + "motorSpeed" : 0, + "name" : "joint2", + "refAngle" : 0, + "type" : "revolute", + "upperLimit" : 3.141592741012573 + }, + + { + "anchorA" : + { + "x" : -0.1188285648822784, + "y" : 0.2521644234657288 + }, + "anchorB" : + { + "x" : -0.001505002379417419, + "y" : 0.1504430174827576 + }, + "bodyA" : 1, + "bodyB" : 0, + "enableLimit" : false, + "enableMotor" : false, + "jointSpeed" : 0, + "lowerLimit" : -2.268928050994873, + "maxMotorTorque" : 1, + "motorSpeed" : 0, + "name" : "joint3", + "refAngle" : 0, + "type" : "revolute", + "upperLimit" : 3.141592741012573 }, { "anchorA" : { "x" : 0.0008554458618164062, - "y" : -0.1461489200592041 + "y" : -0.1461489796638489 }, "anchorB" : { @@ -604,176 +754,26 @@ { "anchorA" : { - "x" : -0.09517394006252289, - "y" : 0.2718780040740967 + "x" : 0.02210754156112671, + "y" : 0.4607425332069397 }, "anchorB" : { - "x" : -1.741945743560791e-05, - "y" : 0.1479903459548950 + "x" : -0.02544101513922215, + "y" : -0.2591779232025146 }, "bodyA" : 1, - "bodyB" : 0, - "enableLimit" : false, - "enableMotor" : false, - "jointSpeed" : 0, - "lowerLimit" : -2.268928050994873, - "maxMotorTorque" : 1, - "motorSpeed" : 0, - "name" : "joint3", - "refAngle" : 0, - "type" : "revolute", - "upperLimit" : 3.141592741012573 - }, - - { - "anchorA" : - { - "x" : 0.1116365119814873, - "y" : -0.2944114208221436 - }, - "anchorB" : - { - "x" : 0.04127830639481544, - "y" : 0.1504460573196411 - }, - "bodyA" : 1, - "bodyB" : 7, + "bodyB" : 2, "enableLimit" : true, "enableMotor" : false, "jointSpeed" : 0, - "lowerLimit" : -0.7853981852531433, - "maxMotorTorque" : 1, + "lowerLimit" : -0.6981316804885864, + "maxMotorTorque" : 0, "motorSpeed" : 0, - "name" : "joint5", + "name" : "joint9", "refAngle" : 0, "type" : "revolute", - "upperLimit" : 1.570796370506287 - }, - - { - "anchorA" : - { - "x" : -0.06799929589033127, - "y" : -0.2890855073928833 - }, - "anchorB" : - { - "x" : -0.04493143409490585, - "y" : 0.1559127867221832 - }, - "bodyA" : 1, - "bodyB" : 8, - "enableLimit" : true, - "enableMotor" : false, - "jointSpeed" : 0, - "lowerLimit" : -0.7853981852531433, - "maxMotorTorque" : 1, - "motorSpeed" : 0, - "name" : "joint6", - "refAngle" : 0, - "type" : "revolute", - "upperLimit" : 1.570796370506287 - }, - - { - "anchorA" : - { - "x" : 0.1396137326955795, - "y" : 0.2701327800750732 - }, - "anchorB" : - { - "x" : -7.455050945281982e-05, - "y" : 0.1462446451187134 - }, - "bodyA" : 1, - "bodyB" : 6, - "enableLimit" : false, - "enableMotor" : false, - "jointSpeed" : 0, - "lowerLimit" : -2.268928050994873, - "maxMotorTorque" : 1, - "motorSpeed" : 0, - "name" : "joint2", - "refAngle" : 0, - "type" : "revolute", - "upperLimit" : 3.141592741012573 - }, - - { - "anchorA" : - { - "x" : 0.0003538504242897034, - "y" : 0.07107692956924438 - }, - "anchorB" : - { - "x" : 0.0003536641597747803, - "y" : -0.1459646224975586 - }, - "bodyA" : 3, - "bodyB" : 6, - "enableLimit" : true, - "enableMotor" : false, - "jointSpeed" : 0, - "lowerLimit" : -1.919862151145935, - "maxMotorTorque" : 1, - "motorSpeed" : 0, - "name" : "joint1", - "refAngle" : 0, - "type" : "revolute", - "upperLimit" : 0 - }, - - { - "anchorA" : - { - "x" : 0.001979876309633255, - "y" : -0.1506856828927994 - }, - "anchorB" : - { - "x" : 0.001979988068342209, - "y" : 0.08382888138294220 - }, - "bodyA" : 7, - "bodyB" : 9, - "enableLimit" : true, - "enableMotor" : false, - "jointSpeed" : 0, - "lowerLimit" : 0.01745329238474369, - "maxMotorTorque" : 1, - "motorSpeed" : 0, - "name" : "joint8", - "refAngle" : 0, - "type" : "revolute", - "upperLimit" : 2.268928050994873 - }, - - { - "anchorA" : - { - "x" : -0.0007802955806255341, - "y" : -0.1484908312559128 - }, - "anchorB" : - { - "x" : -0.0007801018655300140, - "y" : 0.08614097535610199 - }, - "bodyA" : 8, - "bodyB" : 4, - "enableLimit" : true, - "enableMotor" : false, - "jointSpeed" : 0, - "lowerLimit" : 0.01745329238474369, - "maxMotorTorque" : 1, - "motorSpeed" : 0, - "name" : "joint7", - "refAngle" : 0, - "type" : "revolute", - "upperLimit" : 2.268928050994873 + "upperLimit" : 1.221730470657349 } ], "positionIterations" : 3, diff --git a/app/Game/Client/GameObjects/Items/RubeDoll.js b/app/Game/Client/GameObjects/Items/RubeDoll.js index 4075560..659cd08 100644 --- a/app/Game/Client/GameObjects/Items/RubeDoll.js +++ b/app/Game/Client/GameObjects/Items/RubeDoll.js @@ -37,21 +37,21 @@ function (Parent, Layer, Settings, Nc) { }; limbOptions.upperRightLeg = { - width: 4, - height: 9, + width: 5, + height: 8, x: 2, y: limbOptions.chest.height / 2 }; limbOptions.lowerLeftLeg = { - width: 4, + width: 5, height: 4, x: -2, y: limbOptions.chest.height / 2 + limbOptions.upperLeftLeg.height }; limbOptions.lowerRightLeg = { - width: 4, + width: 5, height: 4, x: 2, y: limbOptions.chest.height / 2 + limbOptions.upperRightLeg.height @@ -60,28 +60,28 @@ function (Parent, Layer, Settings, Nc) { limbOptions.upperLeftArm = { - width: 2, + width: 4, height: 8, x: -2, y: -limbOptions.chest.height / 2 }; limbOptions.upperRightArm = { - width: 3, + width: 4, height: 8, x: 2, y: -limbOptions.chest.height / 2 }; limbOptions.lowerLeftArm = { - width: 2, + width: 4, height: 5, x: -2, y: -limbOptions.chest.height / 2 + limbOptions.upperLeftArm.height }; limbOptions.lowerRightArm = { - width: 2, + width: 4, height: 5, x: 2, y: -limbOptions.chest.height / 2 + limbOptions.upperRightArm.height @@ -93,7 +93,9 @@ function (Parent, Layer, Settings, Nc) { this.limbMeshes = {}; this.baseMeshName = "chest"; this.characterName = "Chuck"; - this.lastFlipDirection = 1; + this.lastFlipDirection = -options.direction || 1; + + console.log(this.lastFlipDirection); Parent.call(this, physicsEngine, uid, options); } @@ -187,22 +189,10 @@ function (Parent, Layer, Settings, Nc) { RubeDoll.prototype.flip = function(direction) { Parent.prototype.flip.call(this, direction); - if(this.limbs) { - for(var name in this.limbMeshes) { - if(this.limbs[name]) { - Nc.trigger(Nc.ns.client.view.mesh.update, - this.layerId, - this.limbMeshes[name], - { - xScale: direction, - } - ); - } - } - } + console.log("last", this.lastFlipDirection, "now", direction); // flipping depth of right body side arm/leg images with left - if (this.lastFlipDirection != direction) { + if (this.lastFlipDirection != direction) { // FIXME : this is a bit broken. this.lastFlipDirection = direction; @@ -226,6 +216,28 @@ function (Parent, Layer, Settings, Nc) { this.limbMeshes["upperRightArm"], this.limbMeshes["upperLeftArm"] ); + + // swap short images + Nc.trigger(Nc.ns.client.view.mesh.swapMeshes, + this.layerId, + this.limbMeshes["upperRightLeg"], + this.limbMeshes["upperLeftLeg"] + ); + } + + // x flipping has to happen after (see swapMeshes) + if(this.limbs) { + for(var name in this.limbMeshes) { + if(this.limbs[name]) { + Nc.trigger(Nc.ns.client.view.mesh.update, + this.layerId, + this.limbMeshes[name], + { + xScale: direction, + } + ); + } + } } }; diff --git a/app/Game/Core/GameObjects/Items/RubeDoll.js b/app/Game/Core/GameObjects/Items/RubeDoll.js index eeca209..f30d53b 100644 --- a/app/Game/Core/GameObjects/Items/RubeDoll.js +++ b/app/Game/Core/GameObjects/Items/RubeDoll.js @@ -33,7 +33,7 @@ function (Parent, RubeLoader, Box2D, Settings, Assert, Nc, RubeDollJson) { this.body.SetUserData(this); - this.flip(options.direction); + this.flip(options.direction || 1); } RubeDoll.prototype = Object.create(Parent.prototype); @@ -41,6 +41,8 @@ function (Parent, RubeLoader, Box2D, Settings, Assert, Nc, RubeDollJson) { RubeDoll.prototype.loadRubeDollFromScene = function(options) { var scene = this.rubeLoader.getScene(); + + for (var i in scene.bodies) { var body = scene.bodies[i]; var position = body.GetPosition().Copy(); @@ -50,6 +52,15 @@ function (Parent, RubeLoader, Box2D, Settings, Assert, Nc, RubeDollJson) { )); body.SetPosition(position); this.limbs[body.name] = body; + + // code snipped possibly needed for filtering between doll and rubedoll while holding + //var filterData = new Box2D.Dynamics.b2FilterData(); + //filterData.groupIndex = -66; + //if(body.name != "head" && body.name != "chest") { + // for (var fixture = body.GetFixtureList(); fixture; fixture = fixture.GetNext()) { + // fixture.SetFilterData(filterData); + // } + //} } this.joints = scene.joints; diff --git a/static/img/Characters/Chuck/lowerLeftArm.png b/static/img/Characters/Chuck/lowerLeftArm.png index fb43dd5..85d7ac4 100755 Binary files a/static/img/Characters/Chuck/lowerLeftArm.png and b/static/img/Characters/Chuck/lowerLeftArm.png differ diff --git a/static/img/Characters/Chuck/lowerLeftLeg.png b/static/img/Characters/Chuck/lowerLeftLeg.png index 2314dec..c7b0803 100755 Binary files a/static/img/Characters/Chuck/lowerLeftLeg.png and b/static/img/Characters/Chuck/lowerLeftLeg.png differ diff --git a/static/img/Characters/Chuck/lowerRightArm.png b/static/img/Characters/Chuck/lowerRightArm.png index 2d64327..0a43089 100755 Binary files a/static/img/Characters/Chuck/lowerRightArm.png and b/static/img/Characters/Chuck/lowerRightArm.png differ diff --git a/static/img/Characters/Chuck/lowerRightLeg.png b/static/img/Characters/Chuck/lowerRightLeg.png index 2314dec..1d7c7b8 100755 Binary files a/static/img/Characters/Chuck/lowerRightLeg.png and b/static/img/Characters/Chuck/lowerRightLeg.png differ diff --git a/static/img/Characters/Chuck/upperLeftArm.png b/static/img/Characters/Chuck/upperLeftArm.png index 5a15fbe..61258a8 100755 Binary files a/static/img/Characters/Chuck/upperLeftArm.png and b/static/img/Characters/Chuck/upperLeftArm.png differ diff --git a/static/img/Characters/Chuck/upperRightArm.png b/static/img/Characters/Chuck/upperRightArm.png index 44bf6cf..cd31fce 100755 Binary files a/static/img/Characters/Chuck/upperRightArm.png and b/static/img/Characters/Chuck/upperRightArm.png differ diff --git a/static/img/Characters/Chuck/upperRightLeg.png b/static/img/Characters/Chuck/upperRightLeg.png index 11b5f29..c8ab6d6 100644 Binary files a/static/img/Characters/Chuck/upperRightLeg.png and b/static/img/Characters/Chuck/upperRightLeg.png differ diff --git a/static/items/rube/ragdoll.rube b/static/items/rube/ragdoll.rube index 7024172..bbe7d2d 100644 --- a/static/items/rube/ragdoll.rube +++ b/static/items/rube/ragdoll.rube @@ -84,16 +84,16 @@ { "x" : [ - 0.07039496302604675, - 0.07039496302604675, - -0.07039486616849899, - -0.07039486616849899 + 0.07039500027894974, + 0.07039500027894974, + -0.07039490342140198, + -0.07039490342140198 ], "y" : [ -0.09294389933347702, - 0.1276105940341949, - 0.1276105940341949, + 0.1276109963655472, + 0.1276109963655472, -0.09294389933347702 ] } @@ -101,18 +101,18 @@ ], "id" : 1, "linearVelocity" : 0, - "massData-I" : 0.0001864957448560745, + "massData-I" : 0.0001864968799054623, "massData-center" : { "x" : 4.842877032729120e-08, - "y" : 0.01733334921300411 + "y" : 0.01733354665338993 }, - "massData-mass" : 0.03105182945728302, + "massData-mass" : 0.03105190023779869, "name" : "lowerRightLeg", "position" : { - "x" : 0.04785731062293053, - "y" : 0.09799571335315704 + "x" : 0.03859551250934601, + "y" : 0.09799569845199585 }, "type" : "dynamic" }, @@ -168,8 +168,8 @@ "name" : "upperLeftLeg", "position" : { - "x" : -0.04570891708135605, - "y" : 0.3325108885765076 + "x" : -0.03829947486519814, + "y" : 0.3325110077857971 }, "type" : "dynamic" }, @@ -225,8 +225,8 @@ "name" : "upperRightLeg", "position" : { - "x" : 0.04785731062293053, - "y" : 0.3325108885765076 + "x" : 0.03859551250934601, + "y" : 0.3325110077857971 }, "type" : "dynamic" }, @@ -257,33 +257,33 @@ [ 0.04693000018596649, 0.04693000018596649, - -0.04693005979061127, - -0.04693005979061127 + -0.04693010076880455, + -0.04693010076880455 ], "y" : [ - -0.1895973682403564, - 0.1895966529846191, - 0.1895966529846191, - -0.1895973682403564 + -0.1895969957113266, + 0.1895969957113266, + 0.1895969957113266, + -0.1895969957113266 ] } } ], "id" : 4, "linearVelocity" : 0, - "massData-I" : 0.0004525946278590709, + "massData-I" : 0.0004525947733782232, "massData-center" : { - "x" : -2.980232238769531e-08, - "y" : -3.576278686523438e-07 + "x" : -5.029141902923584e-08, + "y" : 0 }, - "massData-mass" : 0.03559117391705513, + "massData-mass" : 0.03559118881821632, "name" : "upperRightArm", "position" : { - "x" : 0.1183081120252609, - "y" : 0.9012566804885864 + "x" : 0.1183080002665520, + "y" : 0.9012569785118103 }, "type" : "dynamic" }, @@ -369,35 +369,35 @@ { "x" : [ - 0.07039503753185272, - 0.07039503753185272, - -0.07039495557546616, - -0.07039495557546616 + 0.07039500027894974, + 0.07039500027894974, + -0.07039500027894974, + -0.07039500027894974 ], "y" : [ - -0.09294363856315613, - 0.1277718394994736, - 0.1277718394994736, - -0.09294363856315613 + -0.09294360131025314, + 0.1277720034122467, + 0.1277720034122467, + -0.09294360131025314 ] } } ], "id" : 6, "linearVelocity" : 0, - "massData-I" : 0.0001869033440016210, + "massData-I" : 0.0001869037223514169, "massData-center" : { - "x" : 4.097818973036738e-08, - "y" : 0.01741409860551357 + "x" : 0, + "y" : 0.01741420105099678 }, - "massData-mass" : 0.03107452951371670, + "massData-mass" : 0.03107454814016819, "name" : "lowerLeftLeg", "position" : { - "x" : -0.04570891708135605, - "y" : 0.09799571335315704 + "x" : -0.03829947486519814, + "y" : 0.09799569845199585 }, "type" : "dynamic" }, @@ -529,35 +529,35 @@ { "x" : [ - -0.1156369969248772, - 0.1570899933576584, - 0.1570899933576584, - -0.1156369969248772 + -0.1360991001129150, + 0.1366278976202011, + 0.1366278976202011, + -0.1360991001129150 ], "y" : [ - -0.3584159910678864, - -0.3584159910678864, - 0.4034900069236755, - 0.4034900069236755 + -0.3788780868053436, + -0.3788780868053436, + 0.3830279111862183, + 0.3830279111862183 ] } } ], "id" : 9, "linearVelocity" : 0, - "massData-I" : 0.01153474114835262, + "massData-I" : 0.01134084537625313, "massData-center" : { - "x" : 0.02072649449110031, - "y" : 0.02253700792789459 + "x" : 0.0002643987536430359, + "y" : 0.002074912190437317 }, - "massData-mass" : 0.2077923268079758, + "massData-mass" : 0.2077923566102982, "name" : "chest", "position" : { - "x" : -0.02137973159551620, - "y" : 0.7773683071136475 + "x" : 0.0007875636219978333, + "y" : 0.7995355725288391 }, "type" : "dynamic" }, @@ -586,17 +586,17 @@ { "x" : [ - 0.04692991077899933, - 0.04692991077899933, - -0.04692997038364410, - -0.04692997038364410 + 0.04692989960312843, + 0.04692989960312843, + -0.04693000018596649, + -0.04693000018596649 ], "y" : [ - -0.1895973682403564, - 0.1895966529846191, - 0.1895966529846191, - -0.1895973682403564 + -0.1895969957113266, + 0.1895969957113266, + 0.1895969957113266, + -0.1895969957113266 ] } } @@ -606,15 +606,15 @@ "massData-I" : 0.0004525936674326658, "massData-center" : { - "x" : -2.980232238769531e-08, - "y" : -3.576278686523438e-07 + "x" : -5.029141902923584e-08, + "y" : 0 }, "massData-mass" : 0.03559110686182976, "name" : "upperLeftArm", "position" : { - "x" : -0.1165364086627960, - "y" : 0.9012566804885864 + "x" : -0.1165359988808632, + "y" : 0.9012569785118103 }, "type" : "dynamic" } @@ -625,13 +625,13 @@ { "anchorA" : { - "x" : -0.0007802955806255341, - "y" : -0.1484908312559128 + "x" : -0.0007802959880791605, + "y" : -0.1484909951686859 }, "anchorB" : { - "x" : -0.0007801018655300140, - "y" : 0.08614096790552139 + "x" : -0.0007801019819453359, + "y" : 0.08614099770784378 }, "bodyA" : 2, "bodyB" : 6, @@ -645,19 +645,19 @@ "name" : "joint7", "referenceAngle" : 0, "type" : "revolute", - "upperLimit" : 2.268928050994873 + "upperLimit" : 2.443460941314697 }, { "anchorA" : { - "x" : 0.001979876309633255, - "y" : -0.1506856828927994 + "x" : -0.004979589954018593, + "y" : -0.1506859958171844 }, "anchorB" : { - "x" : 0.001979988068342209, - "y" : 0.08382887393236160 + "x" : -0.005973690189421177, + "y" : 0.08482310175895691 }, "bodyA" : 3, "bodyB" : 1, @@ -671,7 +671,7 @@ "name" : "joint8", "referenceAngle" : 0, "type" : "revolute", - "upperLimit" : 2.268928050994873 + "upperLimit" : 2.443460941314697 }, { @@ -682,8 +682,8 @@ }, "anchorB" : { - "x" : 0.0003536641597747803, - "y" : -0.1459646224975586 + "x" : 0.0003536640142556280, + "y" : -0.1459649950265884 }, "bodyA" : 7, "bodyB" : 4, @@ -691,25 +691,25 @@ "enableLimit" : true, "enableMotor" : false, "id" : 3, - "lowerLimit" : -1.919862151145935, + "lowerLimit" : 0.01745329238474369, "maxMotorTorque" : 1, "motorSpeed" : 0, "name" : "joint1", "referenceAngle" : 0, "type" : "revolute", - "upperLimit" : 0 + "upperLimit" : 1.919862151145935 }, { "anchorA" : { - "x" : 0.1396137326955795, - "y" : 0.2701327204704285 + "x" : 0.1179294362664223, + "y" : 0.2464744448661804 }, "anchorB" : { - "x" : -7.455050945281982e-05, - "y" : 0.1462445855140686 + "x" : 0.0004089996218681335, + "y" : 0.1447530388832092 }, "bodyA" : 9, "bodyB" : 4, @@ -729,13 +729,13 @@ { "anchorA" : { - "x" : -0.06799929589033127, - "y" : -0.2890855073928833 + "x" : -0.06799955666065216, + "y" : -0.3021813035011292 }, "anchorB" : { - "x" : -0.04493143782019615, - "y" : 0.1559127867221832 + "x" : -0.02891255542635918, + "y" : 0.1648437976837158 }, "bodyA" : 9, "bodyB" : 2, @@ -755,13 +755,13 @@ { "anchorA" : { - "x" : 0.1116365119814873, - "y" : -0.2944114208221436 + "x" : 0.06260262429714203, + "y" : -0.3029872477054596 }, "anchorB" : { - "x" : 0.04127831012010574, - "y" : 0.1504460573196411 + "x" : 0.02294230461120605, + "y" : 0.1640380322933197 }, "bodyA" : 9, "bodyB" : 3, @@ -781,13 +781,13 @@ { "anchorA" : { - "x" : -0.09517394006252289, - "y" : 0.2718779444694519 + "x" : -0.1188285648822784, + "y" : 0.2521644234657288 }, "anchorB" : { - "x" : -1.741945743560791e-05, - "y" : 0.1479902863502502 + "x" : -0.001505002379417419, + "y" : 0.1504430174827576 }, "bodyA" : 9, "bodyB" : 10, @@ -807,8 +807,8 @@ { "anchorA" : { - "x" : 0.0008554458618164062, - "y" : -0.1461489200592041 + "x" : 0.0008554459782317281, + "y" : -0.1461489945650101 }, "anchorB" : {