wow ... must have been a pain to do that rubber thingy ... doe, looks really great ! Nothig to suspect it to be split into several pieces.
Believe it or not, this was actually one of the easiest parts to animate!
This is the code for the left side:
gear_compression({bone: 'b_leitung_l12', axis: {z:-1}, gear_unit: 0, transformation: "move", multiplier: 0.17});
gear_compression({bone: 'b_leitung_l11', axis: {z:-1}, gear_unit: 0, transformation: "move", multiplier: 0.06});
gear_compression({bone: 'b_leitung_l10', axis: {z:-1}, gear_unit: 0, transformation: "move", multiplier: 0.04});
gear_compression({bone: 'b_leitung_l09', axis: {z:-1}, gear_unit: 0, transformation: "move", multiplier: 0.06});
gear_compression({bone: 'b_leitung_l08', axis: {z:-1}, gear_unit: 0, transformation: "move", multiplier: 0.06});
gear_compression({bone: 'b_leitung_l07', axis: {z:-1}, gear_unit: 0, transformation: "move", multiplier: 0.06});
gear_compression({bone: 'b_leitung_l06', axis: {z:-1}, gear_unit: 0, transformation: "move", multiplier: 0.06});
gear_compression({bone: 'b_leitung_l05', axis: {z:-1}, gear_unit: 0, transformation: "move", multiplier: 0.06});
gear_compression({bone: 'b_leitung_l04', axis: {z:-1}, gear_unit: 0, transformation: "move", multiplier: 0.06});
gear_compression({bone: 'b_leitung_l03', axis: {z:-1}, gear_unit: 0, transformation: "move", multiplier: 0.06});
gear_compression({bone: 'b_leitung_l02', axis: {z:-1}, gear_unit: 0, transformation: "move", multiplier: 0.06});
gear_compression({bone: 'b_leitung_l01', axis: {z:-1}, gear_unit: 0, transformation: "move", multiplier: 0.06});
gear_compression({bone: 'b_leitung_l00', axis: {z:-1}, gear_unit: 0, transformation: "move", multiplier: 0.06});
gear_compression(); is a simple and useful function I would say, that I wrote and added in a function library file, which is then included in the aircraft script using
$include();This is the function itself:
// Gear Compression
function gear_compression(input){
var move_axis;
var property = 'gear/unit[0]/compression-ft';
var val = (jsb[property.replace('0', input.gear_unit)]*0.3048)*input.multiplier;
if (input.axis.x == 1) move_axis = {x: val};
else if (input.axis.y == 1) move_axis = {y: val};
else if (input.axis.z == 1) move_axis = {z: val};
else if (input.axis.x == -1) move_axis = {x:-val};
else if (input.axis.y == -1) move_axis = {y:-val};
else if (input.axis.z == -1) move_axis = {z:-val};
if (input.transformation == "move")geom.move_joint_orig(geom.get_joint(input.bone), move_axis);
else if (input.transformation == "rotate")geom.rotate_joint_orig(geom.get_joint(input.bone), val, input.axis);
}