Hi Nimai!
I've just found a way to correctly convert speed and influence into x and y. For example for rotation:
if (key <= thisLayer.rotation.numKeys - 1 && thisLayer.rotation.keyOutInterpolationType(key) == KeyframeInterpolationType.BEZIER){
duration = rotation.keyTime(key + 1) - rotation.keyTime(key);
amount = Math.abs(rotation.keyValue(key + 1) - rotation.keyValue(key));
averageSpeed = amount/duration;
curve1U = rotation.keyOutTemporalEase(key)[0].influence/100;
curve1V = rotation.keyOutTemporalEase(key)[0].speed/averageSpeed * curve1U;
curve2U = rotation.keyInTemporalEase(key + 1)[0].influence/100;
curve2V = rotation.keyInTemporalEase(key + 1)[0].speed/averageSpeed * curve2U;
f.write(", \"curve\": [" + curve1U + ", " + curve1V + ", " + (1 - curve2U) + ", " + (1 - curve2V) + "]");
}
We just need to round the results to make them shorter. :rofl: