Commandes: distance, distanceSqr, linearConversion, drawIcon3D

Cet article concerne les commandes distance, distanceSqr, linearConversion, drawIcon3D.

distance et distanceSqr

Pour calculer une distance entre 2 points dans un monde en 3 dimensions, tu peux la calculer en utilisant cette formule mathématique:

distance = sqrt ((x2 - x1) ^ 2 + (y2 - y1) ^ 2 + (z2 - z1) ^ 2);

ou plus simplement, en utilisant directement la commande distance.

_distance = objet1 distance objet2;

Dans des cas spécifique, tu pourrais également vouloir calculer la quadrance en utilisant la formule mathématique simplifiée (sans racine carrée):

distanceSquared = (x2 - x1) ^ 2 + (y2 - y1) ^ 2 + (z2 - z1) ^ 2;

ou plus simplement en utilisant la commande distanceSqr.

_distance = objet1 distanceSqr objet2;

La quadrance est normalement utilisée pour simplifier et améliorer la performance des calculs graphiques dans les jeux videos. Ici son champs d’application reste très limité.

linearConversion

Cette commande permet de transformer une valeur dans un range de valeurs, en une autre valeurs proportionnellement à un autre range de valeurs. Je te donne un exemple, imaginons que le 1er range aille de 0 à 1 et que la valeur soit de 0.55, et que ton range cible aille de 0 à 100 (pour avoir un pourcentage) alors ta valeur sera transformée en 55.

linearConversion [0,1,0.55,0,100]; //55

Tu peux également le faire dans ce sens, exemple pour créer un pourcentage:

_percentage = linearConversion [0,390,20,0,100,false]; // 5.12821

Le dernier argument(allowClipping) quand il est positionné sur true, force la valeur à ne pas pouvoir dépasser le max du range demandé.

linearConversion [0,390,-3,0,100,false]; //-0.769231
linearConversion [0,390,-3,0,100,true]; //0
linearConversion [0,390,400,0,100,false]; //102.564
linearConversion [0,390,400,0,100,true]; //100

drawIcon3D

Cette commande te permet d’afficher une image avec un texte à une position dans le monde 3D. Cette commande est pratique pour désigner des joueurs ou des objectifs en créant un tag. Cependant,cette commande ne crée l’image que pour une fraction de seconde. En conséquence, si tu as besoin d’afficher cette image en continue, il faudra appeler cette commande à chaque frame.

Pour afficher par exemple une image de boussole au dessus de la tête du joueur, tu peux utiliser ce code:

onEachFrame {
    private "_private";
    _playerPos = getPosATL player;
    drawIcon3D [
        "\a3\ui_f\data\IGUI\Cfg\Radar\radar_ca.paa",
        [0,0,1,0.5],
        [_playerPos select 0,_playerPos select 1,2.3],
        5,
        5,
        direction player,
        "COMPASS",
        0,
        0.03,
        "PuristaMedium"
    ];
};

Cet article a été initialement rédigé par Killzone Kid, complété, corrigé par Code34

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s