improving rube doll flipping behaviour and positioning

This commit is contained in:
logsol 2015-05-06 20:15:22 +02:00
parent ec7ce459cb
commit 6d8609b475
11 changed files with 383 additions and 360 deletions

View file

@ -23,17 +23,17 @@
{ {
"x" : "x" :
[ [
0.04692991077899933, 0.04692989960312843,
0.04692991077899933, 0.04692989960312843,
-0.04692997038364410, -0.04693000018596649,
-0.04692997038364410 -0.04693000018596649
], ],
"y" : "y" :
[ [
-0.1895973682403564, -0.1895969957113266,
0.1895966529846191, 0.1895969957113266,
0.1895966529846191, 0.1895969957113266,
-0.1895973682403564 -0.1895969957113266
] ]
} }
} }
@ -43,15 +43,15 @@
"massData-I" : 0.0004525936674326658, "massData-I" : 0.0004525936674326658,
"massData-center" : "massData-center" :
{ {
"x" : -2.980232238769531e-08, "x" : -5.029141902923584e-08,
"y" : -3.576278686523438e-07 "y" : 0
}, },
"massData-mass" : 0.03559110686182976, "massData-mass" : 0.03559110686182976,
"name" : "upperLeftArm", "name" : "upperLeftArm",
"position" : "position" :
{ {
"x" : -0.1165364086627960, "x" : -0.1165359988808632,
"y" : 0.9012566804885864 "y" : 0.9012569785118103
}, },
"type" : 2 "type" : 2
}, },
@ -74,35 +74,35 @@
{ {
"x" : "x" :
[ [
0.1570899933576584, 0.1366278976202011,
0.1570899933576584, 0.1366278976202011,
-0.1156369969248772, -0.1360991001129150,
-0.1156369969248772 -0.1360991001129150
], ],
"y" : "y" :
[ [
-0.3584159910678864, -0.3788780868053436,
0.4034900069236755, 0.3830279111862183,
0.4034900069236755, 0.3830279111862183,
-0.3584159910678864 -0.3788780868053436
] ]
} }
} }
} }
], ],
"linearVelocity" : 0, "linearVelocity" : 0,
"massData-I" : 0.01153474114835262, "massData-I" : 0.01134084537625313,
"massData-center" : "massData-center" :
{ {
"x" : 0.02072649449110031, "x" : 0.0002643987536430359,
"y" : 0.02253700792789459 "y" : 0.002074912190437317
}, },
"massData-mass" : 0.2077923268079758, "massData-mass" : 0.2077923566102982,
"name" : "chest", "name" : "chest",
"position" : "position" :
{ {
"x" : -0.02137973159551620, "x" : 0.0007875636219978333,
"y" : 0.7773683071136475 "y" : 0.7995355725288391
}, },
"type" : 2 "type" : 2
}, },
@ -216,35 +216,35 @@
{ {
"x" : "x" :
[ [
0.07039503753185272, 0.07039500027894974,
0.07039503753185272, 0.07039500027894974,
-0.07039495557546616, -0.07039500027894974,
-0.07039495557546616 -0.07039500027894974
], ],
"y" : "y" :
[ [
-0.09294363856315613, -0.09294360131025314,
0.1277718394994736, 0.1277720034122467,
0.1277718394994736, 0.1277720034122467,
-0.09294363856315613 -0.09294360131025314
] ]
} }
} }
} }
], ],
"linearVelocity" : 0, "linearVelocity" : 0,
"massData-I" : 0.0001869033440016210, "massData-I" : 0.0001869037223514169,
"massData-center" : "massData-center" :
{ {
"x" : 4.097818973036738e-08, "x" : 0,
"y" : 0.01741409860551357 "y" : 0.01741420105099678
}, },
"massData-mass" : 0.03107452951371670, "massData-mass" : 0.03107454814016819,
"name" : "lowerLeftLeg", "name" : "lowerLeftLeg",
"position" : "position" :
{ {
"x" : -0.04570891708135605, "x" : -0.03829947486519814,
"y" : 0.09799571335315704 "y" : 0.09799569845199585
}, },
"type" : 2 "type" : 2
}, },
@ -320,33 +320,33 @@
[ [
0.04693000018596649, 0.04693000018596649,
0.04693000018596649, 0.04693000018596649,
-0.04693005979061127, -0.04693010076880455,
-0.04693005979061127 -0.04693010076880455
], ],
"y" : "y" :
[ [
-0.1895973682403564, -0.1895969957113266,
0.1895966529846191, 0.1895969957113266,
0.1895966529846191, 0.1895969957113266,
-0.1895973682403564 -0.1895969957113266
] ]
} }
} }
} }
], ],
"linearVelocity" : 0, "linearVelocity" : 0,
"massData-I" : 0.0004525946278590709, "massData-I" : 0.0004525947733782232,
"massData-center" : "massData-center" :
{ {
"x" : -2.980232238769531e-08, "x" : -5.029141902923584e-08,
"y" : -3.576278686523438e-07 "y" : 0
}, },
"massData-mass" : 0.03559117391705513, "massData-mass" : 0.03559118881821632,
"name" : "upperRightArm", "name" : "upperRightArm",
"position" : "position" :
{ {
"x" : 0.1183081120252609, "x" : 0.1183080002665520,
"y" : 0.9012566804885864 "y" : 0.9012569785118103
}, },
"type" : 2 "type" : 2
}, },
@ -396,8 +396,8 @@
"name" : "upperRightLeg", "name" : "upperRightLeg",
"position" : "position" :
{ {
"x" : 0.04785731062293053, "x" : 0.03859551250934601,
"y" : 0.3325108885765076 "y" : 0.3325110077857971
}, },
"type" : 2 "type" : 2
}, },
@ -447,8 +447,8 @@
"name" : "upperLeftLeg", "name" : "upperLeftLeg",
"position" : "position" :
{ {
"x" : -0.04570891708135605, "x" : -0.03829947486519814,
"y" : 0.3325108885765076 "y" : 0.3325110077857971
}, },
"type" : 2 "type" : 2
}, },
@ -471,16 +471,16 @@
{ {
"x" : "x" :
[ [
0.07039496302604675, 0.07039500027894974,
0.07039496302604675, 0.07039500027894974,
-0.07039486616849899, -0.07039490342140198,
-0.07039486616849899 -0.07039490342140198
], ],
"y" : "y" :
[ [
-0.09294389933347702, -0.09294389933347702,
0.1276105940341949, 0.1276109963655472,
0.1276105940341949, 0.1276109963655472,
-0.09294389933347702 -0.09294389933347702
] ]
} }
@ -488,18 +488,18 @@
} }
], ],
"linearVelocity" : 0, "linearVelocity" : 0,
"massData-I" : 0.0001864957448560745, "massData-I" : 0.0001864968799054623,
"massData-center" : "massData-center" :
{ {
"x" : 4.842877032729120e-08, "x" : 4.842877032729120e-08,
"y" : 0.01733334921300411 "y" : 0.01733354665338993
}, },
"massData-mass" : 0.03105182945728302, "massData-mass" : 0.03105190023779869,
"name" : "lowerRightLeg", "name" : "lowerRightLeg",
"position" : "position" :
{ {
"x" : 0.04785731062293053, "x" : 0.03859551250934601,
"y" : 0.09799571335315704 "y" : 0.09799569845199585
}, },
"type" : 2 "type" : 2
} }
@ -554,33 +554,183 @@
{ {
"anchorA" : "anchorA" :
{ {
"x" : 0.02210754156112671, "x" : 0.0003538504242897034,
"y" : 0.4607425928115845 "y" : 0.07107692956924438
}, },
"anchorB" : "anchorB" :
{ {
"x" : -0.02544101513922215, "x" : 0.0003536641597747803,
"y" : -0.2591779232025146 "y" : -0.1459649801254272
}, },
"bodyA" : 1, "bodyA" : 3,
"bodyB" : 2, "bodyB" : 6,
"enableLimit" : true, "enableLimit" : true,
"enableMotor" : false, "enableMotor" : false,
"jointSpeed" : 0, "jointSpeed" : 0,
"lowerLimit" : -0.6981316804885864, "lowerLimit" : 0.01745329238474369,
"maxMotorTorque" : 0, "maxMotorTorque" : 1,
"motorSpeed" : 0, "motorSpeed" : 0,
"name" : "joint9", "name" : "joint1",
"refAngle" : 0, "refAngle" : 0,
"type" : "revolute", "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" : "anchorA" :
{ {
"x" : 0.0008554458618164062, "x" : 0.0008554458618164062,
"y" : -0.1461489200592041 "y" : -0.1461489796638489
}, },
"anchorB" : "anchorB" :
{ {
@ -604,176 +754,26 @@
{ {
"anchorA" : "anchorA" :
{ {
"x" : -0.09517394006252289, "x" : 0.02210754156112671,
"y" : 0.2718780040740967 "y" : 0.4607425332069397
}, },
"anchorB" : "anchorB" :
{ {
"x" : -1.741945743560791e-05, "x" : -0.02544101513922215,
"y" : 0.1479903459548950 "y" : -0.2591779232025146
}, },
"bodyA" : 1, "bodyA" : 1,
"bodyB" : 0, "bodyB" : 2,
"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,
"enableLimit" : true, "enableLimit" : true,
"enableMotor" : false, "enableMotor" : false,
"jointSpeed" : 0, "jointSpeed" : 0,
"lowerLimit" : -0.7853981852531433, "lowerLimit" : -0.6981316804885864,
"maxMotorTorque" : 1, "maxMotorTorque" : 0,
"motorSpeed" : 0, "motorSpeed" : 0,
"name" : "joint5", "name" : "joint9",
"refAngle" : 0, "refAngle" : 0,
"type" : "revolute", "type" : "revolute",
"upperLimit" : 1.570796370506287 "upperLimit" : 1.221730470657349
},
{
"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
} }
], ],
"positionIterations" : 3, "positionIterations" : 3,

View file

@ -37,21 +37,21 @@ function (Parent, Layer, Settings, Nc) {
}; };
limbOptions.upperRightLeg = { limbOptions.upperRightLeg = {
width: 4, width: 5,
height: 9, height: 8,
x: 2, x: 2,
y: limbOptions.chest.height / 2 y: limbOptions.chest.height / 2
}; };
limbOptions.lowerLeftLeg = { limbOptions.lowerLeftLeg = {
width: 4, width: 5,
height: 4, height: 4,
x: -2, x: -2,
y: limbOptions.chest.height / 2 + limbOptions.upperLeftLeg.height y: limbOptions.chest.height / 2 + limbOptions.upperLeftLeg.height
}; };
limbOptions.lowerRightLeg = { limbOptions.lowerRightLeg = {
width: 4, width: 5,
height: 4, height: 4,
x: 2, x: 2,
y: limbOptions.chest.height / 2 + limbOptions.upperRightLeg.height y: limbOptions.chest.height / 2 + limbOptions.upperRightLeg.height
@ -60,28 +60,28 @@ function (Parent, Layer, Settings, Nc) {
limbOptions.upperLeftArm = { limbOptions.upperLeftArm = {
width: 2, width: 4,
height: 8, height: 8,
x: -2, x: -2,
y: -limbOptions.chest.height / 2 y: -limbOptions.chest.height / 2
}; };
limbOptions.upperRightArm = { limbOptions.upperRightArm = {
width: 3, width: 4,
height: 8, height: 8,
x: 2, x: 2,
y: -limbOptions.chest.height / 2 y: -limbOptions.chest.height / 2
}; };
limbOptions.lowerLeftArm = { limbOptions.lowerLeftArm = {
width: 2, width: 4,
height: 5, height: 5,
x: -2, x: -2,
y: -limbOptions.chest.height / 2 + limbOptions.upperLeftArm.height y: -limbOptions.chest.height / 2 + limbOptions.upperLeftArm.height
}; };
limbOptions.lowerRightArm = { limbOptions.lowerRightArm = {
width: 2, width: 4,
height: 5, height: 5,
x: 2, x: 2,
y: -limbOptions.chest.height / 2 + limbOptions.upperRightArm.height y: -limbOptions.chest.height / 2 + limbOptions.upperRightArm.height
@ -93,7 +93,9 @@ function (Parent, Layer, Settings, Nc) {
this.limbMeshes = {}; this.limbMeshes = {};
this.baseMeshName = "chest"; this.baseMeshName = "chest";
this.characterName = "Chuck"; this.characterName = "Chuck";
this.lastFlipDirection = 1; this.lastFlipDirection = -options.direction || 1;
console.log(this.lastFlipDirection);
Parent.call(this, physicsEngine, uid, options); Parent.call(this, physicsEngine, uid, options);
} }
@ -187,22 +189,10 @@ function (Parent, Layer, Settings, Nc) {
RubeDoll.prototype.flip = function(direction) { RubeDoll.prototype.flip = function(direction) {
Parent.prototype.flip.call(this, direction); Parent.prototype.flip.call(this, direction);
if(this.limbs) { console.log("last", this.lastFlipDirection, "now", direction);
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,
}
);
}
}
}
// flipping depth of right body side arm/leg images with left // 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; this.lastFlipDirection = direction;
@ -226,6 +216,28 @@ function (Parent, Layer, Settings, Nc) {
this.limbMeshes["upperRightArm"], this.limbMeshes["upperRightArm"],
this.limbMeshes["upperLeftArm"] 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,
}
);
}
}
} }
}; };

View file

@ -33,7 +33,7 @@ function (Parent, RubeLoader, Box2D, Settings, Assert, Nc, RubeDollJson) {
this.body.SetUserData(this); this.body.SetUserData(this);
this.flip(options.direction); this.flip(options.direction || 1);
} }
RubeDoll.prototype = Object.create(Parent.prototype); RubeDoll.prototype = Object.create(Parent.prototype);
@ -41,6 +41,8 @@ function (Parent, RubeLoader, Box2D, Settings, Assert, Nc, RubeDollJson) {
RubeDoll.prototype.loadRubeDollFromScene = function(options) { RubeDoll.prototype.loadRubeDollFromScene = function(options) {
var scene = this.rubeLoader.getScene(); var scene = this.rubeLoader.getScene();
for (var i in scene.bodies) { for (var i in scene.bodies) {
var body = scene.bodies[i]; var body = scene.bodies[i];
var position = body.GetPosition().Copy(); var position = body.GetPosition().Copy();
@ -50,6 +52,15 @@ function (Parent, RubeLoader, Box2D, Settings, Assert, Nc, RubeDollJson) {
)); ));
body.SetPosition(position); body.SetPosition(position);
this.limbs[body.name] = body; 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; this.joints = scene.joints;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 B

After

Width:  |  Height:  |  Size: 2.7 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 158 B

After

Width:  |  Height:  |  Size: 2.7 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 B

After

Width:  |  Height:  |  Size: 2.7 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 158 B

After

Width:  |  Height:  |  Size: 2.7 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 145 B

After

Width:  |  Height:  |  Size: 2.7 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 B

After

Width:  |  Height:  |  Size: 2.7 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Before After
Before After

View file

@ -84,16 +84,16 @@
{ {
"x" : "x" :
[ [
0.07039496302604675, 0.07039500027894974,
0.07039496302604675, 0.07039500027894974,
-0.07039486616849899, -0.07039490342140198,
-0.07039486616849899 -0.07039490342140198
], ],
"y" : "y" :
[ [
-0.09294389933347702, -0.09294389933347702,
0.1276105940341949, 0.1276109963655472,
0.1276105940341949, 0.1276109963655472,
-0.09294389933347702 -0.09294389933347702
] ]
} }
@ -101,18 +101,18 @@
], ],
"id" : 1, "id" : 1,
"linearVelocity" : 0, "linearVelocity" : 0,
"massData-I" : 0.0001864957448560745, "massData-I" : 0.0001864968799054623,
"massData-center" : "massData-center" :
{ {
"x" : 4.842877032729120e-08, "x" : 4.842877032729120e-08,
"y" : 0.01733334921300411 "y" : 0.01733354665338993
}, },
"massData-mass" : 0.03105182945728302, "massData-mass" : 0.03105190023779869,
"name" : "lowerRightLeg", "name" : "lowerRightLeg",
"position" : "position" :
{ {
"x" : 0.04785731062293053, "x" : 0.03859551250934601,
"y" : 0.09799571335315704 "y" : 0.09799569845199585
}, },
"type" : "dynamic" "type" : "dynamic"
}, },
@ -168,8 +168,8 @@
"name" : "upperLeftLeg", "name" : "upperLeftLeg",
"position" : "position" :
{ {
"x" : -0.04570891708135605, "x" : -0.03829947486519814,
"y" : 0.3325108885765076 "y" : 0.3325110077857971
}, },
"type" : "dynamic" "type" : "dynamic"
}, },
@ -225,8 +225,8 @@
"name" : "upperRightLeg", "name" : "upperRightLeg",
"position" : "position" :
{ {
"x" : 0.04785731062293053, "x" : 0.03859551250934601,
"y" : 0.3325108885765076 "y" : 0.3325110077857971
}, },
"type" : "dynamic" "type" : "dynamic"
}, },
@ -257,33 +257,33 @@
[ [
0.04693000018596649, 0.04693000018596649,
0.04693000018596649, 0.04693000018596649,
-0.04693005979061127, -0.04693010076880455,
-0.04693005979061127 -0.04693010076880455
], ],
"y" : "y" :
[ [
-0.1895973682403564, -0.1895969957113266,
0.1895966529846191, 0.1895969957113266,
0.1895966529846191, 0.1895969957113266,
-0.1895973682403564 -0.1895969957113266
] ]
} }
} }
], ],
"id" : 4, "id" : 4,
"linearVelocity" : 0, "linearVelocity" : 0,
"massData-I" : 0.0004525946278590709, "massData-I" : 0.0004525947733782232,
"massData-center" : "massData-center" :
{ {
"x" : -2.980232238769531e-08, "x" : -5.029141902923584e-08,
"y" : -3.576278686523438e-07 "y" : 0
}, },
"massData-mass" : 0.03559117391705513, "massData-mass" : 0.03559118881821632,
"name" : "upperRightArm", "name" : "upperRightArm",
"position" : "position" :
{ {
"x" : 0.1183081120252609, "x" : 0.1183080002665520,
"y" : 0.9012566804885864 "y" : 0.9012569785118103
}, },
"type" : "dynamic" "type" : "dynamic"
}, },
@ -369,35 +369,35 @@
{ {
"x" : "x" :
[ [
0.07039503753185272, 0.07039500027894974,
0.07039503753185272, 0.07039500027894974,
-0.07039495557546616, -0.07039500027894974,
-0.07039495557546616 -0.07039500027894974
], ],
"y" : "y" :
[ [
-0.09294363856315613, -0.09294360131025314,
0.1277718394994736, 0.1277720034122467,
0.1277718394994736, 0.1277720034122467,
-0.09294363856315613 -0.09294360131025314
] ]
} }
} }
], ],
"id" : 6, "id" : 6,
"linearVelocity" : 0, "linearVelocity" : 0,
"massData-I" : 0.0001869033440016210, "massData-I" : 0.0001869037223514169,
"massData-center" : "massData-center" :
{ {
"x" : 4.097818973036738e-08, "x" : 0,
"y" : 0.01741409860551357 "y" : 0.01741420105099678
}, },
"massData-mass" : 0.03107452951371670, "massData-mass" : 0.03107454814016819,
"name" : "lowerLeftLeg", "name" : "lowerLeftLeg",
"position" : "position" :
{ {
"x" : -0.04570891708135605, "x" : -0.03829947486519814,
"y" : 0.09799571335315704 "y" : 0.09799569845199585
}, },
"type" : "dynamic" "type" : "dynamic"
}, },
@ -529,35 +529,35 @@
{ {
"x" : "x" :
[ [
-0.1156369969248772, -0.1360991001129150,
0.1570899933576584, 0.1366278976202011,
0.1570899933576584, 0.1366278976202011,
-0.1156369969248772 -0.1360991001129150
], ],
"y" : "y" :
[ [
-0.3584159910678864, -0.3788780868053436,
-0.3584159910678864, -0.3788780868053436,
0.4034900069236755, 0.3830279111862183,
0.4034900069236755 0.3830279111862183
] ]
} }
} }
], ],
"id" : 9, "id" : 9,
"linearVelocity" : 0, "linearVelocity" : 0,
"massData-I" : 0.01153474114835262, "massData-I" : 0.01134084537625313,
"massData-center" : "massData-center" :
{ {
"x" : 0.02072649449110031, "x" : 0.0002643987536430359,
"y" : 0.02253700792789459 "y" : 0.002074912190437317
}, },
"massData-mass" : 0.2077923268079758, "massData-mass" : 0.2077923566102982,
"name" : "chest", "name" : "chest",
"position" : "position" :
{ {
"x" : -0.02137973159551620, "x" : 0.0007875636219978333,
"y" : 0.7773683071136475 "y" : 0.7995355725288391
}, },
"type" : "dynamic" "type" : "dynamic"
}, },
@ -586,17 +586,17 @@
{ {
"x" : "x" :
[ [
0.04692991077899933, 0.04692989960312843,
0.04692991077899933, 0.04692989960312843,
-0.04692997038364410, -0.04693000018596649,
-0.04692997038364410 -0.04693000018596649
], ],
"y" : "y" :
[ [
-0.1895973682403564, -0.1895969957113266,
0.1895966529846191, 0.1895969957113266,
0.1895966529846191, 0.1895969957113266,
-0.1895973682403564 -0.1895969957113266
] ]
} }
} }
@ -606,15 +606,15 @@
"massData-I" : 0.0004525936674326658, "massData-I" : 0.0004525936674326658,
"massData-center" : "massData-center" :
{ {
"x" : -2.980232238769531e-08, "x" : -5.029141902923584e-08,
"y" : -3.576278686523438e-07 "y" : 0
}, },
"massData-mass" : 0.03559110686182976, "massData-mass" : 0.03559110686182976,
"name" : "upperLeftArm", "name" : "upperLeftArm",
"position" : "position" :
{ {
"x" : -0.1165364086627960, "x" : -0.1165359988808632,
"y" : 0.9012566804885864 "y" : 0.9012569785118103
}, },
"type" : "dynamic" "type" : "dynamic"
} }
@ -625,13 +625,13 @@
{ {
"anchorA" : "anchorA" :
{ {
"x" : -0.0007802955806255341, "x" : -0.0007802959880791605,
"y" : -0.1484908312559128 "y" : -0.1484909951686859
}, },
"anchorB" : "anchorB" :
{ {
"x" : -0.0007801018655300140, "x" : -0.0007801019819453359,
"y" : 0.08614096790552139 "y" : 0.08614099770784378
}, },
"bodyA" : 2, "bodyA" : 2,
"bodyB" : 6, "bodyB" : 6,
@ -645,19 +645,19 @@
"name" : "joint7", "name" : "joint7",
"referenceAngle" : 0, "referenceAngle" : 0,
"type" : "revolute", "type" : "revolute",
"upperLimit" : 2.268928050994873 "upperLimit" : 2.443460941314697
}, },
{ {
"anchorA" : "anchorA" :
{ {
"x" : 0.001979876309633255, "x" : -0.004979589954018593,
"y" : -0.1506856828927994 "y" : -0.1506859958171844
}, },
"anchorB" : "anchorB" :
{ {
"x" : 0.001979988068342209, "x" : -0.005973690189421177,
"y" : 0.08382887393236160 "y" : 0.08482310175895691
}, },
"bodyA" : 3, "bodyA" : 3,
"bodyB" : 1, "bodyB" : 1,
@ -671,7 +671,7 @@
"name" : "joint8", "name" : "joint8",
"referenceAngle" : 0, "referenceAngle" : 0,
"type" : "revolute", "type" : "revolute",
"upperLimit" : 2.268928050994873 "upperLimit" : 2.443460941314697
}, },
{ {
@ -682,8 +682,8 @@
}, },
"anchorB" : "anchorB" :
{ {
"x" : 0.0003536641597747803, "x" : 0.0003536640142556280,
"y" : -0.1459646224975586 "y" : -0.1459649950265884
}, },
"bodyA" : 7, "bodyA" : 7,
"bodyB" : 4, "bodyB" : 4,
@ -691,25 +691,25 @@
"enableLimit" : true, "enableLimit" : true,
"enableMotor" : false, "enableMotor" : false,
"id" : 3, "id" : 3,
"lowerLimit" : -1.919862151145935, "lowerLimit" : 0.01745329238474369,
"maxMotorTorque" : 1, "maxMotorTorque" : 1,
"motorSpeed" : 0, "motorSpeed" : 0,
"name" : "joint1", "name" : "joint1",
"referenceAngle" : 0, "referenceAngle" : 0,
"type" : "revolute", "type" : "revolute",
"upperLimit" : 0 "upperLimit" : 1.919862151145935
}, },
{ {
"anchorA" : "anchorA" :
{ {
"x" : 0.1396137326955795, "x" : 0.1179294362664223,
"y" : 0.2701327204704285 "y" : 0.2464744448661804
}, },
"anchorB" : "anchorB" :
{ {
"x" : -7.455050945281982e-05, "x" : 0.0004089996218681335,
"y" : 0.1462445855140686 "y" : 0.1447530388832092
}, },
"bodyA" : 9, "bodyA" : 9,
"bodyB" : 4, "bodyB" : 4,
@ -729,13 +729,13 @@
{ {
"anchorA" : "anchorA" :
{ {
"x" : -0.06799929589033127, "x" : -0.06799955666065216,
"y" : -0.2890855073928833 "y" : -0.3021813035011292
}, },
"anchorB" : "anchorB" :
{ {
"x" : -0.04493143782019615, "x" : -0.02891255542635918,
"y" : 0.1559127867221832 "y" : 0.1648437976837158
}, },
"bodyA" : 9, "bodyA" : 9,
"bodyB" : 2, "bodyB" : 2,
@ -755,13 +755,13 @@
{ {
"anchorA" : "anchorA" :
{ {
"x" : 0.1116365119814873, "x" : 0.06260262429714203,
"y" : -0.2944114208221436 "y" : -0.3029872477054596
}, },
"anchorB" : "anchorB" :
{ {
"x" : 0.04127831012010574, "x" : 0.02294230461120605,
"y" : 0.1504460573196411 "y" : 0.1640380322933197
}, },
"bodyA" : 9, "bodyA" : 9,
"bodyB" : 3, "bodyB" : 3,
@ -781,13 +781,13 @@
{ {
"anchorA" : "anchorA" :
{ {
"x" : -0.09517394006252289, "x" : -0.1188285648822784,
"y" : 0.2718779444694519 "y" : 0.2521644234657288
}, },
"anchorB" : "anchorB" :
{ {
"x" : -1.741945743560791e-05, "x" : -0.001505002379417419,
"y" : 0.1479902863502502 "y" : 0.1504430174827576
}, },
"bodyA" : 9, "bodyA" : 9,
"bodyB" : 10, "bodyB" : 10,
@ -807,8 +807,8 @@
{ {
"anchorA" : "anchorA" :
{ {
"x" : 0.0008554458618164062, "x" : 0.0008554459782317281,
"y" : -0.1461489200592041 "y" : -0.1461489945650101
}, },
"anchorB" : "anchorB" :
{ {