begin process at 2012 05 26 06:26:12
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

3D

 > MOTEUR 3D STATIQUE : DISPOSTION D'OBJETS ET DESSIN

MOTEUR 3D STATIQUE : DISPOSTION D'OBJETS ET DESSIN


 Information sur la source

Note :
8,7 / 10 - par 10 personnes
8,70 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :3D Niveau :Initié Date de création :21/06/2004 Date de mise à jour :26/10/2004 22:54:43 Vu / téléchargé :25 373 / 2 073

Auteur : SuperDevy

Ecrire un message privé
Site perso
Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Comme le titre l'indique, il s'agit bien ici d'un pseudo Moteur 3D.

Vous trouverez ici trois sources, dont deux de 3D et une étant juste un outil.

1) Disposition d'objets sur une grille 3D :
Deux grilles se dessinent sur le plateau principale. Sur la petite grille en 2D sur laquelle on disposer les objets (aperçu du plateau vu de dessus). Et sur la grande grille en 3D isométrique, les objets se positionnent en fonction (c'est le cas de le dire !) de l'emplacement des objets correspondants sur la petite grille 2D.
Gère le devant-derrière grâce à "swapDepths(profondeur)"

2) Points et Dessin :
C'est un effet de 3D. Le dessin se fait au fur et à mesure (enterFrame) en fonction de points prédéterminés dans un tableau. Une fonction unique :
Dessinner(nom du clip, mode, x, y, z, x_curve, y_curve, z_curve)
  nom du clip : indique le nom du clip pour dessinner (createEmptyMovieClip)
  mode : comme pour le dessin en 2D (moveTo, lineTo, curveTo)
  x, y, z : coordonnées 3D du nouveau point (converties en 2D par la fonction)
  x_curve, y_curve, z_curve : de même si le mode est curveTo

3) Enregistrement Coordonnées 2D pour 3D ISO :
Simple outil pour le fichier précédent. Il permet de créer un tableau contenant le coordonnées de votre dessin. Directement réexploitable comme indiqué dans "Points et Dessin".

Source

  • // arf ! Il y a beaucoup trop de code !!
  • // voila quelques bribe ... le reste est dans le zip !
  • function Positionner(Objet, x, y) {
  • _root[Objet]._x = xG+(x+y)*aG;
  • _root[Objet]._y = yG+(y-x)*bG;
  • }
  • // Particulier à l'isométrique
  • function Point(x3D, y3D, z3D) {
  • //X = x+y et Y = y-x+z
  • x2D = (x3D+y3D)*aG+xG;
  • y2D = (y3D-x3D)*bG-(TotalCases-z3D)*hG+yG;
  • //Renvoi sous forme d'un tableau
  • return ([x2D, y2D]);
  • }
// arf ! Il y a beaucoup trop de code !!
// voila quelques bribe ... le reste est dans le zip !

function Positionner(Objet, x, y) {
	_root[Objet]._x = xG+(x+y)*aG;
	_root[Objet]._y = yG+(y-x)*bG;
}

// Particulier à l'isométrique
function Point(x3D, y3D, z3D) {
	//X = x+y et Y = y-x+z
	x2D = (x3D+y3D)*aG+xG;
	y2D = (y3D-x3D)*bG-(TotalCases-z3D)*hG+yG;
	//Renvoi sous forme d'un tableau
	return ([x2D, y2D]);
}

 Conclusion

Une nouvelle source est prévue dés que je l'aurai finie. L'une permettra de mettre du remplissage dans vos dessins 3D ; et l'autre sera un moteur de déplacement d'une voiture dans un environnement 3D. Si vous avez quelques idées à ce propos, n'hésitez pas à me les donner :-)

Dernière mise à jour : correction d'un bug de profondeur. (Certains objets qui devait se trouver devant passait derrière et vis-versa ; de plus, il arrivait que des objets disparaissent car remplacés par de nouveaux objets)

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

26 octobre 2004 22:54:44 :
C'est pas pour les débutants, mais plutôt pour les initiés.

 Sources du même auteur

Source avec Zip TREE AVEC RECHERCHE POUR AFFICHER UN XML.
Source avec Zip RETARDER L'EXECUTION D'UNE FONCTION
Source avec Zip COMPOSANTS POUR NON-PROGAMMEUR
Source avec Zip VOITURE INTELLIGENTE :: OPTIMISATION DE TRAJECTOIRE
Source avec Zip Source avec une capture BONNE TENUE DE ROUTE POUR CES VOITURES.

 Sources de la même categorie

Source avec Zip Source avec une capture FORMULE 1 3D par gremlins7
Source avec Zip Source avec une capture GET_RELATIVE_MATRIX3D: LE CONCEPT... par top30
Source avec Zip Source avec une capture MENU CARROUSEL FULL 3D CS4 par gremlins7
Source avec Zip Source avec une capture CARROUSEL EN VRAI 3D SOUS CS4 par pegase31
Source avec Zip Source avec une capture UNE TÊTE REGARDE LA SOURIS (ILLUSION DE 3D) par daddy11world

Commentaires et avis

Commentaire de top30 le 22/06/2004 16:19:37

C est très très bon... 9/10 !

Commentaire de SuperDevy le 22/06/2004 16:56:35

Merci Top30.

Aurais-tu une idée pour mettre du remplissage dans mon contenu, parce que ça commence sérieusement à me casser le cul ! Ca me fait tous le temps des trucs Top Bizzards  :[

Commentaire de top30 le 22/06/2004 19:15:52

C est parceque tu utilise un clip par axe ! (rouge, vert, bleu)... Faudrait determiner leur profondeur par un axe le z par explemple
Et tout dessiner dans un seule clip en determinant le sens de dessinage par l axe z par exemple...

Ou fait un clip par trai et par remplissage... Avec toujours le z comme profondeur ? Suis-je clair ?

Commentaire de SuperDevy le 22/06/2004 22:15:41

Merci, je vais tenter de faire ça. Mais ça risque d'être vachement dur !

Commentaire de SuperDevy le 25/06/2004 22:23:50

Alors là mon grand, félicitation !
C'est vraiment un code de génie. Je sens en toi le destin d'un excellent programmeur.
Continu dans cette voie, tu vas faire des prodiges.

bon allez, je te met 10 / 10

Commentaire de SuperDevy le 25/06/2004 22:26:27

Oups, j'ai l'impression de me faire des fleurs. C'est en fait mon frère qui a utilisé mon PC.

Désolé...

Commentaire de SuperDevy le 26/06/2004 20:03:35

La source a été mise à jour.

J'ai corrigé un bug de profondeur.
J'ai ainsi créé une formule permettant de calculer la profondeur d'un point (distance par rapport à l'écran) en fonction de ses coordonnées 3D. j'ai ainsi 2 coordonnées 3D qui me donnent 3 coordonnées 2D, c'est totalement illogique mais nécessaire.

Commentaire de top30 le 27/06/2004 00:28:28

Ben pourquoi pour avoir 2 coordonnées à partir de 3, tu ne calcule spas tes deux avec 2 des trois dispos ??? Si t'as comme un _x, et _y et _z (ou autre). Tu gardes légèrement retouchés (si elles sont pas le _x du _root et son _y) deux des ces trois dernières....

Commentaire de spyro666 le 04/03/2005 09:12:25

c cool mais il est ou le zip?

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,148 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales