web-dev-qa-db-fra.com

Meilleur moteur 3D Java Engine

Vous recherchez une 3D Java Engine API (c'est-à-dire pas wrapper) facile à utiliser qui a une bonne communauté et un bon développement. Des fonctionnalités supplémentaires (c'est-à-dire audio, entrée, etc.) ne sont pas nécessaires mais agréables.

Liste des Java API graphiques 3D les plus populaires que j'ai trouvées:

Wrappers/Low Level

  • JOGL - Forte communauté/Bon support/Actif
  • Java3D - Abandonné (ou mourant lentement), éliminé progressivement le graphique de scène (ou ré-outillé dans JavaFX?)
  • lwjgl - Ouvrir GL wrapper, avec gestion audio et entrée/Actif

Moteurs

jMonkey Engine - Wikipedia - Actif

  • Branchement entre la version 3.0 et 2.0 (peut nuire à la communauté)

ogre4j - Wikipedia - Actif

Bindenlicht - Pas de Wikipédia! - non actif


Haut niveau (non conçu pour les jeux)

  • Traitement - Ne semble pas adapté aux jeux mais aux visualisations graphiques et aux démos
  • Jzy3d - Une interface facile à utiliser Java API pour les graphiques 3D (surfaces, éparses, graphiques à barres, etc.). Construit sur JOGL

Mise à jour : Veuillez choisir un moteur Java et expliquer pourquoi c'est votre choix! Merci!

37
yxk

Je regarderais Ardor3D et reverrais JMonkeyEngine.


Ardor3D

MISE À JOUR: Le développeur d'Ardor3D a cessé le projet , mais un sous-ensemble de celui-ci continue d'exister

Créé par le (s) développeur (s) JMonkeyEngine d'origine qui a décidé qu'une pause nette était nécessaire afin qu'ils puissent recommencer et utiliser toute l'expérience acquise pour créer une meilleure API et une meilleure plate-forme.

Les personnes que je connais qui ont utilisé Ardor3D ont des choses très positives à dire sur sa conception et son API. Il est activement maintenu et dispose d'une bonne communauté et d'une bonne documentation API, bien que les tutoriels soient un peu courts et que vous devrez généralement vous familiariser avec les concepts de programmation 3D pour pouvoir les récupérer.


JMonkeyEngine

Une réécriture de JMonkeyEngine 2 menée par la communauté, motivée par l'insatisfaction à l'égard de la conception JME2 et des problèmes connexes causés par cette conception, est devenue de plus en plus forte depuis sa sortie.

Il existe une documentation abondante, y compris des didacticiels et de nombreux projets l'utilisant. Si vous avez eu des problèmes avec JMonkeyEngine 2 ou une version antérieure, cela vaut bien un autre regard sur la version 3.


Autres

13
Charles Goodwin

Vous mélangez des bibliothèques et des niveaux de bibliothèques, Jogl et lwjgl sont tous deux des wrappers assez fins autour d'OpenGl (IIRC lwjgl a plus de wrappers pour OpenAL, c'est-à-dire audio). Bien que vous puissiez écrire un jeu en utilisant pure opengl, vous passerez probablement beaucoup de temps à gérer la géométrie, à construire (ou à réinventer) un scénario et d'autres fonctionnalités de gestion.

Le traitement est principalement orienté 2D.

Je n'ai aucune expérience avec ogre4j, mais la dernière fois que j'ai regardé JMonkey était en cours de développement en regardant 2.0 repository il y a une longue liste de changements qui sont en cours.

Si vous n'êtes pas trop déterminé à utiliser Java considérez certaines des alternatives Torque (Private Scripting Language) Panda3d (python) ou ce qui précède) OGRE utilisant C++. Je ne sais pas de quelles classes et constructions vous parlez dans votre premier paragraphe, mais avoir une bibliothèque ou un backend qui s'occupe de la gestion de la scène, des calculs de visibilité, de la gestion du son, de la boucle de jeu, peut-être même du réseautage pourrait être un meilleur pilote pour votre décision qu'une fonction de langue spécifique.

9
Harald Scheirich