# How does Transform.Rotate actually work?

I’ve been trying to create a custom ragdoll system, which simply takes the jointed physics representation of the character and positions and rotates the bones of the visible character to match, but I’ve been having a lot of trouble.

I tried different methods of getting it all to work. I started out with this:

``````BoneRoot.transform.rotation=Quaternion.identity;
``````

But as per my other question, it still wasn’t working, so I started experimenting. I discovered that if I did this:

``````BoneRoot.transform.Rotate(-BoneRoot.transform.eulerAngles,Space.World);
BoneRoot.transform.Rotate(Root.transform.eulerAngles-Root_RotOffset,Space.World);
``````

It spun around wildly, which seems wrong. Then I found this post. Before seeing the accepted answer to that question, I believed that using `Transform.Rotate` with `Space.World` would rotate the object around World axes, regardless of the object’s current angle, and using `Space.Self` would rotate from the object’s current angle. After reading that post I’m not so sure. Does it rotate as though the pivot was at the world’s centre or what?

All I want to do is set the angles of one object to that of another with an angle offset. Why is this so difficult?

My question is this: How does `Transform.Rotate` actually work? I.e., what are the specific differences and workings of `Space.Self` and `Space.World`?

Actually, what I really want to know is why doesn’t this:

``````BoneRoot.transform.Rotate(-BoneRoot.transform.eulerAngles,Space.World);
``````

…set the angles to 0? Why not?? Why are rotations in Unity so complicated? I’ve never had this much trouble with rotations ever before!

So it turns out a lot of my problems were caused by the fact that I didn’t understand fully how Eulers are really annoying and bad. Now I do, and I have a solution to my root problem. See the answer to my other question for how I solved my problem.

To give a quick overview: Don’t use Eulers. It turns out they really can be stupid and annoying. Now I understand why Quaternions are so good.