Jeu Vidéo 2

Techniques d'intégration multimédia, prof(s):

Mathématiques

Mathf

Mathf est le nom de la classe dans Unity qui offre diverses méthodes mathématiques utiles. Cette classe contient des fonctions pour faire des calculs de trigonométrie, de valeurs exponentielles, d'arrondissement, par exemple, en plus de quelques constantes utiles (dont le nombre Pi).

Quelques exemples d'utilisation de Mathf:

float a=Mathf.Cos(0.5f); // le cosinus de 0.5
float b=Mathf.Round(1.5f); // la valeur arrondie de 1.5 (c'est à dire 2)
float c=Mathf.PI*angle; // un angle, multiplié par le nombre PI (3.1416...)

Remarque!

La classe Mathf est une classe aux méthodes et propriétés statiques. En conséquence, on utilise le nom de la classe pour préfixer l'appel des fonctions (ex: Mathf.Floor() ) ou l'accès aux propriétés (ex: Mathf.PI). On ne peut pas créer d'instance d'une classe statique: vous ne verrez donc jamais une instruction comme: oMath=new Mathf().

Attention!

Dans la documentation officielle de C# de MicroSoft, vous allez certainement rencontrer des références à la classe Math. Cette classe joue un rôle semblable à Mathf en Unity, mais pour le développement C# ailleurs que dans Unity: Dans Unity, c'est Mathf qui est utilisée.


Principales méthodes de la classe Mathf

Voici quelques unes des méthodes les plus utilisées de la classe Mathf dans Unity.

Méthode Description Exemples
Abs(float n) retourne la valeur absolue du nombre n float j=Mathf.Abs(-12.2f);
// j==12.2f
Ceil(float n) retourne la valeur entière supérieure le plus près ou égal à n sous forme d'un float float j=Mathf.Ceil(1.1f);
float k=Mathf.Ceil(1.9f);
//j==2f, k==2f
CeilToInt(float n) retourne la valeur entière supérieure le plus près ou égal à n sous forme d'un int int j=Mathf.CeilToInt(1.1f);
int k=Mathf.CeilToInt(1.9f);
//j==2, k==2
Clamp(float n,float min, float max) retourne la valeur min si n est plus petit que min et la valeur max si n est plus grand que max. Sinon, la fonction retourne simplement n. float i=Mathf.Clamp(6.1f,2f,9f);
float j=Mathf.Clamp(1.5f,2f,9f);
float k=Mathf.Clamp(10f,2f,9f);
//i==6.1f, j==2f, k==9f
Floor(float n) retourne la valeur entière (mais en float) inférieure le plus près ou égale à n float j=Mathf.Floor(1.1f);
float k=Mathf.Floor(1.9f);
//j==1f, k==1f
FloorToInt(float n) retourne la valeur entière (en int) inférieure le plus près ou égale à n int j=Mathf.Floor(1.1f);
int k=Mathf.Floor(1.9f);
//j==1, k==1
Round(float n) retourne la valeur entière la plus proche du nombre n (sous forme de float) float j=Mathf.Round(1.4f)
float k=Mathf.Round(1.5f)
//j==1f, k==2f
RoundToInt(float n) retourne la valeur entière la plus proche du nombre n (sous forme de int) float j=Mathf.RoundToInt(1.4f)
float k=Mathf.RoundToInt(1.5f)
//j==1, k==2

La classe Mathf comporte pas mal plus de méthodes que cette courte liste (entre autres, plusieurs méthodes pour faire des calculs trigonométriques ou des interpolations de valeurs). Consultez la documentation sur le site de Unity pour une liste complète des méthodes disponibles dans Mathf.


Principales constantes de la classe Mathf

Voici les constantes les plus utilisées de la classe Mathf dans Unity.

Constante Description
Deg2Rad Pour convertir des degrés en radians ( vaut: Mathf.PI/180)
Epsilon Le plus petit float différent de zéro
Infinity Représentation de l'infini positif
NegativeInfinity Représentation de l'infini négatif
PI La valeur de pi, approx: 3.14159f
Rad2Deg Pour convertir des degrés en radians ( vaut: 180/Mathf.PI)