ゲームの世界を x 軸に反映させようとしています。私は変換行列を計算するカメラを持っています:
_transform =
Matrix.CreateTranslation(new Vector3(-_pos.X, -_pos.Y, 0)) *
Matrix.CreateRotationZ(Rotation) *
Matrix.CreateScale(Zoom) *
Matrix.CreateTranslation(new Vector3(_graphicsDevice.Viewport.Width * 0.5f, _graphicsDevice.Viewport.Height * 0.5f, 0));
リフレクション部分を配置するまで、正常に動作します。
_transform = //first try, place here
Matrix.CreateTranslation(new Vector3(-_pos.X, -_pos.Y, 0)) *
Matrix.CreateRotationZ(Rotation) *
Matrix.CreateScale(Zoom) *
Matrix.CreateReflection(new Plane(Vector3.UnitY, 0)) * //here
Matrix.CreateTranslation(new Vector3(_graphicsDevice.Viewport.Width * 0.5f, _graphicsDevice.Viewport.Height * 0.5f, 0));
その「反省」で
spriteBatch.Begin(SpriteSortMode.BackToFront,
BlendState.AlphaBlend,
null,
null,
null,
null,
Camera.Active.GetTransformation);
何も描きません。私の英語を助けてごめんなさい:)
UPD:いくつかのテストを行いました:
var v = new Vector2(0, 10);
var v2 = Vector2.Transform(v, _transform);
without .CreateReflection v2 = {X:450 Y:370}
with .CreateReflection v2 = {X:450 Y:350} //わかりました。反映されています。しかし、なぜそれは描かないのですか?