スプライトのグループの回転の原点を調整するにはどうすればよいですか?
現在、スプライトをグループ化して、描画に回転変換を適用しています。 private void UpdateMatrix(ref Vector2 origin, float radians) { Vector3 matrixorigin = new Vector3(origin, 0); _rotationMatrix = Matrix.CreateTranslation(-matrixorigin) * Matrix.CreateRotationZ(radians) * Matrix.CreateTranslation(matrixorigin); } ここで、原点は私のスプライトグループの中心点です。この変換をグループ内の各スプライトに適用します。 私の問題は、原点を調整すると、スプライトグループ全体が画面上で再配置されることです。 変換で使用される回転のポイントを、スプライトグループの位置とどのように区別できますか?この変換行列を作成するより良い方法はありますか? 編集 次に、Draw()関数の関連部分を示します。 Matrix allTransforms = _rotationMatrix * camera.GetTransformation(); spriteBatch.Begin(SpriteSortMode.BackToFront, null, null, null, null, null, allTransforms); for (int i = 0; i < _map.AllParts.Count; i++) …