J'écris mon propre moteur 3D et j'ai cette matrice pour faire un regard en perspective. (Il est une matrice standard, donc il n'y a rien d'intéressant)Transition douce de la 3D à la 2D
public static Matrix3D PrespectiveFromHV(double fieldOfViewY, double aspectRatio, double zNearPlane, double zFarPlane, double mod)
{
double height = 1.0/Math.Tan(fieldOfViewY/2.0);
double width = height/aspectRatio;
double d = zNearPlane - zFarPlane;
var rm = Math.Round(mod, 1);
var m = new Matrix3D(
width, 0, 0, 0,
0, height, 0, 0,
0, 0, (zFarPlane/d) * rm, (zNearPlane * zFarPlane/d) * rm,
0, 0, (-1 * rm), (1 - rm)
);
return m;
}
je pourrais faire ma scène 2D comme regarder juste en ignorant cette matrice.
Mais voulez faire est de faire la transition en douceur de 3D à 2D et à l'arrière ...
Quelqu'un a une idée? Que dois-je changer dans cette matrice pour rendre les transitions douces possibles?
Pourquoi votre m atrix appelé Matrix3D? Il s'agit d'une matrice quatre par quatre, donc vous devriez probablement appeler Matrix4x4 assez clair ce que c'est. ou encore mieux, l'obtenir modélisé, donc je peux dire Matrix –
thecoshman
Ok. Tnx je pense à cela plus tard ... –