私はDirectXTKをC++に使用しており、スプライトバッチ機能を多用しています。DirectxTK SpriteBatchとViewport Centering
私はアイソメトリックレンダリングエンジンを開発しようとしています。私は既にアイソメトリックレンダリングを正しく実行するようにしました。オフセットと並んで。しかし、私は大きな問題に直面しています。
私の人生にとって、カメラの中心をどのように世界の中心(0,0)や他の座標に合わせるかを理解できません。
とSpriteBatch.Begin(にカメラから直接生成この変換行列を注入した後に)
Matrix Camera::getTransformMatrix() {
Matrix Transform = Transform.CreateTranslation(Vector3(World_Pos.x, World_Pos.y, 0));
Matrix Rotation = Rotation.CreateRotationZ(0);
Matrix Scale = Scale.CreateScale(ZoomFactor, ZoomFactor, 1);
return Transform * Rotation * Scale;
}
何も起こらないように思われます。これは、カメラのワールド位置を(0,0)に設定し、スプライトのワールド位置を(0,0)に設定して行います。
これは結果の画像です。
http://i.imgur.com/Bep7l5a.png
私はアルファブレンディングをオフにし、デバッグの理由から、スプライトオフセット。
誰でも教えてください。また、誰かがyを反転させる方法を教えてくれれば、それも素晴らしいだろう。
私はDirectXTKを使用していませんが、 'Camera :: getTransformMatrix()'によって返される変換行列をどのように適用しますか? –
@Zamronyをそのままspritebatch.beginの引数にそのまま入力します。 – moonshineTheleocat