0
spritebatch로 일부 행렬 변환을 수행하려고하는데 스케일 행렬에 어떤 현상이 발생하는지 이해하지 못합니다.매트릭스 스케일을 만드시겠습니까?
rotM = Matrix.CreateTranslation(0, 0, 0)
* Matrix.CreateFromYawPitchRoll(MathHelper.ToRadians(startRotations.Y)
, MathHelper.ToRadians(startRotations.X)
, MathHelper.ToRadians(startRotations.Z))
* Matrix.CreateScale(endScale.X, endScale.Y, 0)
* Matrix.CreateTranslation((Origin.X + PositionRec.X + Offset.X) * endScale.X
, (Origin.Y + PositionRec.Y + Offset.Y) * endScale.Y, 0);
sp.Begin(SpriteSortMode.Deferred, null, null, null, null, null, rotM);
sp.Draw(BackgroundTexture, Vector2.Zero, PositionRec, BackgroundColor * alpha);
sp.End();
하는 데는 보통 내가 가장 내가 회전 모든도 (1.1.0) 규모를 사용하여, 이상한지기 전에 될 수있는 스케일을 변경하지만 경우,이 순서로 결과를보고받을, 그래서 난 그냥 원래 크기 받고 있어요 .
스케일을 1로 고정 시키십시오 (Z 제외). 왜 제가 정점에 스케일을 손상시키지 않으면 왜 회전에 영향을 줍니까?
예 :
번역 -> 복합 회전> 수평 확장> 번역
번역 -> 수평 확장> 복합 회전> 번역
입어 사전, Roger