Discuss Scratch

Graphique_
Scratcher
16 posts

3D Distance

CONTEXT—

Bonjour , je code un moteur 3D , il a deja du remplissage de face , des mouvement (ZQSD pour bouger ; flèche directionnel pour bouger la caméra) mais je fais suite a UN problème : si j'essaye de générer un cube derier un autre cube , le cube le plus près DEVRAIS apparaitre devant le plus loin , elas scratch le dessine par dessus dans l'ordre , il faut donc trouve lequel apparait le plus proche A LA CAMERA j'ai tenté plusieur technique comme sqrt((Xcam-x)^2+(Ycam-y)^2+(Zcam-z)^2) mais rien ne marche , enfaite tout depend de la direction de la caméra ET de la position du joueur

QUESTION —

Ece que quelq'un serais capable d'expliquer/remixer le projet avec la modification suivant : changer le bloc personaliser ‘C’ avec une formul global qui detect la distance du POINT par rapport A LA CAMERA et ajouter le resultat dans la list ‘D’ (pas Di)

EXPLICATION DES PRINCIPE DU PROJET—

cette section est la plus importante ; voici les variables que vous aurez probablement a utiliser ; x2,y2 ,z2 (position du point) ; V/H (direction de la camera Vertical/Horizontal) ; CamX,CamY,CamZ (position de la camera)

MERCI INFINIMENT DE VOTRE REPONSSE , BIEN QUE LA MISSION SOIT DIFFICIL A RESOUDRE.

PROJET 3D ENGINE
Lu_Li_49
Scratcher
500+ posts

3D Distance

Graphique_ wrote:

sqrt((Xcam-x)^2+(Ycam-y)^2+(Zcam-z)^2)
Bonjour, votre code pour avoir une distance est pourtant bon, voici le vrai calcul scratch :
Graphique_
Scratcher
16 posts

3D Distance

je sait , sa parait bon mais ce ne l'est pas , il faut prendre en compte la direction de la camera car les variables x , y , z sont changer par raport a leur position sur la camera , si on objet est au 1er plan et qu'on tourne la camera rien n'est sensée se passer , pourtant avec ce code et cette definition des variables si on tourne la distance peut changer ce qui est FAUX , il faut donc implementez la direction dans le code
Graphique_
Scratcher
16 posts

3D Distance

Finalement ne t'embete pas j'ai trouver une formul qui marche ! cos(x2)+cos(y2)+cos(z2) ! car les variable x2 y2 z2 son par rapport a la caméra !

Powered by DjangoBB