ここでは、コードXNAでマトリックスを使用して、C#の
の二つの異なる部分は、これは私が
Vector2 hold = Vector2.Transform(pos1, mat1);
Matrix inv = Matrix.Invert(mat2);
Vector2 pos2 = Vector2.Transform(hold, inv);
で開始するものであり、これは私があると聞いていものですされています簡易版
Matrix matrix1to2 = mat1 * Matrix.Invert(mat2);
Vector2 pos2 = Vector2.Transform(pos1, matrix1to2);
私は理解していないで、simpilifedバージョンの最初の行がない理由
Matrix matrix1to2 = Matrix.Invert(mat2)*mat1;
マトリックスのために右のものは、第1の効果を取ると、元に、我々は最初
編集にMAT1乗算されているため: 次の画像は、動作の順序は
所望示しますhttp://www.riemers.net/images/Tutorials/XNA/Csharp/Series2D/mat1.png
このチュートリアルでは、この変換を作成するには、
Matrix carriageMat = Matrix.CreateTranslation(0, -carriage.Height, 0) * Matrix.CreateScale(playerScaling)
* Matrix.CreateTranslation(xPos, yPos, 0) * Matrix.Identity;
注文が右から左の場合はどうなりますか?
これはhttp://gamedev.stackexchange.com/の質問だと思います。そこにもっとフィードバックがあります。 – rcdmk
ありがとう、私はそれを試してみましょう。私はこれを閉じなければなりませんか? – Alxander
必要ならば。告発者の中には、これに参加する司会者もいます。 – rcdmk