Adjust Avatar Joint Direction

Hi, I’m trying to adjust avatar’s every joint orientation to the sky( which is vector3.up ) cause I have to use kinect quaternion…

To do that I set public variables for each joints and got transform of each joints.

So at Start(), I gave codes like this

ElbowLeft.rotation= Quaternion.FromToRotation(WristLeft.position- ElbowLeft.position, Vector3.up)

it gives really weird results like this.

But what I want to do is

this code gives right results …
ElbowLeft.rotation = Quaternion.AngleAxis(90, new Vector3(0, 1, 0)) * Quaternion.AngleAxis(-90, new Vector3(0, 0, 1));

So… I think both code should return same result but different and I don’t know why…

I solved the problem with…
ElbowLeft.rotation= Quaternion.FromToRotation(WristLeft.position- ElbowLeft.position, Vector3.up) * ElbowLeft.rotation which is initial rotation…