I need to transfer animation from 3d party animation software ([spine][1]) in to unity.

Here is how it looks in spine

[21030-spinecurve.png*_|21030]

according to [this page][3]

The Bézier curve array has 4 elements which define the control points: cx1, cy1, cx2, cy2. The X axis is from 0 to 1 and represents the percent of time between the two keyframes. The Y axis is from 0 to 1 and represents the percent of the difference between the keyframe’s values.

here is what I see in input data

```
[ 0.135, 0.74, 0.918, 0.17 ]
```

and this is cooridnates for **P1** = (0.135, 0.74) and **P2** = (0.918, 0.17).

for all cases **P0** = (0,0), **P3** = (1,1)

At unity side, i need to provide **outTangent** for P0 and **inTangent** for P3 which is **keyframe[0]** and **keframe[1]** in case of curve has just 2 points.

here is my calculation (which doesn’t show correct result):

**i** and **nextI** is a keyframe indexes of **P0** and **P3** in AnimationCurve,

**tangentArray** is json array contains data specified above **[cx1,cy1,cx2,cy2]**

**parseFloat** custom method, i can’t use default (float)cx1 or float.parse(cx1)

```
public static void setCustomTangents(AnimationCurve curve, int i, int nextI, JsonData tangentArray){
float cx1 = parseFloat(tangentArray[0]);
float cy1 = parseFloat(tangentArray[1]);
float cx2 = parseFloat(tangentArray[2]);
float cy2 = parseFloat(tangentArray[3]);
float time = (float)(curve.keys[nextI].time - curve.keys*.time);*
```

_ float value = (float)(curve.keys[nextI].value - curve.keys*.value);*_
_ Keyframe thisKeyframe = curve;
Keyframe nextKeyframe = curve[nextI];
float outTangent = (cy1 * value)/ (cx1 * time);
float inTangent = ((1 - cy2) * value)/ ((1 - cx2) * time);
thisKeyframe.outTangent = outTangent;
nextKeyframe.inTangent = inTangent;
curve.MoveKey(i, thisKeyframe);
curve.MoveKey(nextI, nextKeyframe);
}
This is result in unity
[21031-unity_curve.png**|21031]

*[1]: http://esotericsoftware.com**

*I’ve already seen some similar bezier questions like [The algorithm of curve in Shuriken Particle System][5]. But 2d day can’t figure out how to solve this problem, probably because my math skills is low =).**Thanks.**

*[3]: http://esotericsoftware.com/spine-json-format/*_*

*[5]: http://answers.unity3d.com/questions/438407/the-algorithm-of-curve-in-shuriken-particle-system.html*_*[5]: http://answers.unity3d.com/questions/438407/the-algorithm-of-curve-in-shuriken-particle-system.html*_