XYZtoZXY
Quaternion XYZtoZXY(Vector3 p)
{
Vector3 v = new Vector3(p.x, -p.y, -p.z);
Quaternion qx = Quaternion.AngleAxis(v.x, Vector3.right);
Quaternion qy = Quaternion.AngleAxis(v.y, Vector3.up);
Quaternion qz = Quaternion.AngleAxis(v.z, Vector3.forward);
Quaternion qq = qz * qy * qx;
return qq;
}