3 étapes pour la construction d'un monde 3D java

En quelques étapes courtes, vous pouvez commencer à créer un programme de 3D relativement simple JavaFX qui affiche le monde en trois dimensions (un exemple est montré ci-dessous). Comme vous pouvez le voir, cet espace 3D comprend quatre formes: une sphère, un cube, un cylindre, une pyramide. Cette courte liste vous montre comment démarrer avec un cylindre.

Sommaire

Mettez votre chapeau de pensée, que cet exemple est assez technique à certains moments, et bon nombre des concepts relatifs à la construction de mondes 3D peut être source de confusion, surtout si ceci est votre première expérience avec la programmation 3D.

Un exemple de programme 3D dans JavaFX.
Un exemple de programme 3D dans JavaFX.

Première étape: Ajouter un cylindre

Dans cette étape, vous ajoutez un objet 3D de base à votre monde. JavaFX offre trois formes de base que vous pouvez ajouter: bouteilles, boîtes, et des sphères. Commencez par ajouter un cylindre:

Cylindre Cylindre = nouveau cylindre (100,50) -root.getChildren () ajouter (cylindre). -

La Cylindre constructeur de la classe accepte deux arguments: le rayon du cylindre et sa hauteur. Cet exemple crée un cylindre grossièrement la forme d'une rondelle de hockey, quatre fois plus large que TALL puis, il ajoute le cylindre pour le nœud racine de la scène.




À ce stade, le cylindre existe dans le monde, mais ne sont pas visibles. Basé sur ce que vous savez des formes 2D, vous pouvez être tenté de le rendre visible par l'ajout d'une couleur de remplissage (setFill) Ou une couleur de trait (setStroke). Mais cela pas comment des objets 3D travail. Dans l'étape suivante, vous découvrirez comment appliquer un matériau à la surface du cylindre de sorte qu'il sera visible dans la scène.

Deuxième étape: créer un matériau

Rendre les faces d'un objet 3D est beaucoup plus compliqué que de rendre les objets plats, bidimensionnels. Pour un objet 2D, vous appliquez juste un Peindre objet via le setFill Procédé. La peinture peut être une couleur simple, un dégradé de couleur, ou une image.

Pour les objets 3D, vous ne demandez pas la peinture. Au lieu de cela, vous appliquez un objet spécial appelé Matériau Phong, représenté par la PhongMaterial classe. Un matériau Phong (nommé d'après Bui Tuong Phong, un expert de l'infographie de pionnier dans les années 1970) fournit les moyens par lesquels les faces d'un objet 3D sont rendu réaliste.

Le code suivant crée un matériau simple Phong basée sur deux tons de bleu et applique ensuite le matériau sur le cylindre:

PhongMaterial blueStuff = new PhongMaterial()-blueStuff.setDiffuseColor(Color.LIGHTBLUE)-blueStuff.setSpecularColor(Color.BLUE)-cylinder.setMaterial(blueStuff)-

Après que le matériau a été appliqué Phong au cylindre, le cylindre sera visible à l'intérieur de la scène, comme illustré.

Le cylindre 3D avec un matériau Phong.
Le cylindre 3D avec un matériau Phong.

Étape trois: Traduire le cylindre

Vous avez sans doute remarqué que le cylindre ne semble pas très en trois dimensions. Voilà parce que vous avez devant vous par la tranche: La caméra pointe droite à l'intersection de l'axe des x et y axes, et le cylindre est centré sur cette même place.

Pour acquérir une certaine perspective sur le cylindre, vous pouvez le déplacer vers un autre emplacement dans l'espace 3D en traduisant les axes x, y et z coordonnées. Par example:

cylinder.setTranslateX (-200) -cylinder.setTranslateY (200) -cylinder.setTranslateZ (200) -

Ici, le cylindre est déplacé 200 unités vers la gauche, vers le bas, 200 unités et 200 unités loin de la caméra. La vue résultant ressemble plus à un cylindre, comme vous pouvez le voir ici.

Le cylindre 3D traduit.
Le cylindre 3D traduit.

Dans cette figure, il semble que si le cylindre a été tourné avant de sorte que vous pouvez voir un peu de la surface supérieure. Cela ne veut pas le cas, cependant. Ce qui a réellement passé est que vous n'êtes plus en regardant le bord sur le cylindre.

Au lieu de cela, parce que le cylindre est en dessous de la caméra, vous êtes à la recherche sur elle. Ainsi, vous pouvez voir un peu de la face supérieure. Vous êtes également le regardant de côté, ce qui explique pourquoi il semble juste un peu inclinée.


» » » » 3 étapes pour la construction d'un monde 3D java