C # DirectX происхождение спрайта

у меня есть эта проблема, когда мой источник вращения Sprite зафиксирован в верхнем левом углу окна (то же самое сsprite.Draw а такжеsprite.Draw2DВ любом случае, если я изменю центр вращения, он все еще вверху слева. Мне нужно, чтобы спрайт вращался вокруг своей оси Z.

Редактировать: Я попробовал это:

    hereMatrix pm = Matrix.Translation(_playerPos.X + 8, _playerPos.Y + 8, 0);
    sprite.Transform = Matrix.RotationZ(_angle) * pm;
    sprite.Draw(playerTexture, textureSize, new Vector3(8, 8, 0), new Vector3(_playerPos.X, _playerPos.Y, 0), Color.White);

Но, похоже, не работает хорошо ...

Ответы на вопрос(2)

Ваш ответ на вопрос