Hi,
how should I do to rotate a skeleton in a different orgin of root bone?
best
Cristian

Related Discussions
...

Not sure exactly what you are asking. Maybe it is sufficient to set the rotation on the root bone?

Hi Nate,
I upload a video to explain. First I show the rotation on origin at center, next I move the center pivot in another point and I rotate from here.
How can I do this?
http://somup.com/cYXTjRISL3

You can solve this via the XNA API by setting a model matrix for the skeleton. Please search the web for "XNA rotate around pivot" for examples.

If you want to solve this using Spine, you have to introduce a bone parented to the root bone, to which all other things are parented. Here's an example using Spineboy.

The root bone has a child bone called pivot-child. The rest of the skeleton is parented to pivot-child.

The root bone thus becomes the pivot. You can adjust the x/y position of the pivot-child, which is relative to the root bone. Then you can rotate the root bone.

Solved :-)
Thank you Mario, I prefer do not touch Spine root bone. I can archive with this, (vbnet sorry)
I found RotateAround function in Nez engine that is a very good engine for 2D game https://github.com/prime31/Nez

              Dim t As Vector2
                Dim angle as single = 1.0f
                Dim origin as Vector2= New Vector2(-1, 0)
                t = RotateAround(New Vector2(Skeleton.X, Skeleton.Y), origin, angle)
                Skeleton.X = t.X
                Skeleton.Y = t.Y
                Skeleton.RootBone.Rotation = -angle
                Skeleton.UpdateWorldTransform()

....
Function RotateAround(ByVal point As Vector2, ByVal center As Vector2, ByVal angleInDegrees As Single) As Vector2
            angleInDegrees = Microsoft.Xna.Framework.MathHelper.ToRadians(angleInDegrees)
            Dim cos = Math.Cos(angleInDegrees)
            Dim sin = Math.Sin(angleInDegrees)
            Dim rotatedX = cos * (point.X - center.X) - sin * (point.Y - center.Y) + center.X
            Dim rotatedY = sin * (point.X - center.X) + cos * (point.Y - center.Y) + center.Y
            Return New Vector2(rotatedX, rotatedY)
        End Function